Hacker News new | ask | show | jobs
by crispinb 2472 days ago
I think if you are starting mobile app development, learn the basics of the 2 main native stacks (iOS, Android). Preferably learn one of them well. A couple of years ago I might have suggested web (PWA's) as a third kind of 'native' app, but that route seems to have lost traction.

In my experience, you'll be a better x-platform developer if you know at least the basics of the native platforms you're targeting.

This is not to say that native is the best choice for all apps. You may find that flutter or React Native suit a particular project best. You may ultimately prefer to specialise in one of those. But that's a separate issue from what you should do starting out.

2 comments

Quite the contrary, what I have seen around here is that what would have been a Cordova/Ionic project, nowadays is usually done as PWA.
Well it's only an impression I have. I'm not seeing much use of PWAs in the wild, and there seem to be fewer articles touting them, but that's just my sample. If what you say is true, I'd be pleased.
Even Microsoft has replaced their JavaScript UWP bindings (WinJS) for PWAs.

https://developer.microsoft.com/en-us/windows/pwa

Chrome has added support for PlayStore PWAs (TWA)

https://developers.google.com/web/updates/2019/02/using-twa

And even Apple has improved the support since iOS 12.2.

The Microsoft example seems a bit desperate - they bombed in mobile so of course they're seeking cross-platform refuge.

But are PWAs being used that much for real? Beyond just installable web sites (ie. full offline support with service workers, etc?). I seem to remember Twitter did a nice job with Twitter Lite, but I've never seen anyone use it. Again from memory I think Skype did a quite impressive PWA. I'm a big fan of Checkvist, & they have a PWA which is moving slowly but in a good direction.

Anyway, that aside, for a dev wanting to get into the mobile space (which I think was the OP's intent), PWAs would hardly be the best first option for a tech to learn. Surely whatever your personal tastes, you wouldn't disagree?

Yes, many digital web agencies are going through that route for mobile web sites, instead of having to deal with native toolchains.

Do you also consider Google and Apple's move desperate then?

While Microsoft has definitively bombed on phones, they are doing pretty alright on convertible laptops/hybrid tablets.

As for best option, I also mentioned a couple of other ones, which I advocate as alternative to PWAs.

I see Flutter has a future as bright as CoffeeScript, if it keeps being tied to Dart.

As for React Native, it depends on how much one feels like having to deal with JavaScript and the interoperability issue that often happen across Android devices.

It was your invocation of Microsoft's move I considered desperate.

You're still studiously avoid mentioning any actual PWAs. I'm someone who wishes PWAs would take over, as I dislike all the OSs and don't want my usage habits or data to be tied to them. But as of now it's not happening, is it?

If a person was trying to advise a developer new to mobile apps, with their interests rather than the advisor's tastes in mind, I cannot believe they'd advise PWAs as a primary focus.

Learning a platform isn't a forever-decision. A new mobile app developer can always learn new tech as needed. But if they want a start now, they're better off learning what's dominating today.

PWAs are only getting better.
And? Is this related to my comment? [edit: I ask because I didn't construe the OP as asking for opinions on the merits of the different platforms, but rather what would be best for them to learn as a mobile app beginner. Of course everyone ignores the question and leaps on their own barrow, but that's the internet for you. I expressed no view regarding the web as a mobile platform]