Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
Go native or go home!
I know solutions like React will save time and cost but do we ever get the same performance as native? -
Maxeh8007yNo you dont get the same performance, but still RN is much better than ionic. If you want a perfect app, you have to go native.
-
silot927yIf you want a website that can also work offline use ionic or even better develop a progressive web app. For everything else go full native.
-
@gitpush For the vast majority of apps (excluding games, intensive apps, etc), you won't see a significant difference in performance between native and RN.
-
scrapes1687yThat's exactly what I was looking for, for over a year!
I tried intel XDK but jeez... No.. -
Maxeh8007y@justsomeguy Well thats simply not correct. You cant see the difference directly, but the app is slower than a native app. Best example is the tabNavigator from react navigation. When you compare switching tabs in a RN app to an app like whatsapp for example you directly see what I mean.
-
Maxeh8007yTitanium by Appcelerator, which is used by devRant, seems to work even better than RN. But dont forget, RN is still in version 0.5.
-
@Maxeh React Navigation isn't technically part of RN officially yet. You have to download it as a separate framework. It's not even a finished product.
This would be an example of a poorly implemented component and not an accurate representation of the difference in performance between RN and Native. -
Maxeh8007y@justsomeguy well this argument does not really hold as RN is not really usable without packages like react navigation. And some parts of react navigation run in a JavaScript environment, thats why it is laggy sometimes.
-
@Maxeh There are multiple other routing packages available. React Navigation is just the "official" one, which isn't yet a finalized product.
The delay you're seeing has nothing to do with the fact it's written in JS.
Download the React Native UIExplorer and play with the UI. You'll notice there's no delay in any of the components. -
Maxeh8007y@justsomeguy of course it has something to do with JavaScript. Because parts run in a native thread and some parts in a js thread. Thats why there are sometimes performance issues. For a smooth experience everything has to run native.
-
@Maxeh When you build a RN app, the UI components are compiled into Java files. You can actually see this by going into the Android build folder. They are, by definition, "native" files. You can even modify the Java files directly after wards to optimize the generated code.
Of course, RN isn't even a finished product, so judging its performance at this state, is rather unfair IMHO. It's far from being optimized.
Of course, native is always better. I never disagreed. My initial comment was that there was no SIGNIFICANT difference in performance for non-intensive apps. There is a keyword there. And my point is easily proven by the UIExplorer app. -
Maxeh8007yStill it is important to distinguish the native and javascript thread:
"Another example is responding to touches: if you are doing work across multiple frames on the JavaScript thread, you might notice a delay in responding to TouchableOpacity, for example. This is because the JavaScript thread is busy and cannot process the raw touch events sent over from the main thread. As a result, TouchableOpacity cannot react to the touch events and command the native view to adjust its opacity."
More information on this:
https://facebook.github.io/react-na...
Related Rants
-
lee-min-base6410I don't know what's wrong with my project. But somehow, this is the screening when you debugs a React Native a...
-
uuid7*while still in bed, watches couple of videos of Google presenting flutter and building apps in less than 30 m...
-
k1rushqa4Went to hackathon @ Google HQ in NYC. Gotta say it was pretty shitty. Most people are JavaScript nerds and som...
Do you plan to develop a mobile app which works cross platform? DONT USE IONIC(2). JUST DONT. Thank me later. Have a look at react native (not perfect but much better)
rant
ionic2
react native