Hacker News new | past | comments | ask | show | jobs | submit login

Just embrace C++ for business logic (supported natively by both SDKs) and use native views, and for most CRUD apps, mobile Web works just fine.

Anything else, might look enticing, however as the author points out brings lots of attrition and failures can happen at any level of the stack, thus requiring native programing knowledge to sort them out anyway.

So instead of being experts in two stacks, the team now needs to be expert in three stacks.




The thing is, for most mobile apps, 99% code are views, with a very tiny part that can be called "business logic". Doesn't really make sense to involve C++/JNI bridges hassle.


If your app is like that, then maybe it shouldn’t be an app at all, rather a website.


> C++/JNI bridges hassle

For the projects I worked on, the bridges were automatically generated, so no hassle for the developer. Admittedly we built our own code gen system which of course was not free.


Hence my remark regarding CRUD apps and mobile Web.

Even if native views are required, the business logic can be driven from Web APIs, or DSL like JSON files.


Dropbox used to do this but eventually abandoned it, due to the cost of maintaining C++ code that works on multiple platforms. Turns out that might be more difficult than maintaining native code for each platform.

https://dropbox.tech/mobile/the-not-so-hidden-cost-of-sharin...


I am aware of that case, and it mostly boils down to not wanting to pay market prices for newly hires to replace the C++ developers that left the company.


Absolutely, many large cross platform apps - MS Office, Zoom, Webex etc follow this strategy, it just doesn't seem to be that popular with the HN crowd.


Just a guess, many want to silo themselves into TechX Developer instead of embracing polyglot stacks.

You see that often, when instead of rewriting the parts that may have performance issues into a library and keep everything else working as usual, we get those rewrote X in Y posts.




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

Search: