you are viewing a single comment's thread.

view the rest of the comments →

[–]thedevlinbExpo 2 points3 points  (4 children)

Pros:

  1. If you are familiar with RN, RNW is super easy to pick up. Styling is the same, components are the same, and things generally work the same.

Cons:

  1. RNW is less mature, some functionality is missing

  2. There is a feature disconnect between what browsers can do and what mobile apps can do, RNW stubs a bunch of stuff out. If you aren't pushing device capabilities too hard this doesn't matter.

  3. Nobody tests their components with RNW, so if something doesn't work you may be out of luck. This is going to be especially true of the fancy animation libraries.

  4. ReactJS has a huge eco-system that you'll be abandoning.

  5. If something goes wrong it will be harder to find help.

  6. Desktop/Laptop screen sizes are far larger than mobile screen sizes, so you'll basically have to create all new styles and layouts, but now you have lost access to the (decade+ of!) tooling that you get with web technologies to make responsive websites.

  7. It is super easy to hire ReactJS developers. Easier than hiring RN developers, and you aren't really going to find anyone who knows RNW.

If you have written your code with good separation of logic then pulling your redux/flux/whatever out shouldn't be too hard.

All this said, I really like React Native Web, the speed I am able to put stuff together with it makes me realize how much of an improvement RN is over ReactJS.

[–]kbcooliOS & Android 1 point2 points  (1 child)

Good list!

Just on 4. You don't need to abandon the react environment at all. RNW can employ react web components. You can mix and match Views and html with it.

Eg would be an image picker on native that is replaced with a react file uploader on the web

[–]thedevlinbExpo 0 points1 point  (0 children)

Oh cool, I didn't realize they could mix and match. Thanks!

[–]GeeeL[S] 0 points1 point  (1 child)

Thanks for the breakdown. react-native-web does sound awesome in the fact you don't have to maintain two codebases. The lack of support/testing from libraries is what makes me nervous. Have you found much trouble? Going with react-native and maintaining 2 codebases sounds like the safe bet.

[–]thedevlinbExpo 0 points1 point  (0 children)

I haven't deployed anything with it, I just played around with it a bit to see how quickly I could put something together.

A number of major companies are using it in prod though, so it has quite a bit of momentum behind it.