HackerTrans
TopNewTrendsCommentsPastAskShowJobs

sero

no profile record

comments

sero
·11 ปีที่แล้ว·discuss
I totally understand why you'd feel like this, but I think there are two big reasons why this is only true to a lesser extent with RN:

1) There are a ton of native APIs that accomplish exactly the same things, but have different APIs because different people built them and there's no pressure to make them consistent. Examples: layouting (just calculate x, y, width, height's of a view tree), animation, storage, networking, touch handling, the list goes on... it's a waste to have to learn the implementation specific quirks of each platform.

2) We've focused on making sure we can make apps at least as good as the native ones for the platform. Specifically this has meant exposing platform specific apis (e.g. Android's material touch ripple, iOS's gaussian blurs, etc), allowing arbitrary new ones to be added, and encouraging designers to still design their apps for each platform individually.
sero
·11 ปีที่แล้ว·discuss
There's unfortunately a lot of non-overlapping work so we decided to release what we have finished incrementally. Most of the team uses OS X for development so it was a natural first choice. We're planning on adding the missing Windows and Linux support soon!
sero
·11 ปีที่แล้ว·discuss
I'm not exactly sure of your circumstances, but this sounds doable.

The public React Native API allows you to expose arbitrary pre-existing Views and expose new native functionality in modules accessible from JS. These can be written in java (or in C/C++ and exposed via JNI -- and if you structure your code properly you can also share that native module with an iOS RN app if you'd like).

We also support having just part of the app, e.g. some of the screens, written with React Native. This is what we do with the Groups app.

The main thing to be aware of is that splitting app logic and data management between JS and native will mean that you need to be careful with cache consistency between the two.