4 ms·
I've actually had the opposite experience. I've built roughly a half dozen cross platforms mobile apps with React Native now and it has been a really fantastic
by t1amat 10y ago
I've actually had the opposite experience. I've built roughly a half dozen cross platforms mobile apps with React Native now and it has been a really fantastic experience. For the most part, most of the native modules I have consumed from the community have been high quality and are maintained sufficiently (merging PRs, responding to issues within a day or two). Conveniently the surface area of native modules is small, so it becomes trivial to fix or extend them should you run into issues. Building cross platform UI is trivial- between fixed and flex layouts with absolute and relative positioning there hasn't been anything yet I could not build. Apps ranged from brochure-style marketing "apps" with forms and wizards to a application that had augmented reality features using only React Native and without having to create a native module myself (although I have contributed to quite a few now). Recently I have been using `react-native-web` as this repository shows for mobile applications that don't have native module requirements to build cross platform native mobile and web applications that are responsive to all devices (phone, tablet, laptop, desktop, 4k). It's become so easy to do this that I'd probably hesitate to write a standard web application again (given the requirements aligned); doubly so if there was even a remote possibility that the client would want a native mobile version eventually.
EDIT: If you're interested in React Native but don't necessarily want to go through the (very short) motions of getting set up with a local environment, give the web player[1] a shot or take a moment to play with the interactive documentation[2].
[1]: http://dabbott.github.io/react-native-web-player/ http://dabbott.github.io/react-native-web-player/
[2]: https://facebook.github.io/react-native/docs/flexbox.html https://facebook.github.io/react-native/docs/flexbox.html
- Eridrus 10y agoCan you recommend any tutorials/components for making Android UIs with minimal effort? I'm pretty comfortable with JS as a language, but have very little UI experience and my previous attempt to make a simple Android messaging UI was quite painful.
- t1amat 10y agoEither of these[1][2] will get you a good distance. Also, check out Awesome React Native[3] for a curated list. Even if you use one of these component libraries though you will just be deferring learning the basics of React Native layout and decorative styles until later on. It's an unavoidable tax you will have to pay one way or another. Thankfully it's not too hard- the documentation is explicit about what style properties apply to which components (example: `View`[4]) and the `StyleSheet`[5] helper will bark at you if you use invalid styles. [1]: http://nativebase.io/ http://nativebase.io/ [2]: https://github.com/xotahal/react-native-material-ui https://github.com/xotahal/react-native-material-ui [3]: https://github.com/jondot/awesome-react-native https://github.com/jondot/awesome-react-native [4]: https://facebook.github.io/react-native/docs/view.html#style https://facebook.github.io/react-native/docs/view.html#style [5]: https://facebook.github.io/react-native/docs/stylesheet.html https://facebook.github.io/react-native/docs/stylesheet.html
- Mayzie 10y agoUnfortunately, each of those libraries are just 100% JavaScript, not utilising the native Material Design components within Android, and thus end up being _really_ slow, particularly when remote debugging and rendering lots of those components on screen at once. There really needs to be a library which bridges the native Android (and iOS) modules and React Native, in order for React Native to be more useful and used more.