Building Superapp using Webview?

Saroj Paudel
2 min readMay 15, 2022

A super-app is a mobile or web application that provides a variety of services including payment and financial processing, self-contained e-commerce, social media platform, etc. in a single packed application. The few best examples of it are WeChat (messaging, payment, e-commerce, etc), and Facebook (social media, e-commerce, messaging, etc.).
I am not aware of the core approach of how these applications can be built but for some general developers like me, using the web view within the app seems like a good option for this problem. I have more experience in iOS development with SwiftUI than that in web development, so I will be giving an example of how I would approach the problem in iOS development. Also please be aware that I don’t know how pioneer super apps include many services within a single app and still optimize the memory and processing power. But if I were to develop such an app with my understanding as of May of 2022, I would use WebView within my app. Please comment below if you know the proper way of building a super-app and also mention the disadvantages of my approach if any.
I understand the services developed natively are faster and have more data control within the app but developing all the services natively in a single app would take heavy memory. It would also increase the size of the app. In my approach, I would make individual web apps tailored to be displayed in an app (example: easier navigation within webapp) and hosted internally for the different services. I would then wrap them in WebView and open the service in a new view within the app. Using this approach, the size of an app would be fairly small and you could theoretically insert ’n’ number of services within an app.
One of the downsides of this approach is making all the services within the app tightly coupled since the web app displayed within the app is an individual service. For example, if you are using a super-app with a mobile payment service and e-commerce service and you want to make a payment in the e-commerce service using the mobile payment service. you will have a challenge in effectively doing so because the e-commerce and the mobile payment in our architecture are two individual services. But this problem could be somehow mitigated by using APIs to set up communication between the services. For example, you could write an API to send the payment data from one service to the other.
Please let me know in the comment section if this approach follows the core principle of what makes such app a super-app. I might be illogical but I am open to discussing below in the comment section and learning.

Originally published at http://sarozpaudel.wordpress.com on May 15, 2022.

--

--