Native vs. Web

Chris Coyier

Still, one gets the feeling that if any of the huge platform-producing tech companies could have their way, they’d have us all writing proprietary apps for their platform only. Right this second, the web feels like it’s in a good spot, but it also feels like the native vs. web battle is a swinging pendulum.

As a native application developer I’ve been waiting for the web to replace all native software development SDK’s, and we’re closer now more than ever.

Web browsers can now persist data locally and work in offline modes. Developers can now write code in many different languages and convert that to Web Assembly. The browser is, essentially, the operating system.

Duct Tape, fixer of all things!At a personal level I want to keep doing native work because it’s nice to use the frameworks as intended and not have to rely on one of the cross platform tools, like React Native, to catch up. But I don’t see a problem with folks choosing web technologies and creating a 100% web app that works great on desktop and mobile.

If anything, old guys like me, should be concerned about web technologies being the choice for everything. When the web happened we didn’t have JavaScript. It was hacked together in a short period of time, a week if memory serves, and named JavaScript because Java was the new hotness. It has all kinds of quirks but it is beloved by developers. Add Microsoft’s TypeScript to the mix and you get some strong typing that spits out as JavaScript.

JavaScript is eating the world and if I want to write code in the future, I’ll have to learn it. 😃

Another thing worth noting: most native apps do use web technologies. We use the internet to pull data from the web and render it using native OS support instead of web technologies. My app, Stream, uses RSS, Atom, and JSON Feed, feeds from any website provided by the user. That’s all web stuff.

Chris Dixon

This is a worrisome trend for the web. Mobile is the future. What wins mobile, wins the Internet. Right now, apps are winning and the web is losing.

Red sock.Mr. Coyier’s piece sounded so familiar I went back through my blog and found a link to Chris Dixon’s piece above. In 2014 folks were worried about native apps beating the web. It hasn’t happened. The web will keep chipping away until it’s all we have or the web is completely replaced by something else.

More React Native

Microsoft Cash Cow.

Microsoft: “React Native isn’t just for mobile! Check out how the Windows 11 Settings app is leveraging React Native for Windows to deliver new features and capabilities to users faster and with the same great visual fidelity as Windows 11.”

I find it so strange Microsoft would choose to use React Native for features in the OS. They have C#/.NET which is a wonderful choice and highly optimized for Windows development. It also works with Windows UI 3.0.

The only reasons I can come up with are: 1) they’d like to demonstrate it can be done. 2) they don’t have developers working on this “feature” with the skill set required to do it in C++ or C#?

Brain in a jarThat second one is a real stretch but I just can’t resolve in my own brain why you’d choose this over your own tools?

Red Shift: “So let’s cause some drama and ruffle some feathers, and talk about why Flutter is better than React Native… in all the ways that don’t matter.”

One glaring downside to Flutter is it doesn’t do native UI. It’s all rendered by them. That is a pretty crummy thing to do.

I could see giving this a go for RxCalc if it used native controls. It has decent support for using C++ libraries and RxCalc’s calculations are C++.

Ward Abbas: ”After 3.5 years of working at Wix, mobile R&D, infrastructure team and as an ex-owner of react-native-navigation, i can shed the light on many issues directly related to the RN architecture (new and old) and indirect stuff that the framework can easily cause bad stuff more than good.”

More negative feedback about React Native.

Part of my consternation regarding React Native is the ecosystem seems “loosey-goosey.”

Lots of node dependencies dragged along for the ride and node has its own issues.

However, to make things better you have to get involved.

The New Mobile Developer

Welcome to the modern definition of a “mobile developer.”

If you know JavaScript you’re golden. It’s no longer about native apps, it’s about leveraging web tech, and getting the most bang for your buck.

Learn the JavaScript if you want to have a job moving forward. Personally, if I were to use a cross platform development platform I’d probably choose Flutter.