From Native to Flutter - Migration of the Breuninger app

Breuninger Flutter Migration

Feature-by-feature migration of Breuninger's native Android and iOS app to the cross-platform framework Flutter

Client: E. Breuninger GmbH & Co.

Project: Migration of Breuninger's native online shopping apps to Flutter

Services: App development, backend development

Methods: Scrum


  • iOS: Swift, SwiftUI, Combine, The Composable Architecture
  • Android: Kotlin, Jetpack Compose
  • Flutter: Dart, BloC
  • Backend: Ktor, Spring Boot

Development period: July 2021 to June 2023

jambit worked with the internal Breuninger team to transfer their existing fashion apps feature by feature from native Android and iOS versions to the cross-platform framework Flutter. In the process, jambit also redeveloped existing functions in a new design and clean architecture.

Cross-platform development for shopping at the highest level

The name E. Breuninger GmbH & Co. stands for exclusive shopping experiences for lifestyle and textile goods in the premium segment. In addition to the 13 German department stores, clients can shop what their heart desires 24 hours a day in the company's own online store and the associated app.

To make app development even more efficient, to be able to react faster to requirements and to release client-visible features for an even better shopping experience, Breuninger decided to switch the fashion app completely to Flutter.

To drive the Flutter rewrite forward as quickly and securely as possible, Breuninger brought jambit on board as a reliable and high-performance external service provider with Flutter expertise.

Thanks to this efficient cross-platform approach, jambit could accelerate the development process together with Breuninger's in-house development team and create a standardized application for Android and iOS.

This led to shorter development cycles, faster time-to-market for new features and ultimately cost savings. The end users of the app now benefit from a seamless application experience across different devices.

Flutter: When an app conquers two worlds - cross-platform vs. native

A native app is an application that is developed specifically for a particular platform or a particular operating system. Native app development for Android and iOS often requires separate teams and resources for each platform. This increases development costs, development time and time-to-market.

And this is where cross-platform development for apps is focused. It enables the creation of high-quality mobile applications that run on different operating systems without having to develop separate versions for each platform.

A single code base is sufficient, and the app can be played on several platforms simultaneously. This reuse of code saves time and resources and offers app users an even smoother shopping experience.

No different development teams for Android and iOS, lower development costs, shorter time-to-market - the advantages for clients are obvious. But what exactly does Flutter change for the app's end users?

Improved shopping experience for app users thanks to Flutter

Thanks to the uniform code base, the user interface and user experience are consistent across different platforms. Therefore, there’re no differences in the apps between Android and iOS devices. This simplifies handling through similar appearance and behavior such as operation and navigation. On the other hand, it enables the same functions. As these only have to be developed once, they can be published simultaneously on all platforms. A real benefit for all users!

Updates and bug fixing can also be provided more quickly, as changes to the shared code base can be played immediately on both platforms. This gives users faster access to new functions and bug fixing.

  • We worked together with our jambit colleagues at eye level - with combined expertise and common goals.

    Julia Antkowiak, Product Owner Mobile, E. Breuninger GmbH & Co.

Features implemented by jambit for an optimized shopping experience

Some existing app features were previously only optimized for iOS. As a part of the project, the jambit team developed these new features in Flutter in close cooperation with the in-house team. They’re now also available to Android users. These features include the address book for managing delivery and billing addresses and the fashion finder. This intelligent search function displays similar items matching a selected product.

A function based on the fashion finder is brand selection with product suggestions for selected brands. jambit also developed the frontend elements for in-app messaging. A sophisticated method that provides app users with action-based information on new features or current promotions.

Another feature is Breuninger Card Activation. With its help, clients can activate their Breuninger cards directly via the app to benefit from exclusive advantages.

The jambit team also worked on the order status for a transparent overview of orders and on the home feed. In the home feed, data is now loaded directly via the app's own ServiceAPI instead of transferring the data from the native apps to the Flutter module via a method channel. This makes the app even more efficient and flexible.

Backend component as an anti-corruption layer

In addition to mobile development with Flutter, jambit also worked on the app's backend. The backend acts as a centralized interface to integrate various APIs of the different development teams. This approach ensures that not all logic has to be implemented in the mobile apps. By aggregating and consolidating the data streams, the code base is also clearer and less prone to errors.

As a part of the backend development, the jambit team merged Breuninger's existing services into an Anti-Corruption Layer (ACL). The team used this intermediate layer strategically to significantly reduce the dependencies between the main components of the app and external services and APIs. Changes in these external systems can therefore be isolated and decoupled from the main components of the app. This ensures that the app doesn’t have to be updated even if changes are made externally, as the necessary adjustments can be made in the ACL.

Unexpected incidents or errors in the app itself could also be resolved quickly. Through the backend part, we have further improved the stability and reliability of the app.

Breuninger Flutter Migration

The successes at a glance:

  • Successful Flutter rewrite and migration of the two native platforms to Flutter.
  • Accelerated in-house-driven development thanks to partnership-based collaboration with the Breuninger team.
  • Conversion of the native apps to Flutter-only.
  • Development of existing features in a new design and clean architecture.
  • Faster market launch of new functions thanks to Flutter.
  • Easier maintenance, further development, and cost savings thanks to a consistent code base in Flutter.
  • Common development of new feature modules with the in-house team for a better user experience.
  • Close exchange between Breuninger and the jambit development team for an ideal solution.

Interested in Flutter, too? Contact us for a consultation.

If you have any questions, please contact Maximilian Claus, Business Relationship Manager Industry & Energy, by simply leaving him a message here.

You can also contact him directly on LinkedIn or call him on +49.1516.78 53 678.

* Mandatory field
Maximilian Claus, Sales Manager Industry & Energy bei jambit

Maximilian Claus

Senior Business Relationship Manager Industry & Energy

Cookie Settings

This website uses cookies to personalize content and ads, provide social media features, and analyze website traffic. In addition, information about your use of the website is shared with social media, advertising, and analytics partners. These partners may merge the information with other data that you have provided to them or that they have collected from you using the services.

For more information, please refer to our privacy policy. There you can also change your cookie settings later on.

contact icon

Contact us now