Flutter is a mobile application framework provided by Google. It is attracting attention as a cross-platform technology that can develop mobile applications compatible with various devices and environments in a single development.
What is Flutter? Explanation of meaning and basic knowledge
I will explain the basic knowledge and features of Flutter.
Meaning of Flutter
Flutter is a mobile application framework provided by Google . A mobile app framework is a library created to support the development of mobile apps.
Mobile application frameworks are attracting attention as a cross-platform technology that allows programs to run on different platforms including Android/iOS with a single application development.
For general native app development, dedicated apps for Android/iOS are required. However, Flutter can support any OS in a single development process, so you can reduce development time and costs.
What is the Dart language?
Flutter development uses a language called Dart. Dart was developed by Google in 2011 as a language to improve and replace JavaScript’s shortcomings.
Dart did not spread due to the fact that JavaScript established itself as a browser script and Microsoft’s TypeScript, which is a competing language of Dart, was adopted as the standard language within Google. It is gaining attention again.
Although it failed to achieve its original goal of replacing JavaScript, it has become an indispensable language for modern mobile app development.
Why Flutter Matters: Contrasted with React Native
The reason why Flutter is attracting attention is that it can deal with various problems that conventional mobile application development had . The high development efficiency and cost performance are also major factors that have been introduced in recent app development.
In addition, Flutter is gaining support from engineers and designers for two reasons: the large number of development environments it supports and the ease of creating UI designs.
Flutter’s wide range of environments is often compared to competing framework React Native.
・Only Android/iOS supported by ReactNative
・OS supported by Flutter
: Android/iOS/Web/Windows/macOS
Also, by using Flutter, you can easily create a common UI design that does not depend on the platform. For React Native, you need to use native UI for each OS.
Advantages of introducing Flutter
I explained that Flutter is attracting attention in terms of efficiency of development and cost performance, but what kind of benefits can be obtained by actually introducing Flutter? I will explain each in detail.
iOS/Android development done all at once
Unlike conventional native app development, Flutter, a mobile app framework, can support various OSs (Android/iOS/Web/Windows/macOS) in a single development.
In other words, it eliminates the need to develop dedicated applications for each OS, reducing development time and costs .
Dart is similar to TypeScript
Dart is one of the least popular languages, and not many engineers are learning it. However, Dart is a language created following the design of JavaScript to replace it, so it is a language that is easy for engineers who have touched JavaScript to learn .
You can use the HotReload function
Another unique feature of Flutter is that it has a hot reload function.
Hot reload is a function that can be reflected in the UI immediately when the program is changed . This greatly reduces the time and effort required to confirm changes that occur in normal application development.
Unify UI design regardless of platform
Flutter uses Google-recommended Material Design , which allows users to easily and flexibly customize UI designs that can be operated intuitively.
Material design is a general term for design, method, and technology advocated by Google. Google believes that by using material design to incorporate a design with a sense of unity on all devices such as smartphones and tablets , users can realize a feeling of operation with less stress.
Disadvantages of Flutter
On the other hand, Flutter also has its disadvantages. Let’s check it in advance as a precaution when considering development.
Unique functions for each OS are developed separately
As a feature of Flutter, we explained that it is possible to develop different OSes at once, but it is necessary to develop the functions that are unique to each OS separately.
Also, when updating the OS, unlike the case of native apps, it will be supported after the latest version is released, so it is difficult to respond quickly.
Weaknesses unique to frameworks with a short history
Flutter is a new framework with a relatively short history. Also, there are not many engineers who can write Dart compared to other languages. Therefore, it may be difficult to secure engineers who are ready to work during development .
Also, since it is a new framework, it can be said that the number of open source libraries is small compared to others.
If you don’t have engineers familiar with Flutter or Dart in-house, or if you don’t have accumulated know-how, consider outsourcing it to an external company that has a lot of experience in Flutter development.
Flutter development case
We will introduce carefully selected application development examples using Flutter.
“Hobonichi School” (Hobonichi)
From the end of June 2021, Hobonichi will be offering a video content service, Hobonichi no Gakko.
Hobonichi School was established in January 2018 as a place to study the classics. In addition to expanding the range of lectures, we released a smartphone app as a service that can be used by more users.
For app development, we adopted cross-platform Flutter, which is compatible with both iOS and Android. We adopted agile development that is strong against specification changes, set 2-week sprints, repeated PoC, and brushed up.
Since the release of the app, the lineup of lectures on a wide variety of themes given by a wide variety of instructors has attracted attention, and has been highly rated not only by existing Hobonichi fans, but also by new users.
Music game app “Rhythmeal” (Roland)
Roland, a long-established electronic musical instrument maker, has developed a music game app “Rhythmeal” that allows you to acquire a sense of rhythm and tempo.
Unlike existing music games, this game is characterized by the ability to freely arrange the rhythm between beats according to the user’s sensibility.
In terms of development, Flutter, which is compatible with multiple platforms, is used for future scalability. After careful technical research, we created a mockup and repeated PoC to make adjustments to improve the responsiveness that is the core of the music game.
Since its release, it has been well received by users, and expectations are high for it to be an approach to new customers that fills the gaps in the process of purchasing musical instruments.
Fault diagnosis app “Kubota Diagnostics” (Kubota)
Kubota, a manufacturer of construction and agricultural machinery, has developed a failure diagnosis application “Kubota Diagnostics” that utilizes 3D models and AR to be provided to service engineers at dealerships.
In conventional troubleshooting, it took a lot of time to find the corresponding part from the huge amount of information in the manual. As a solution, we built a simple failure diagnosis flow that automatically displays inspection points and repair methods by entering error codes and problem symptoms.
In terms of development, we adopted Flutter, which is compatible with multiple devices, in consideration of scalability. By building our own CMS and accumulating logs and user feedback, we have made it possible to collect a variety of information that will lead to the development of future diagnostic flows and potential failures.
JTB App (JTB)
Until now, JTB, a major travel agency, has mainly sold travel through stores and online, but in May 2022, the “JTB app” was renewed, and reservations from the app are rapidly expanding.
Monster Lab supported the company’s app renewal. The new app is equipped with new functions that the old app does not have, such as (1) search and make reservations for domestic and international travel, (2) check the details of booked trips, (3) send and receive messages with JTB, and (4) check points.
In addition, this application adopted Flutter aiming for smoother and more efficient application development and operation. Furthermore, by incorporating Scrum, one of the agile development methods, we have realized rapid market entry of new services. Monster Lab is still helping improve the app and implement additional features.
Summary: Streamline app development and reduce costs with Flutter
Flutter can reduce development time and costs. In addition, the hot reload function and Google’s material design can be incorporated into the UI, so development can proceed efficiently.