It’s time you got started on your 1st mobile app. But, where to start?
There are lots of technical decisions to make and just as many technology options to choose from. One common factor among people taking their first steps into mobile app creation is wanting to develop their product at a reasonable cost.
So, cost efficiency is the criteria I’ll work with to outline a mobile development plan.
Start With a Web App
What I usually propose is for clients to start with a web app and then move to native apps afterwards. Using estimations based on our statistics on web and mobile development I have come up with the following outline.
- All solutions (web, iOS, and Android) should use the same code base.
- The web app you start with should act like most classical web applications, with most of the logic implemented on the backend (using Python Django, Symfony, etc.)
- The web app will use a templating engine on the backend
- The web app should use a responsive theme based on Bootstrap or some Google Material Design implementation
- The web app will be encapsulated into native apps using WebView
Below you can find a comparison of time estimates between platforms where the iOS development phase is equal to 1 unit of effort (or cost):
- iOS : 1 unit
- Android: 1.3 – 1.4 units
- React.Native for Web, iOS and Android: 1.6 – 1.7 units
- Web application + encapsulation with WebView: regular web application development 0.5-1 unit plus 5 to 15 days for encapsulation and integration of native services (like push notifications, geolocation) for iOS and Android.
Final Things to Consider
By taking the path of web apps you will have one single code base for your web, iOS, and Android apps. This means less coding, less testing, and cheaper maintenance. It also means that when you fix bugs and add features you will not have to update the apps on the app stores.
You should also think about:
- Purging your screens: make simple and focused screens with no accessories, divide content into several screens if necessary
- Limiting the number of object types displayed on the screen at the same time
- Limiting data volume (no endless lists)
- Re-testing your app when the new iOS and Android versions are ready
- Collect statistics about the usage of your application, integrate an analytics tool (this makes it easier to optimize your apps later)
- Spending some time to design a Great UI, it really makes a difference
I am not claiming to have the perfect recipe for everyone, but this is a good starting point for a discussion. Please share your thoughts or contact me if you have a project proposal, or you can ask for a quotation. You can also download our price catalog if you are interested in outsourcing your mobile development project.
Take a look at some of our past mobile development projects:
You may also be interested in reading more about: