Live data from Hacker News

Building all of our new mobile apps using React Native

engineering.shopify.com

431–440 of 588 posts

Re: Building all of our new mobile apps using React Native

#431

Earlier quoted context omitted.

They all have the same issues, but RN has the largest community.

Flutter has a larger number of "star" on Github. It also has more issues and more pull requests. React Native has 3x more followers on Reddit. So I guess it depends on your definition of community.

Flutter is only in beta for desktop and web. And it's emulated UI, not true native UI.

RN is ready now and today for all platforms, including Window via react-native-windows.

Microsoft is choosing React, I wouldn't go w/ Flutter.

Why would you choose a Google only language and framework... unless you like rewriting code when it dies.

Also, w/ React you can use TypeScript or JS, you don't have to learn a new language.

From my perspective, it looks like Google pays a lot of money for these tech articles and stars, it's not a really good way to look at things. There's always a Flutter campaign going on.

Re: Building all of our new mobile apps using React Native

#432
15 years in the industry has taught me to always have an exit strategy.

React is the cool thing now but it wont be in 5 years. Make sure you can decouple and reuse your APIs with whatever comes next.

And always remember that a native app will always give the best experience. Cross-platform tools aren't perfect and sometimes the cost of 'write once debug everywhere' is higher than 'write everywhere' especially if you suddenly need to do something niche.

Re: Building all of our new mobile apps using React Native

#433

Shopify is right to use React Native. I build an app with React Native Web and we produce Android/iOS/web from the same code base with 3 developers. No, it's not perfect. Yes, JS can be awkward and confusing. Yes, a truly native app built by expert platform-specific developers would be better. But I'm able to ship this product with less than half the team size I would need for native development. JavaScript developer…

> No, it's not perfect. Yes, JS can be awkward and confusing. Yes, a truly native app built by expert platform-specific developers would be better. This can't be understated. You can always tell when you've opened a React-Native (or similar "portable") app. It always feels like shit.

[deleted]

Re: Building all of our new mobile apps using React Native

#434

> The first is a tooling team that helps with engineering setup, integration and deployment. The second is a foundations team that focuses on SDKs, code reuse and open source. They have a whole team to set up tooling for React Native. I wasted many days trying to do this work on my own. They also have a whole team for evaluating 3rd-party libraries that provide functionality missing from React Native, such as letting…

How has flutter compared?

It emulates the UI, so the fake is noticeable, and it will be hard for them to maintain perfect 1:1.

RN on the other hand bridges the native UI w/ your code via a JS bridge. The downside is the bridge can be a bottleneck so you have to be careful how much you congest it. The result is being able to expose every native functionality and abstract it anyway you want using React extensions.

Flutter plans to target desktop and web, but RN is ready for this today.

Flutter requires you to learn Dart, a Google only language. RN you can use JS or TypeScript.

Are you really going to trust that Flutter & Dart are around tomorrow w/ Google's record? Why oh why would you build your project with something that risky.

Re: Building all of our new mobile apps using React Native

#435
post #382
post #202

Earlier quoted context omitted.

you act like whatever something is right now is the same in the future. It's quite possible they see RN as the future for all products and easing there way into things. Maybe they are struggling to find Java/Kotlin devs and have a surplus of Swift devs. So no, that does not really just say it all.

I think you’re touching on something extremely important here. IME, anecdotally, not backed up by data: experienced native Android devs are getting harder and harder to find. The ones I’ve known personally hated it so much they moved to backend or full stack jobs.

Interesting, I always thought it would be harder to hire iOS devs since the initial cost is higher - you need to buy a more expensive Apple computer and pay an yearly $99 subscription just to get started.

For that reason I thought that there would be way more Android devs. After all, a teenager with a regular computer can start developing Android apps and download the APK in a cheap Android device without paying anything.

On the other hand you mentioned _experienced_ native Android devs, while my thought applies more to junior Android devs, and maybe the two things don't correlate as well as expected.

Re: Building all of our new mobile apps using React Native

#436
post #379

Earlier quoted context omitted.

> Honestly I think the future of mobile will just be... mobile websites. Indeed. A lot of people still think that native is superior than web but the problem is that most websites are bloated pieces of crap. If anyone doubts this check the Missive email client on iOS which was even featured by Apple on the AppStore and runs on Cordova: https://medium.com/missive-app/our-dirty-little-secret-cross... (sorry for the Med…

I didn’t have to go any further than the login and signup screens to see that it doesn’t feel native. - No transitions between screens, just jumps - Tapping field brings up keyboard, then whole screen jumps up about 30 pixels instead of smoothly animating - Scrolling while there’s a blinking cursor has cursor detach from field until you lift your finger - Doesn’t respect dark mode - Doesn’t respect dynamic type consi…

You think all of those are inherent flaws of using a webview?

Some of those are because the developer didn't implement them (transitions, dark mode) and others are because Apple didn't implement them in WKWebView to follow the OS behaviors (cursor, keyboard). Not sure about your comment about the text size or the display artifacts.

Re: Building all of our new mobile apps using React Native

#437

Earlier quoted context omitted.

Ten years ago Facebook fought this battle and lost. [1] [2] [3] [1]: https://www.facebook.com/notes/facebook-engineering/using-ht... "Using HTML5 Today" [2]: https://appleinsider.com/articles/12/09/11/facebook_admits_h... "Facebook admits HTML5 not competitive with Cocoa Touch" [3]: https://techcrunch.com/2012/12/13/facebook-android-faster/ "Facebook Speeds Up Android App By Ditching HTML5 And Rebuilding It Natively…

It strikes me that, more than anything, it is the lack of an efficient "Add to Home Screen" flow, that has doomed mobile websites. ...and it's intentional. By having an app store, mobile OS distributors know that they have control over a massive revenue stream.

Apple has an "add to home screen" option. Its in Safari.

Re: Building all of our new mobile apps using React Native

#438
post #70

Earlier quoted context omitted.

It can't be overstated how many apps are absolutely dependent on working push notifications (all chat for example) and can't be replicated as websites. And that's not yet implemented for iOS so we're all at Apple's mercy until it is, which may never be.

Even if you think your app depends on push notifications, your customers don't necessarily want them. I would bet that in 98% of the cases you have in mind, I would be perfectly happy to use the functionality without push notifications. (For example, "all chat". Even if your app is capable of chatting with me, I doubt I actually want it to.)

Building a chat app without notifications is a good way to get exactly zero users.

Re: Building all of our new mobile apps using React Native

#439

Earlier quoted context omitted.

If you can’t afford $900 for a Mac Mini and a 1 year developer license and can’t sell anyone on letting you borrow the money, is it really a great idea that would stand out among the million of apps out there? Also, you don’t have to buy a Mac. You could always pay Mac Mini Colo $80 a month and develop remotely.

There are places in the world where developer labour (especially if the developer is trying to work for himself) is far cheaper than the 900$ capital investment of what essentially is 500-600$ worth of hardware with a shiny aluminum case. Don't forget that not everywhere in the world developers have to choose between several jobs that pay tens to hundreds of thousands of dollars a year.

So these same people couldn’t spend $300 on a used 2014 Mac Mini but could buy a PC?

Re: Building all of our new mobile apps using React Native

#440
post #369

Earlier quoted context omitted.

As a developer of a pro app in a niche market trying to make a living on the app store, i can tell you those 30% are what prevents me from working full time on my app.

If your app was such a great one, you couldn’t convince your customers to pay enough to make up the difference?

Marking things up 43% generally impacts sales.
Post reply on HN