NashTech Blog

Table of Contents
person using macbook air

Overview

Mobile applications that offer a wide range of services through a single interface. Users can access various functionalities such as chatting, shopping, ordering rides, applying for loans, etc., all within one app. These such as application could be called super apps.

Super app and Mini app

A Super app normally contains miniapps, these are independently created applications or services that are integrated into the super app platform. They provide users with specific domain services, such as gaming, food delivery, travel bookings, etc. The super app offers a set of core features alongside access to these mini apps. These core features typically form the backbone of the application and may include messaging, payments, social networking, etc. Users can choose and activate these mini apps within the super app to customize their experience and access additional functionalities.

The mini apps operate within the ecosystem of the super app, rather than directly on the device’s operating system. This integration allows for seamless interaction between different services and a unified user experience.

In summary, a super app encompasses a variety of services within a single interface and extends its functionality through independently created mini apps, offering users a personalized and consistent experience across different domains.

Common architecture approaches

Monolithic architecture

Monolithic architecture is a way of organizing a super app as a combination of functionalities.

 

Pros

​Creating, deploying, and testing is simplified because all source code is generated and delivered as a single unit. This approach also leads to better performance and stability as functions interact directly with each other. Additionally, it’s cost-effective as it requires only a single infrastructure for creating, maintaining, and deploying the application.​

Cons

Each time a single piece of code changes, it requires redeployment. This results in slower build, compile, and deployment processes, especially for larger codebases. Additionally, there’s a lower reliability as an error in any function can impact the availability of the entire application. And the source code becomes challenging to understand, maintain, and scale.

Modular monolith architecture

Modular monolithic architecture is a way of organizing a super app into a set of modules.

 

Pros

With all modules seamlessly integrated into a single application, the process becomes simpler for creation, deployment, testing, management, and delivery as a unified unit. This integration enhances performance and stability as modules are designed to operate seamlessly in tandem. Additionally, it proves cost-effective by utilizing a single infrastructure for creation, maintenance, and deployment, while also improving comprehensibility and ease of maintenance.

Cons

Requiring deployment each time a single piece of code changes can lead to slower build, compile, and deployment processes, especially for larger codebases. This approach also increases the risk of lower reliability since errors in one module can impact the availability of the entire application. Additionally, managing numerous mini applications can becomes challenging.

Microapps architecture

Microapp architecture is a way of organizing super app into multiple miniapps

Pros

Functionalities and development teams can scale easier.​ External mini apps which developed by external team can integrated to super app.​ Each mini app can be handled by small team and deploy frequently, highly maintainable, testable and independently deployable. Mini app’s error does not affect the whole super app.

Cons

Challenges in development coordination, deployment, configuration, and reliable communication. Technical and operational complexity to support develop, test, deploy mini apps independently. Can experience performance issue due to network traffic when loading mini apps from the Internet.

Conclusion

Each approach has their own pros and cons. Selecting an approach may also ​require us to think about the culture of our business and expertise of technical team in developing, testing, deploying and maintaining the super app ecosystem of mini apps from internal and external parties.

Picture of Quang Truong

Quang Truong

Line Manager at NashTech, I am a curious and motivated software engineer with a passion for creating applications that make life easier and more enjoyable.

Leave a Comment

Your email address will not be published. Required fields are marked *

Suggested Article

Scroll to Top