Mobile App Micro Frontend iOS

Mobile App Maintenance Using Micro Frontend Architecture

ThinkPower 2019/11/19 18:26:11
221

Mobile App Maintenance 

Using Micro Frontend Architecture

 

Good app development doesn't just stop after product launch. Mobile app maintenance is as important as the initial stage. In order to keep your app successful, you need to plan well ahead and keep updating your features. Just as your business model has to be constantly improved, your app functions need to be updated as well. But simply adding new features doesn’t necessarily help to improve the value for the customers. The best thing to do is to listen carefully to your customers and add missing features or adjust existing services according to their feedback. 

 

In my current project, we implemented a review system to the application so customers can provide feedback on the user experience and the provided service. This will allow us to optimize the product and to make sure the user gets the service he expects. Additionally, we added a new push notification function to the application. 

 

Micro Frontend Architecture - Meaning and Advantage for Mobile App Development

 

We can see a new trend to move from monolithic frontend codebases to micro frontend architecture. Micro frontend architecture means you split your frontend monoliths into single independent applications. Same as the microservice architecture for backend, the micro frontend will at the end appear to the user as one application just split in single frameworks for better management. By using smaller, simpler pieces we can develop and test them independently. 

 

MFE Architecture

Mobile App

 

Why did we use Micro Frontend Architecture for this project?

Besides the advantage to have independent and easier manageable codes, we wanted to have the flexibility to change, update, or even rewrite parts of the frontend without rewriting the whole monolith code.

The second advantage is that it is more secure and stable because each micro frontend has its own team working on it from the initial stage to the deployment. So there is no risk of interference between other codebases or teams working on other functions. Each micro frontend can follow its own release cycle so the workflow is faster and more efficient.  

Last but not least we are able to implement the same function in any other application easily. 

 

What was challenging?

Since we installed a new function into an existing app, we had to bridge the programming language differences. We implemented our new feature written in SWIFT into an Objective C application. The UI has also given us some difficulties because we had to combine different layout frameworks. The existing iOS app used storyboards but for the micro frontend, we created UI programmatically, as it is supposed to be faster and easier to use within the different teams. Ideally, you would implement micro frontends in applications with the same coding language and the same layout framework. But especially with older apps, this is rather unrealistic.

 

Nevertheless, I am a fan of using micro frontends for app development. For our team the advantages were stronger than the disadvantages and I would recommend it for the next project. It was fun to extend our app and I'm looking forward to the first user reactions.

 

ThinkPower