After downloading Townske I get hit by three modal dialogs one after the other:
* notifications
* location access
* query about installing an update, even though I've just downloaded the app. If I select install, nothing happens, no progress bar or anything.
Developing for a platform is more than having native-looking widgets, it also means taking conventions and user expectations into consideration.
I am referring to things like the tab bar which has a back button, having a next button and also page swiping in the intro, not throwing popus at the customer, etc.
The two permissions modals are required by iOS to access those features, and RN definitely has the ability to defer when those are shown.
The update prompt is actually from http://microsoft.github.io/code-push/ which allows us to push minor updates directly to the app without going via the app store. Say goodbye to 2 week time cycles. A newer release of Code Push actually doesn't prompt the user at all, and can download an update during use and load it when the app goes inactive.
As well as devs following good practice with modal dialogues.
I used Titanium to build a cross-platform app, and once I understood what it is writing with my JS, I could ensure native/performant UI elements and animations were being rendered.
Really excited to see how this pans out :`)
I can't agree enough. Apps built with cross platform frameworks like Cordova and React Native will obviously be slower than their native counterparts, but I've seen the framework blamed for bad implementations many times. Once, we tracked down a horribly slow Cordova app down to too many localStorage accesses (solution: indexedDB or SQLite).
I especially enjoyed the subtle transitions and animations. I also saw a prompt to update immediately after downloading the app, which was strange. If you're updating the layout and such directly, then that's actually pretty cool. Is that the case?
I especially like that it gave me the option to register later (also the reason why I didn't get past Curbit intro since registration was mandatory). I was able to dive right in.
It sounds like an IP issue waiting to happen if you are admitting here to sharing 80% of the codebase from Townske (employer) into your Curbit (your personal app).
I've been using React Native on iOS in production since last November for http://townske.com/app,
Over that period, I did hit some performance issues, but the vast majority of those were implementation flaws (i.e. my fault), not framework flaws. Real user feedback has been overwhelmingly positive, including being featured in the app store multiple times.
I just launched another app for iOS and Android last weekend (https://curbitapp.com) that was built with React Native in a few weeks, and shares about 80% of the codebase. I haven't spent any time optimising these apps for performance, other than following standard react best practices and see sufficient performance on both iOS and Android.
For someone who has a web background, React Native is a no brainer. 60fps native UI is generally attainable, you can use the exact same tooling (good dev tools, hot reloading), and you have the ability to pick up a large chunk of your code and put it on Android, or web, or now potentially OSX.