Evaluation Prototype for IMSmobile/app.
Progress is tracked in IMSmobile/app/issue/5
Basic Setup according to Install React Native.
As IDE I'll try out Visual Studio Code with the React Native Tools and Flow Language Support extension.
Fundamentals: http://www.reactnativeexpress.com/
Login Navigation: https://scotch.io/tutorials/react-native-app-with-authentication-and-user-management-in-15-minutes
Login Screen Design: https://www.youtube.com/watch?v=1xu1eeRCPEk
Style: https://github.com/facebook/react-native/blob/master/CONTRIBUTING.md#style-guide
Flow: https://medium.com/react-native-training/getting-started-with-react-native-and-flow-d40f55746809
Based on the Showcase the big ones are Facebook with Instagram and Airbnb. But parts of their apps are contain React Native, most ist still written in the native language. Lots of smaller devs are using it for very fast development speed and ease of development. Generally there currently seems to be huge momentum in the React ecosystems, see for example React VR.
Challenge documentation: Report on how useful it was when developing prototype app, ist there a upgrade guide, do example work (try three)
The official docs could be better: a few pages are very minimalistic and some examples use additional things which are not relevant for the example.
The style of code can be wildly different, some prefer classes and more imperative code, while others use functions everywhere. This is more of a general JavaScript issue.
Lots of community learning content. Some error messages where too generic to be useful. One has to learn to distinguish between JavaScript, React and React Native and Tooling-Errors to find a possible solution.
React Native is licensed under BSD with some special protection for Facebook. A lot of services in the ecosystem are vying for marketshare and are or may be using a freemium model. This may lead to recurring financial costs, depending on the amount of services one wants to depend on.
Some Examples
Yes, with third-party projects like react-native-web, which also lists similar projects. Although it may make more sense to develop a webpage in React and not in React Native.
The React Native Project itself runs extensive tests on Travis and Circle on every PR.
A random example PR leads to these two CI builds
- https://travis-ci.org/facebook/react-native/builds/211286556
- https://circleci.com/gh/facebook/react-native/16607
Can be done with CodePush or similar services.
Yes, implemented with prototype.
Yes, implemented with prototype.
No, but could probably be implemented in native code (Android Docs).
Yes, implemented with prototype on login screen.
Yes, implemented with prototype on login screen.
Yes, with ListView, not implemented/tested.
Yes, with packages like react-native-background-upload, not implemented/tested.
Yes, with normal JavaScript methods (Promises).