Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I really like React for the web, but after trying React Native it reminded me a lot of Cordova/Phonegap. You'll quickly run into requirements for which you need to install a plugin, and another plugin, and another... of questionable quality and low maintenance activity. So currently I'll stick to just building separate native apps, which also means no cross platform concessions have to be made.


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/

[2]: https://facebook.github.io/react-native/docs/flexbox.html


Can 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.


Either 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/

[2]: https://github.com/xotahal/react-native-material-ui

[3]: https://github.com/jondot/awesome-react-native

[4]: https://facebook.github.io/react-native/docs/view.html#style

[5]: https://facebook.github.io/react-native/docs/stylesheet.html


Unfortunately, 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.


I mostly agree with this comment. React Native offers a really bare bones solution, that you often have to find yourself going out to the community and looking for community supported libraries to make an application that is just a bit more complicated than the React Native tutorial. Even still, libraries that _should_ exist are non-existent or severely lacking.

Development seems slow - they haven't managed to fix their "single-threaded JavaScript" performance woes which has been plaguing them for years, their provided navigators are horrible, they have no "native" default components (no native radio group controls, combo boxes, etc), no built-in push notification support, and their animations and performance are _slow_.

For relatively simple apps without a focus on native "feel", it is fine and very fast to develop with.

*iOS excepted.


I've built a few small apps for internal use on Ionic and have now just started implementing the next one in React. It has oddly been a tremendous joy using React, and I think I appreciate it even more after using Angular for a few years.

I get that one of the advantages of React is that you have so much freedom to configure your app or use the exact modules you want. But trying to do that right now has been a downright nightmare. I've spent most of my time resolving dependencies issues or navigating open Github issues trying to get some basic things to work.

The underlying conceptual model is extremely solid, though, so I'm figuring it is well worth it to put up with some of this pain right now as a sort of investment.


have you looked at nativescript ? similar to react native, but it doesn't require building handmade boilderplate code to bridge into native. they have automated that stuff.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: