I wonder if Shopify did their homework and looked at Flutter. Flutter seems to meet their objectives more than React Native does. And as an added bonus, Flutter is easier to reason about, has edit and continue, and is more performant. Perhaps the use of Dart instead of Javascript was a deal killer though?
They talk about looking at flutter in the article.
Building all of our new mobile apps using React Native
151–160 of 588 posts
Re: Building all of our new mobile apps using React Native
#152Earlier quoted context omitted.
Don't know last time I tried React Native and wanted to use some cool feature of iOS. I either had to write my own RN plugin in Swift/ObjC or wait for someone else to do it.
You say that like writing plugins is hard or undesirable.
Re: Building all of our new mobile apps using React Native
#153Earlier quoted context omitted.
Exactly this. They are very different systems. Flutter renders onto a "canvas" and has a completely custom implementation of "native-like" views for each platform. They need to reimplement everything about platform views from scratch. React Native lets the native OS render actual native views, but lays them out and controls their properties using Javascript. You get the native behaviours "for free", but you do someti…
Yes. The common denominator isn't as low as one might expect. I'd guess at least 90% of all apps could be easily done with React-Native.
As a C developer, man, Flutter looks pretty damn logical!
Re: Building all of our new mobile apps using React Native
#154Earlier quoted context omitted.
Tricky question. They start as web apps since they're built with mostly web technologies, but then they're compiled as native apps with native components and they don't run in the browser. So, I'd lean towards "no" -- they're not web apps at runtime.
React Native apps do not use web technologies.
Re: Building all of our new mobile apps using React Native
#155Why not ionic react? https://ionicframework.com/blog/announcing-ionic-react/
Re: Building all of our new mobile apps using React Native
#156I don't understand why so many large companies use platform abstractions. At a certain size you're big enough to have an iOS team that develops natively in Swift/ObjC and an Android team developing natively in Kotlin or Java. Developing directly for the platform, with expertise in that platform, is a proven long term bet. Screwing around with platform abstractions seems much riskier. The situation is a lot different…
You also get into all kinds of platform and feature parity issues. "Why can't we do X on Android but only on iOS?", "Well because they're two different teams, with different PMs, developers and release schedules. And please don't ask about the web team, who are in ".
Using abstractions you can have one massive "core" team, and several smaller platform expert teams. On the face of it, it makes sense.
Re: Building all of our new mobile apps using React Native
#157In short, the future isn't React Native, unless you have a time machine that will allow you to go back and rewrite it.
Re: Building all of our new mobile apps using React Native
#158Can anyone from Shopify directly address the points brought up in the Airbnb posts.
Re: Building all of our new mobile apps using React Native
#159And in a couple of years, "Why we are moving away from React Native at Shopify". Not slamming React Native but the sensationalistic headline. Anyone with a bit of experience in software should know better than making this kind of silly proclamation about the future of your software stack.
I have not seen one good app for android that has been written in react native. Can anyone show me one that doesn't suck in performance?
Re: Building all of our new mobile apps using React Native
#160Curious to hear more about their deep dive into Native, Flutter and React Native as possible technology choices. Hopefully, React Native is not a nosedive ;)
Flutter and React-Native are different directions, I think. For higly customized UIs (think Ableton Live, Photoshop, Excel, etc.), I'd say use Flutter, because of the non-native rendering, it will look the same everywhere. Otherwise use React-Native.