Live data from Hacker News

Moving from Native Apps to Progressive Web Apps

medium.com

71–80 of 87 posts

Re: Moving from Native Apps to Progressive Web Apps

#71

> From now on, I won’t be building any more native apps It looks like the author blogs exclusively about JavaScript. What native apps has this author built?

I admit, I don't do a lot of native mobile development, but of course I have participated in the production of many mobile apps, mostly servicing middle and back-end tiers using JavaScript and Node (because I specialize in JavaScript). For instance, I wrote a bunch of the code the powers mobile notifications for mobile apps connected to the Adobe Creative Cloud.

One of the biggest problems I saw with maintaining separate apps was that we struggled to keep feature parity across the products, and that would frustrate our users when they switched back and forth between the web app and the mobile apps. Features they depended on in the web app didn't exist in the native app or vice verse.

Yet another compelling reason to choose the universal web platform technology.

Re: Moving from Native Apps to Progressive Web Apps

#72
post #24

I am building native webapps using PWAs at the moment. They are not there yet. He touches on navigation, but misses talking about the Android hardware back button, which in PWAs hooks up to the same mechanism as it does in the browser: it goes back. This quickly stops making sense when you're making an application, as you want that button to go "up" rather than back. Imagine you are viewing a list of contacts and you…

> This quickly stops making sense when you're making an application, as you want that button to go "up" rather than back. Did you try to use the history API [1] for this ? Not straightforward but with either replaceState or the onpopstate event maybe you could achieve with JS what you are looking for. [1] https://developer.mozilla.org/en-US/docs/Web/API/History_API

This is the correct solution to this problem in web apps.

Re: Moving from Native Apps to Progressive Web Apps

#73
post #60

Is it really that hard to build native mobile apps? No it is not. It does require learning something new. I don't hear any of my non technical friends complaining that this app isn't a web page or that I had to install a new app. I mostly hear developers who want to utilize their web development skills make the argument that native apps are bad. Is the native vs web argument actually just laziness?

They don't complain. They just don't ever install or use the app. The average user installs less than 3 new apps per month. https://www.tune.com/blog/no-the-average-american-does-not-d...

App install friction is much higher than website visit friction, and with PWA's, coming back is enough to prompt the user to install the app to their home screen with a single click.

Learning something new is not the big obstacle. The big obstacle is investment vs return on investment. If you have to write the same app 3 times, that is a significantly larger investment, and potentially much smaller return if what you end up with turns away most of your users.

Each click in the install process reduces the number of successful installs by 20%. So, start with 1,000 interested users. If the user has to click six times to install the app, you end up with only only 262 installs. And then you have to activate them to keep them using the app. Data shows you'll lose an average of 80% of your users after install if you fail to activate. That means you end up with 52 out of 1,000 potential users.

VS PWA. Once click means you start out with 800 instead of 252, so then you just need to activate them, which gives you 160 activated users.

3x the users for 1/3rd the investment. I don't know about you, but these are pretty compelling numbers for me.

Re: Moving from Native Apps to Progressive Web Apps

#74
post #61

You can't do push notifications on iOS from a web app. But apart from that there's a category of apps for websites that never should have been made, if that's the kind of apps you have been building in the past 5 years it's OK you realise it's time to stop making apps nobody uses. I've built some of those apps in my time but the majority of my apps couldn't be done without sacrificing or completely preventing functio…

You can with Cordova. I've worked on several hybrid apps in recent years that took advantage of native features through a thin native wrapper.

But there are a lot of apps that don't need those features at all, and those apps are a great fit for PWAs.

Re: Moving from Native Apps to Progressive Web Apps

#76
post #55

Earlier quoted context omitted.

Regarding #2 I feel like Oracle is dropping the ball here with Java for the desktop. They need to provide a lightweight JVM tailored specifically for desktop apps and for bundling into a self-contained install package, so that the app doesn't have to confuse users by downloading the JVM separately. Just pack it all into a single .msi/.dmg/.dpkg/etc, download one file, install it, and you're good to go. The JVM should…

