Application and Data / Languages & Frameworks / Cross-Platform Mobile Development
Avatar of vishalnarkhede
Javascript Developer at getStream.io ·

Recently, the team at Stream published a React Native SDK for our new Chat by Stream product. React Native brings the power of JavaScript to the world of mobile development, making it easy to develop apps for multiple platforms. We decided to publish two different endpoints for the SDK – Expo and React Native (non-expo), to avoid the hurdle and setup of using the Expo library in React Native only projects on the consumer side.

The capability of style customization is one a large deal breaker for frontend SDKs. To solve this, we decided to use styled-components in our SDK, which makes it easy to add support for themes on top of our existing components. This practice reduces the maintenance effort for stylings of custom components and keeps the overall codebase clean.

For module bundling, we decided to go with Rollup.js instead of Webpack due to its simplicity and performance in the area of library/module providers. We are using Babel for transpiling code, enabling our team to use JavaScript's next-generation features. Additionally, we are using the React Styleguidist component documentation, which makes documenting the React Native code a breeze.

React Native Chat Tutorial (getstream.io)
19 upvotes·1 comment·141.6K views
Avatar of sezgi
Sr. Software Engineer at StackShare ·

I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.

The Expo SDK also provides convenient features like Facebook login, MapView, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/

7 upvotes·2 comments·149.4K views
Avatar of zerbinidamata
CTO | Full Stack Dev at Simplifica ·
Shared insights

We use Expo because it makes the development smoothly and avoids dealing with android and ios files, what helps with the time spent on those configurations. The framework has advanced a lot and now can be used in small productions without any problem, we have not yet had the need to eject the project, and is already in production

4 upvotes·8.6K views