News for hackers. Stuff that matters.
Re:Building all of our new mobile apps using React Native by doctor_eval on Wednesday January 29, 2020 @07:11PM (#22187536)
Ten years ago, Facebook tried with HTML5 -- and 10 years before that Java tried with Swing and then JavaFX. There has always been this push for a "write once, run anywhere" application development platform - long before it was the mantra of Java in the late 90's, or QT a bit later, or React today.

The truth is that the platforms change faster than the cross-platform tools. Swing lost out not because it was horrible to work with, but because they couldn't track changes to the platform fast enough; Swing apps looked dated from the very start. I'm pretty confident this will continue to be the case; HTML apps don't look like native apps unless you do a lot of platform-specific work, and then you maybe would have been better off just building native.

In addition to tracking the look, feel and interoperability of the platform, HTML will always be slower than native, simply because there will always be more ways to optimise native apps than HTML apps.

In the end, there is no one-size-fits all solution. There will always be classes of application for which HTML is good enough, classes for which a blend of HTML and native will get you though, and classes for which HTML will not be good enough.

But I suspect that any sufficiently advanced and popular application will almost always move to native eventually. You just cant't integrate with the platform properly, over the long term, any other way.

Re:Building all of our new mobile apps using React Native by SiVal on Thursday January 30, 2020 @02:15AM (#22189536)
If cross-platform tools are always behind because the native platforms change more quickly--and I think you're correct about that--then so are native apps that aren't constantly rewritten for the latest OS version. And then so are the native apps running on not-newly-upgraded client devices.

And since these quickly changing native OSes change in different ways, remaining "fully native" requires your app to have different UIs and feature sets, not just on different OSes but on different versions of those OSes.

If you have the resources to keep upgrading separate native apps for all the latest combinations of hardware and OS while also maintaining older versions, with different UIs and feature sets for each, you can have all the benefits of "native". Anything less, and you are deciding to live with less than "full native" and have to decide which compromises to make.

In that case, you might go for maximum speed with a consistent--therefore non-native--UI (PhotoShop), or good-enough speed with non-native UI that runs consistently and on even more platforms (a web app), or give up all but one OS but support all OS versions on all hardware (some dental office Windows app that hasn't changed for 15 years), or whatever. Or some cross-platform toolkit that will never completely keep up with "native" but might be okay, because you can't keep up with native either.

Re:Building all of our new mobile apps using React Native by alexsexotic on Wednesday January 29, 2020 @07:46PM (#22187819)
Did you ever heard of WeChat? The Facebook quivalent of China, which is on its own an operating system serving many miniapps. What's interesting about it it lets other apps access qr scanning and the WeChat wallet for payment.
Re:Building all of our new mobile apps using React Native by paulryanrogers on Wednesday January 29, 2020 @11:35PM (#22188865)
Is WeChat an example of React Native?
Re:Building all of our new mobile apps using React Native by fauigerzigerk on Thursday January 30, 2020 @07:52AM (#22190970)
I don't think so, but WeChat hosts so called mini programs that are implemented using Web(ish) technologies. There's a million of those mini programs with 750 million monthly active users. So it's an example of successful mobile Web apps if you will.