HACKER Q&A
📣 yaakushi

What arguments are there for native mobile development in 2020?


I'm wondering what arguments are there to defend the use of native development for either of the current popular mobile platforms.

I've heard from quite a few folks about how native development allowed applications to have a more platform-specific feeling, although nowadays frameworks seem to have a plethora of options to customize the app based on the platform, while allowing a much quicker development. Is there any point in developing native apps nowadays outside of some niche case?

(Disclaimer: I'm not advocating for frameworks or anything like that. I'm actually a native developer myself.)


  👤 muzani Accepted Answer ✓
I work on social media. We use lots of lower level stuff - cameras (modifying EXIF data/crop/zoom/edit), voice calls, chat. Some things which require quick pop ups and approve. Everything involving native share, and some new things too. It's all doable on hybrid, but 3 times the work.

The more layers you have, the more you have that may not work or work unexpectedly, poorly documented (EXIF data on iOS is interesting). You have to check every one of these layers to see what is going wrong when it does. Sometimes I cut out a small test sample to see if it works this way, then if it does, copy out that code in several places, on plugins and so on. Also build times are slower on anything that isn't native and that adds up to a lot on a complex codebase.

According to my data, a small fix (understood bug) takes about 2 hours on hybrid, 1 hour on native. Double as much if we don't know the source and need lots of testing.

But if you're making a CRUD app, by all means, use frameworks.