I imagine you are out of touch with Java efforts. Since Java 8, the JDK offers tooling to package applications, making it standard the way many third party bundlers used to work. In Java 9 there is a linker, which will allow for an application personalised JRE, coupled with the startup code. The biggest problem was that using Swing properly required a mix of programming and designer skills, which most didn't bother t…

> The biggest problem was that using Swing properly required a mix of programming and designer skills, which most didn't bother to learn.

What about JavaFX 1/2? Do you have any information about its popularity and usefulness?

Re: Moving from Native Apps to Progressive Web Apps

#77
post #55

Earlier quoted context omitted.

I imagine you are out of touch with Java efforts. Since Java 8, the JDK offers tooling to package applications, making it standard the way many third party bundlers used to work. In Java 9 there is a linker, which will allow for an application personalised JRE, coupled with the startup code. The biggest problem was that using Swing properly required a mix of programming and designer skills, which most didn't bother t…

> The biggest problem was that using Swing properly required a mix of programming and designer skills, which most didn't bother to learn. What about JavaFX 1/2? Do you have any information about its popularity and usefulness?

Sadly yes.

It is the Java version of XAML, and it is quite nice to use, but the uptake has been on the slow side. There were quite a few sessions at JavaONE 2016:

https://oracle.rainfocus.com/scripts/catalog/oow16.jsp?event...

Probably the place where it has seen more uptake has been in car infotainment systems, like by Volkswagen.

https://static.rainfocus.com/oracle/oow16/sess/1462531766187...

However our Java desktop native projects are still mostly Swing based, or make use of either Eclipse or Netbeans as desktop framework.

And of course there is the Android Java fork, which doesn't offer any JavaFX compatibility (some guys on the community are porting it though).

Re: Moving from Native Apps to Progressive Web Apps

#78
post #67

Earlier quoted context omitted.

> we built an OS and application suite that on low end hardware compared often favorably than the equivalent on Android I haven't heard this before. I assumed firefox os failed because the web stack proved to be too crufty for the low end hardware. Are you aware of any resources that go into more detail?

Most of the code and metrics are now outdated but https://wiki.mozilla.org/Firefox_OS/Performance will have some historical perspective, http://eideticker.mozilla.org/#/android/lg-g2x/mozilla-centr... was our test for comparison between android and fxos. When we started it was an open question whether we could build a fast enough platform to compete with native applications, thats no longer a question I think about.…

I think the problem is that web apps is new and we are still experimenting, but new developers, and there are a lot of them, now start with learning a framework, that compiles to another framework that compiles to a framework that complies to JavaScript and HTML. I think we need to take some steps back, and try writing plain old HTML, CSS and JavaScript and also teach new developers how to do so.

Re: Moving from Native Apps to Progressive Web Apps

#79
Hey! This is more then a rant, it's a guide on how to make your web app usable without a Internet connection. This has been possible for a decade using application cache, but service workers will give more granular control and allow stuff like push notifications!

Re: Moving from Native Apps to Progressive Web Apps

#80

Reading that post feels like sincere but wishful thinking. Both major mobile platforms provide the developer with sandboxed access to a more or less complete unix machine. This means complete access to things like underlying network interfaces (via sockets), Full File API access to local storage (inside the sandbox), threads, memory management (via JVM/ObjC or at a lower level in Native C), Graphics hardware via Open…

Yes, the web platform has more limitations, but it's a bit like when people wrote software for DOS (or bare metal) because Windows didn't give them direct access to all hardware features. They weren't wrong, but how many bare metal software do you see today? Eventually the platform provides support to the needs of 99%+ of software, and more unrestricted access becomes a special case, not the default. All of the thing…

"They weren't wrong, but how many bare metal software do you see today?"

Umm... This discussion is about mobile devices right? Almost all my usage of my phone is on native apps.

Post reply on HN