Let's discuss the pros and cons of platform native development vs JS frameworks.
Native Android / Native iOS
The bare-bones mobile development using Java, Kotlin and Android SDK or Objective C / iOS sdk. The old school way.
- Able to immediately upgrade to the latest releases from platform sdk.
- Customizability & Control over Individual components.
- Reduced app size.
- Out of box support for basic tasks like Navigation, Language, Layout, Icons.
- Well documented codebase & examples
- A lot of help / time tested techniques available / libraries available.
- Slower built times. Codebase needs to be built and run .. Not instant changes & reload.
- Separate developers/skills required for every platform - Android / iOS / Web.
- Maintainability of codebase is an extreme issue with libraries/dependencies constantly updating and breaking changes.
Cross Platform JS Frameworks
- Faster build times with instant reload.
- Write once Deploy everywhere.
- Able to work on the cutting edge frameworks / tools.
- One set of programmers sufficient for all platforms.
- Very easy to implement. Usually modules / plugins do all the heavy lifting for you.
- Maintain 2 codebase. Native and JS. Becomes headache after a while. Usually Modules only provide basic level of Customizability. If want more control have to get into the native codebase.
- One doesn't learn any design patterns / software architecture and best techniques. All one is doing is just including the modules and customising parameters.
Every project is unique and has specific requirements. No one tool is universal for all needs. So while choosing technology stack for your project next time, evaluate what you need and avoid burning time & money later.