Hacker News new | ask | show | jobs
by GoldenMonkey 2007 days ago
Okay. I’ve been in mobile app development pre-iphone, when microsoft had smart phones. Since 2006. Have done native iphone since the first SDK was shipped in 2008. And android when it was available. Did Ionic, xamarin, react-native.

Shipped mobile banking, digital wallets and crypto wallets to 21 million customers, as architect and lead.

And yet, here we are in 2020... still there is this fantasy about xyz framework flavor of the year... write once... run everywhere...

Magical silver bullet to save time and development costs.

Because, who wants to learn the native language for the mobile platform.

And every single code once, write anywhere framework leads exactly to it’s own tradeoffs.

Let’s explore each.

React-native - if you enjoy debugging this is your platform of choice. Have an obscure nodejs open source library you are dependent on? That is being deprecated? Have fun maintaining and upgrading it yourself. Or how about 2000 security warnings you need to resolve... yeah, you’ll code once... and debug everywhere.

Like Iconic? - you won’t when iOS decides to upgrade the OS. And the look and feel and your app suddenly looks like it is a decade out of date. Good luck upgrading the look and feel... re-write on next flavor of the platform.

Like xamarin bc you like C#? Have fun learning microsoft’s unique mobile paradigm. As well as needing to understand how iOS and android paradigm’s work. And debugging across 3 platforms... trying to isolate whether the memory leak is on the microsoft or iOS side of things.

The reality is this. There are tradeoffs. And you are really only trading one pain for another pain.

Learning the native tools and languages are only one kind of pain. And the least painful.

3 comments

This is the reason why i chose to use basic cordova instead of ionic in my application. I can't use cool out of the box components when building the UI, but i can implement my own UI components using Vue.

There are still some tradeoffs, the javascript webview ui components are not fast as the native ones.

To add. Do as much processing in your APIs as you can see fit. Then your apps are just CRUD, which makes them easier to manage.
What do you think of flutter?
Would ask the same.