3 ms·
All those solve the "two codebases" problem by piling levels of complexity one on top of another. It's fire-sure way to make developers unhappy and code unmaint
by divan 7y ago
All those solve the "two codebases" problem by piling levels of complexity one on top of another. It's fire-sure way to make developers unhappy and code unmaintainable in the long run.
React Native was the best shot in this market, but adding the worst UI framework in the history of software – typesetting markup language (HTML), set of global classes for styling with magic words like "!important" (CSS) and hackish scripting language designed under pressure from Sun in 2 weeks (Mocha, renamed to Javascript) - on top of the already complicated stacks yielded all sorts of problems: from dependency management hell to unforgivably slow UI. Even AirBnB – the largest React Native shop over there – abandoned it altogether and returned to native iOS/Android development. My own experience working with React Native project for 1.5 years (with ClojureScript added on top for coolness) just reassured me that 5 layers of complexity is worse than 1 layer :)
Flutter design is so sick, that unless I'm writing own native plugins, I don't even touch iOS/Android layers. So it's basically single layer of complexity from the perspective of the developer and it's a game changer in this field.
- jiofih 7y agoThere is no HTML or CSS in react native. Are you sure you didn’t work with plain React in a webview instead? I can’t even imagine trying to add another compiler (ClojureScript) to its build process. AirBnB abandoned it for other reasons - mostly difficulty integrating it with existing native codebases and developer pushback, without fully commuting to it. MS Office, Shopify and a host of other products are fully invested now. Flutter doesn’t have native UI, so I don’t think it compares well (or will catch up for non-gaming/casual apps).