Hacker News new | ask | show | jobs
by WA 2992 days ago
> Forcing you to use native controls.

This is wrong. Cordova has been around for years.

Furthermore, it’s detached from reality. I released an app made with Ionic. It’s an app for average joe, not for devs or designers. Out of 20,000 downloads, I received exactly 0 complaints about performance or UI. Most users don’t care and don’t notice anyways.

And it’s pretty much the only way how I can maintain an app for both platforms as a solo dev.

2 comments

> I released an app made with Ionic. It’s an app for average joe, not for devs or designers. Out of 20,000 downloads, I received exactly 0 complaints about performance or UI. Most users don’t care and don’t notice anyways.

Personal anecdote: I wrote an app to replace one that was written using Ionic because the experience was so poor. None of the complaints for that app were about the UI, because I assume most users, not being developers or designers, couldn't put their finger on what was wrong with it. However, once I released my app most my of reviews ended up being about how it was much better designed.

Average rating on iOS is 4.4 for my Ionic App.

Average rating on Android is 4.1

Especially the iOS app is almost indistinguishable from a native iOS app. Ionic is very well designed to mimic native UI controls.

In the end, it doesn’t really matter if your native UI lot runs some sliding animation in 60fps or if the very same animation is done in JS and runs with 60fps.

Did you re-design the UI, or just re-implement the same UI as native widgets?
How accessible is your app? Have you tried it with VoiceOver? How does it do with battery and memory vs another comparable native app? When there's an OS upgrade, does your app automatically adjust to new resolutions and device classes?
> When there's an OS upgrade, does your app automatically adjust to new resolutions and device classes?

HTML and CSS are far more proven at adjusting to arbitrary resolutions and device classes than the vast majority of "native" UI frameworks, specifically because nearly every device class needs to support HTML+CSS, but "native" frameworks don't have to support every device class.

Yes, it is neat that specifically, iOS is playing from some interesting fun toys like Cassowary solvers to support some pretty advanced stuff. From a pragmatic standpoint as a cross-platform dev I'd rather just let HTML+CSS do the work, because that can be used everywhere.

(Similarly, Browsers in general are pretty strongly accessible and HTML can be written very accessibly. Again, pragmatically cross-platform it's the easiest accessibility solution available.)

(Memory and Battery are somewhat fair questions. Given how much time people will spend in a Browser, though, I think the turnabout is better fair play: if there is such a noticeable battery/memory difference between native apps on your platform and websites/webapps, but you spend the majority of your time in websites/webapps, then what is your platform doing wrong?)

I haven’t tested accessibility.

Battery and memory: no big difference. And JS doesn’t run in the background.

Download size: 5MB

Upgrades: I had a native iOS app back in 2011 and this app required quite a few UI adjustments over the years to work properly on the latest iOS version and hardware.

Can’t tell yet for the Cordova app, but it works out of the box for all iPhones and many Android phones without writing a single line of additional CSS.

For sure, there are downsides to Ionic, but I’d strongly consider it. The single code base has so many advantages and cuts development costs with almost no downside for the customers.

It doesn't matter. Literally doesn't matter. Making apps work correctly is a lot of effort for zero gain.
I’ve been getting tired of seeing accessibility, accessibility, accessibility in every front end web/iOS/etc conference. Like we get it, everyone’s got it...

No longer tired of it, thanks.

I'm sure you didn't mean that to read that way.