DEV Community

Discussion on: Tips for choosing the right tech for mobile app development

Collapse
 
gualtierofr profile image
Gualtiero Frigerio

I love native apps, both as a user and as a developer. If time and resources are not a problem I'd suggest going full native, but as we all know time is usually constrained, so is budget, and developing an app for iOS and Android natively means spending more time or having more people to work on the same project.
While I'm not a fan of Javascript it has the advantage of being available on apps, websites and backend. When you need to have a shared business logic that's a huge time saver.

A few years ago my company was faced with the same dilemma: should we go native or hybrid?
For us the choice was easy, as we wanted to build a product enabling customers to provide their customisation is the most user friendly manner via HTML. Phonegap and Cordova were already a thing, but we developed our own framework to have full control over the native part and the way HTML interacts with it.
Going hybrid allows us to have a WYSIWYG editor to build the UI and produce apps, web pages and PDFs from the same set of components and data. It would be possibile to do it natively in theory, but would be much harder.
We still need to have a good native layer for scrolling between pages, handle updates and of course manage the interaction with the os (camera, GPS, filesystem etc.) but we can have a single or a team of HTML/JS developer work on a project and deliver apps for Android and iOS and maybe build a PDF or a site, sharing logic between the channels and dealing with data and media updates.
Is this option the best one for every possibile customer? No, it isn't. But it works for many of them.
We did a lot of work to set up the framework and the backend infrastructure, but it was worthwhile. And if you chose to go hybrid you don't need to spend the same amount of time we did, you can chose one existing framework like Ionic and have support from a great community of developers.