Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, but not using native controls, while still trying to look and feel just like them creates an uncanny valley where things are just inexplicably off.

iOS in particular uses a lot of animations for context clues, and it is very hard to get right when you try to copy it.

There’s also a lot of functionality that is baked into native controls, such as accessibility and localization that are often missing from canvas drawn controls.



That's true. IMHO, solution to this is not trying to look and feel exactly like native controls, but focusing on providing universally good UI/UX instead. Good UI/UX can be independent of a platform it runs on.

Don't get me wrong, there are a few essential things that you have to mimic in order not to be too alien on a specific platform. But for everything else, try to provide best UI/UX for a specific task rather than trying to mimic some generic controls.

Making a good UI framework from scratch takes considerable amount of resources. The lack of accessibility and localization is usually due to insufficient resources from framework developers, not a technical limitation.


I don't get why nobody tries to make something like React Native that would provide interface to the native components.


That is React Native isn’t it? A lot of people end up making custom components (using pure JS), but it’s completely possible to wrap native components and use them. The downside is someone needs to make the native component wrapper as React Native doesn’t really provide much in terms of that out of the box besides maybe a button component.

Expo has a new system that’s in beta that should make doing this much, much simpler (check out expo-modules).


Well yeah - you'd need to write that native code wrapper, which kind of defeats some of the purpose of React Native (not having to write native code).


As a user, I suppose it is disappointing there aren't bindings for _everything_ offered on the native platforms. However, there are a ton of packages provided by the community, especially since the "slim core" initiative from Facebook is pretty much done. They removed almost everything not essential from the core or React Native to make it much more focused and I suppose easy to maintain.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: