This document lists frequently asked questions when developing Shoutem extensions. If you don’t find an answer here, try to find it on Stackoverflow or feel free to ask it there using
Shoutem is a simple modular architecture for building React Native apps. It allows you to use everything from React Native, including native packages, without any special setup. The modular architecture allows developers to create reusable packages, called
extensions, which can be easily installed into multiple apps.
There are a number of benefits of using Shoutem on top of React Native:
Yes! Shoutem is completely free and open sourced for developers. Use unlimited number of extensions in your app. There are some premium features like automated publishing to both stores. See the pricing details here.
There’s no lock-in. Use
shoutem clone command to download all the code locally, or feel free to fork extension source code from the GitHub repository. The
shoutem clone command will download the code for all the extensions installed into your app.
Shoutem app is a plain React Native app. We firmly believe that architecture that Shoutem introduces is the right way to do React Native apps. You should think of your app as a collection of multiple functionalities. Divide those functionalities into smaller modules, which will eventually become reusable extensions.
You can start by wrapping your entire app into one large extension. Using Shoutem, there’s no restriction in how you can use React Native. As the time goes by, self-contained functionalities will become apparent. At that point, you should start dividing them into multiple extensions.
Of course you can! With
shoutem clone you are getting the whole React Native project, the whole app which you can build and publish manually.
You can use editor of your choice. We recommend Visual Studio Code.
There are 2 ways you can run your app locally:
Install Node.js from their website. If you already have it installed, check which version you have with
node -v command. If the version is not in
v7.*.* range, we recommend using nvm to upgrade it.
react-native-cli globally with npm:
$ npm install -g react-native-cli
If the previous commands fails because of the permission issues, run it with
sudo npm install -g react-native-cli.
For this, you only need Node.js v7,
shoutem run command.
Using Shoutem Preview app, you can run your app if custom developed extensions don’t include the native code (since our binary doesn’t have it). If you have native dependencies, setup the React Native local environment. Read more about this in local environment setup tutorial.
This feature is coming very soon!