Hello friends! In this post, we will discuss the positives and negatives of building an entire mobile application from scratch or redirect the user to your responsive website inside a webview. Let’s explain a little more about what a webview is.
A webview is a component of operating systems like Android or iOS that is used to show web content inside mobile applications. Now let’s say for example that you have a web application which is responsive as hell and you want to build a mobile application. There are two(at least that I know of) ways to do that. I will explain them below
Build app from scratch
The typical way to build a mobile app is the usual way that was used all these years. You start building the application from scratch. You make mockups for your pages, you program the logic and any web service you might need to communicate with the web application, you build the authentication system etc. Building your app that way you will be able to have a native app with good performance, you can customise it the way you want and implement any of the features your web app might have.
- Performance Native apps make better use of the mobile device recourses like CPU, GPU, ram, display, and battery.
- Customisation You can customise the app to be different than a web application.
- Unique features You can implement features that work better with mobile applications like usage of camera or geolocation services.
- Offline usage A good feature nowadays is to permit the user to use the application without internet access and store the data in the mobile app database and when he connects to a network then sync the data with the web app.
If you are a company with existing customers and there is a possibility that some customers want “private” features only for themselves then building a native application might be the way to go.
Redirect user to web app
The other way to build your app is to develop an app that just redirects the user to your web application. That’s all! The user will then use your web application with all the features that already exist. Of course to manage something like that your web app must be really responsive and beautiful at mobile devices, and you will hide the browser URL bar and some other stuff to hide from the user that he actually is inside a browser. You will think that is just cheating and I will agree to some extent, but there are some major advantages developing an app this way that I think it is actually worth it.
- Cost You might spend thousands for a native app with X features but not if the app just sends the user to use the web app.
- Development time We are talking about 2-3 days vs 2-3 months (maybe even more).
- Single code base You don’t need to maintain both web and mobile app. You build all the features for the web only.
- Instant access to all features of the web the time they are released. You will not have to implement features from web to mobile and vice versa.
A startup with a limited number of developers that wants to build the web application and instantly have a mobile app that can give to the new customers and have them access all the features of the web app.
Personally, i think that building an application as natively as possible is better in the long term but as software developers, we write code to make money and live. And if there is a way to make a product with thousand or million fewer lines of code then we should consider it. That’s all for now folks. I hope I did not bore you. I would like to hear your opinions and corrections in the comments section of course!