Live data from Hacker News

Building all of our new mobile apps using React Native

engineering.shopify.com

471–480 of 588 posts

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

#471
post #59

Anyone know where React Native stands in modern development - especially when compared to Flutter and the upcoming Compose. All the native frameworks are also React inspired. I personally love the work done by Airbnb for its Android MvRx framework. Again, React inspired

React and it's model are great. React Native on the other hand is leaky, heavy and you'll spend a bunch of time fiddling with packages, upgrading them, tracking down weird linking issues and ultimately writing some Objective-C / Java code to debug / glue / fix whatever native API you're dealing with. Thats only from my experience though. I would much rather the Compose / SwiftUI direction.

I had a similar experience.

I was also frustrated by the Redux stack, which was odd because I quite like it on web. But in RN, I kept thinking over to how networking and data work in Cocoa Touch and Swift and wondering why we were building these byzantine solutions to problems that iOS already had built-in, elegant solutions for.

Now I’m digging in to SwiftUI, which seems to take best from AppKit and React... I don’t think I’ll be doing another RN project.

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

#472

Earlier quoted context omitted.

I'd really hate it if browsers are capable to run in background and accessing microphone or camera. Especially if the tab is closed.

Buy why? People use those apps every day and fine with it. Why browser is bad? You'll still need to give your permission to do so anyway.

I'd say bloat is bad. And as the browser comes to encompass more OS functionality it does so more poorly than the underlying OS could.

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

#473
post #436

Earlier quoted context omitted.

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.

Not really interested in tracking down who is responsible for what. My point is that literally every single time someone comes along claiming that their hybrid framework or app is indistinguishable from native and I go check it out, it’s obvious within 30 seconds that it’s a poor substitute.

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

#474

Earlier quoted context omitted.

"(impossible on native because of the multi-day process required to build an ios app for the first time)" What??? how is it multiple days to build an app for the first time? It takes minutes and if you are being pedantic by including App Store review it tends to be under 24 hours for new apps and under 6 hours for app updates now. Plus you can distribute to your own team instantly through TestFlight.

installing the right version of xcode & getting required libraries -- my experience may have been particularly bad because of the ios 13 / swift 5.1 release, but the fact that these tool versions are linked to the xcode version is the root cause here

Devils Advocate:

Fiddling with React Native tooling on day 0 is just as terrible. I may argue it's worse.

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

#475

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.

> You could always pay Mac Mini Colo $80 a month and develop remotely. In my country, one of the electronics stores has this thing where you pay about 35 USD per month, each month for 24 months, to have a MacBook Air in your possession, but which you don't own. So I guess in a way it is sort of rent/leasing. But the nice thing is that after the 24 months are up, you will be able to exchange it for a new model. It's s…

>In my country, one of the electronics stores has this thing where you pay about 35 USD per month, each month for 24 months, to have a MacBook Air in your possession, but which you don't own. So I guess in a way it is sort of rent/leasing. But the nice thing is that after the 24 months are up, you will be able to exchange it for a new model.

Interesting. That sounds like a so-called operating lease, which is quite common in my country for business technology purchases, and other operating assets that become outdated quickly and need to be rolled over every few years. It's similar to a regular financing arrangement (where a customer may spread the full cost of acquiring some asset over X months instead of paying in full up front), but the customer never actually owns the asset.

Instead of paying the full cost gradually via monthly payments, an operating lease is structured so that there will be a somewhat large residual payment due if the customer wants to keep the asset at the end, which allows for lower monthly payments. And, as you mentioned, encourages the usual situation where the customer returns the items at the end of the term, and immediately takes out a fresh lease on some new technology.

Since the customer taking out the lease never owns the asset, they needn't depreciate it or worry about other long-term asset concerns, and can treat the payments as deductible operating expenses rather than as the purchase of a fixed asset that would go on the balance sheet. Paying a predictable expense every month for your equipment can often be more manageable than making one big capital outlay every few years, and sometimes has tax advantages too.

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

#476
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.

Honest question: is there some reason you can't use standard web tech for push notifications? ie polling, WebSockets, etc?

I was under the impression that under memory pressure all of the tabs in every mobile browser (Firefox/Safari/Edge) I have ever used is unloaded by iOS.

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

#477
post #369

Earlier quoted context omitted.

Most of the money being made on the App Store is for in app consumables from pay to win games. You’ll have to forgive me for not shedding a tear for them. I hope Apple Arcade takes a huge chunk of their revenue. It’s not indy developers trying to make a living. The other types of apps that use to make Apple a lot of money are streaming services. But most of those are now not allowing you to do in app purchases. I’m l…

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.

There are thousands of desktop app developers that never got out of the hobby stage because they couldn’t get past the costs of processing payments, managing refunds, managing download servers, implementing licensing frameworks, implementing a smooth upgrade process, search engine optimization, establishing enough trust with users that they are confident they aren’t installing malware infected software, marketing, push notification infrastructure, and probably a few other things I’m not thinking of.

It’s probable that 30% is too much to pay for help with all of that, but people too often act like Apple’s just taxing them and providing no commensurate value at all.

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

#478

Honestly I think the future of mobile will just be... mobile websites. What's missing until regular websites have parity with mobile apps in functionality? - Accelerometer and all sensor support (some of these are already supported on various browsers on various OSes) - Background support - Bluetooth - WiFi - Better notifications - etc. Sure there will always be a need for native, but 99% of apps don't need any of th…

Ads and Exposure. Ads: Make a native app and a PWA, put a banner at the bottom. You'll get more from the native app. Exposure: I made some stupid apps and without any SEO I get 10K-50K installs, you can't get that with a PWA and Google Search. I'm 100% for PWA because I can't take anymore monopole shit from google play and his rules, but that's the reality.

Ads are the past.

The future is getting paid to make the app that actual is useful

Hmmm... What are these "ads"? Says the uBlock kid....

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

#479

I'm surprised no one is mentioning this: "At the beginning of 2019, we did a 6-week experiment on our flagship Point of Sale (POS) app to see if it would be a good candidate for a rewrite in React Native. We learned a lot, including that our retail merchants expect almost 2x the responsiveness in our POS due to the muscle memory of using our app while also talking to customers. In order to best serve our retail merch…

That really just says it all doesn't it? It's basically an admission that the use of cross-platform frameworks is worse for customers/users, but they're going to ignore that to optimize for their own software engineering org.

It doesn't necessarily have to mean that. If performance is generally good enough, then the ability to do things like add critical features, patch bugs, and refine the app much faster is much higher value for the user and Shopify.

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

#480
post #130

Earlier quoted context omitted.

You say that like writing plugins is hard or undesirable.

That's what I don't understand when people criticize frameworks like React Native... "I didn't like that I had to build 15% of the app in native code, so I ditched RN and now have to write 100% of the app in native code, but twice and in two different languages"?

Well, React Native always gets a bit advertised as you don't need to know any native programming knowledge but that's not true. That's what I tried to say.
Post reply on HN