Hacker News new | ask | show | jobs
by chris_nielsen 1507 days ago
Hey, author here. Yeah you make a really good point, if I had to start an app today where the visual design was pretty close to the default iOS and Android styles that would definitely be a factor.

Funnily enough though (and this might just be my lack of skill in iOS development) I always find the UIKit components surprisingly tough to customize.

3 comments

I would bet the last thing is intentional. iOS has a reasonably high level of consistency over all apps. Mostly because it’s hard to customize UI elements. And that’s what at least I like about it most
Yeah. And then there are also varying levels of in-between options: React Native lets you write and share JS code but delegates to native UI components on each separate platform, while I believe Ionic actually offers a set of UI components that are web-based, but are designed to adopt the look and feel of each platform as needed. Each of course comes with its own set of trade-offs

This was still a great case-study though! It’s good to have concrete evidence that the performance side of things isn’t an issue

> I always find the UIKit components surprisingly tough to customize.

Good - apps should look and feel like the platform.

Not if you're trying to make a playful app design like the author is doing. This design is halfway between a normal application and a game.

I would do silly things like clickable image views to get the style right if buttons don't provide the necessary customisability, were I in the author's position. I don't think anyone would be happy with that.

I'm all for platform consistency, which there is very little of these days, but for every API you restrict someone will find a good reason to work around it and that's where the ugly hacks come in.

Really disagree with this. Apps are rarely unique to a platform, and most users aren't on a single platform. I want Google Maps to look the same on the web regardless if I'm on macOS, Linux or Windows, and on my Android phone.
On the web that is fine. As a native app, it should fit in with the platform. On iPhone Google use the Android design language, and it produces apps which simply do not meet expectations.