Super App Development
In short
Explore the phenomenon of super apps where digital landscapes converge into multifunctional hubs. Learn how super apps reshape the way we interact with technology. Find out how to develop a super app and why your business needs one.
How to develop a super app?
There are many ways to develop a super app. We present the Callstack approach – a unique combination of expertise, know-how, technology, and an open-source library that will help you scale your teams, processes, and product development.
Explore the technical guide to super app development
Discover the theory behind the super app project, and build a super app from scratch or migrate your app to a super app setup.
Discover Re.Pack – a Webpack based toolkit for React Native
Re.Pack lets you create React Native apps with full Webpack support. It's open-source, regularly updated, saving your team from custom maintenance.
See our super app demo
We've applied theory to action! Check out our case study of the super-app-showcase - a prime example using Re.Pack for structuring super apps.
Run simple, reduce OPEX
Super app development is not only about a technical approach. The process can also have a profound impact on your organization as it allows you to introduce the reverse Conway maneuver by:
Scaling teams, processes, and work
You can organize dedicated teams better by adopting a domain-centric structure, using JavaScript technologies with React Native at the core.
Increasing revenue and other business benefits
Enjoy real business benefits, such as improved customer acquisition, increased user engagement, or enhanced developers' experience.
Alternative approaches
Yes, there are alternative approaches. We explain the pros and cons of Re.Pack alternatives so that you can make an informed decision.
FAQ
Our super-app-showcase is a repository demonstrating how to structure a super app when working with Re.Pack and Module Federation to achieve the best business results. It highlights various solutions and best practices developers can employ to tackle challenges and streamline the super app development process.
The super-app-showcase comprises:
- the host app, which is the main container for the micro-frontends
- the shell app, which functions like a blueprint of the host app with shared dependencies
- a few mini apps, each dedicated to a single service booking, shopping, dashboard, and news – the latter being stored in a separate repository.
You can learn more about the architecture and the intricacies of the template from the case study published on our blog.
Adopting a super app can significantly reduce maintenance time by enabling code modularity, smaller codebases, better scalability, and improved testing. The exact time saved depends on the app's size, complexity, and development efficiency will be extended by the time dealing with shared dependencies.
To ensure safety when executing code from remote sources, RePack is equipped with the ability to code-sign the bundles via CodeSigningPlugin. When you create a production build, RePack will output a file with tokens for every remote bundle created. Upon downloading the mini app, RePack will verify the integrity of each bundle, ensuring that it wasn’t tampered with. It’s worth noting that the downloaded code will be evaluated within the same JavaScript execution context, which means it has full possibility to inspect how data flows throughout the whole app at runtime. You’re expected to have full trust over the code added by your contractors.
To efficiently transition to a super app-related architecture, analyze the current app to identify components suitable for mini apps. Develop a phased migration plan, first focusing on low-risk or easily separated components. Ensure the team is well-trained by providing resources and workshops on super app concepts and best practices. Throughout the process, monitor progress and address challenges to maintain a smooth and non-disruptive transition.
Micro frontends are a modular frontend architecture for the web, while mini apps are small and often self-contained applications within a super app, typically for mobile platforms. They are related but not the same. Mini apps embrace the concept of micro frontends within them. You can think about mini apps as micro-frontends for mobile apps.
Alternatives include Play Feature Delivery for Android, and WebView for iOS. If your app is not constrained by the size or team velocity issues, you can also go with regular app development. We focus on Re.Pack because this approach allows you to enjoy the most benefits compared to other tools, for example, the ability to reuse features across apps, smaller JS bundle size, OTA updates, time and cost-effective development experience, and potential to leverage third-party contributors.
When creating a cross-platform super app with React Native, Re.Pack is the only solution that enables you to achieve that. It allows you to leverage Module Federation for code sharing and modular architecture. Beyond Re.Pack, any React Native library that fits your specific requirements and use cases should be compatible with your super app, enabling you to build a powerful, feature-rich, and well-integrated application.
Check out the “Building a super app from scratch” section in our Step-by-Step Guide to Super App Development that should provide you with a basic understanding, or go ahead and have a look at our super-app-showcase that provides a more robust example of the super-app inside a monorepo.