Cross-platform strategy in a major app development project with Google Flutter.
App development with Google Flutter__
Flutter is a development framework from Google. From one single code base, natively compiled applications can be created as mobile apps as well as web and desktop applications. As with all cross-platform frameworks, this promises significant cost advantages compared to purely native development.
- +50,000 international corporation with more than 50,000 employees
- 125,000 lines of code, company critical business apps
- Cross-platform, a new direction of the technology strategy
Our client is an internationally active corporation. In the process of digitizing the company’s core business processes, Almato developed comprehensive app solutions for iPad over a period of more than five years. The user groups of the apps are several thousand managers. The apps have so far been developed solely natively for iOS and have been optimized functionally and in terms of usability as part of a continuous release management over several years. They meet the highest security and performance requirements. The development effort for the native apps required several thousand workdays and resulted in an application with more than 125,000 lines of code.
In the scope of the further internationalization of their business, our customer wanted to expand their platform strategy and defined Android as another target platform for the apps. This decision made it necessary to redefine the technology strategy. Depending on the business functionality, new apps were to be developed using cross-platform technologies. This should enable our customer to distribute apps flexibly on Android and iOS devices.
The choice of a suitable cross-platform technology had to be made while taking into account several objectives such as performance, integration capability of existing libraries and investment security.
The choice of the technology had to take into account in particular the business and technical requirements. Aspects such as performance and offline capability were important, which are regularly not achieved by a web-based approach. After a pre-selection process, the cross-platform approaches Flutter, Progressive Web App, React Native and Xamarin were analyzed on the basis of the business and technical concept.
Finally Flutter was selected for the following reasons:
- Flutter provides an SDK with extensive, partly platform sensitive libraries and widgets. In addition, Flutter delivers a comprehensive selection of ready-made modules from third party providers, which are available as DART packages and can be integrated into the app.
- The distribution channel at the customer’s site for the distribution of apps to target devices can be maintained, as IPAs are still generated (contrary to a web-based approach.)
- Technological risks, such as caching problems with browsers in web-based approaches due to larger data volumes, can be avoided right from the start.
- No additional development infrastructure is required, such as for the development of progressive web apps.
- With Google, an important provider stands behind Flutter. The risks in terms of the sustainability and long-term development of the framework are assessed by Google as lower than with other approaches.
- Flutter is used by a increasing number of development organizations.
By using flutter for cross-platform development, our customer achieved the following goals:
- Approximately the same performance and usability as with native apps.
- Comfort features like face-ID or touch-ID as well as changeable settings via external configuration files have been retained.
- The existing distribution channel for apps at the customer’s site via enterprise app store in mobile device management was retained, both for pilot users and for the productive rollout.
- The offline capability required by the customer could be fully guaranteed.
- Existing platform-specific libraries of the customer could still be integrated.
“The new strategy consistently follows the business objectives of our customer. Our recommendation for Flutter was unanimously confirmed by the customer team”.
Ralf Schneeberg, Project Manager