Flutter is one of the mobile app frameworks provided by Google, and is attracting attention as a cross-platform. Even if you say “application development” in a word, the target OS can be roughly divided into Android and iOS. Until now, it was necessary to develop apps for each of the programming languages compatible with the OSs of Android and iOS.
However, in recent years, it has become possible to utilize a framework called “cross-platform” to develop apps that support both Android and iOS operating systems with a single code.
In this article, we will introduce the outline and features of “Flutter”, which is gaining popularity among cross-platform, as well as the advantages and disadvantages of Flutter development.
<Table of Contents>
What is Flutter?
・ The reason why Flutter is attracting attention
Advantages of Flutter development
・Shortening of development period and reduction of development cost
・Reduction of maintenance and operation cost
・Ability to respond to changes by hot reload
・Unification of UI by material design and abundant design
– Linkage with terminal-specific functions
– Support for the latest functions and the latest OS
4 domestic Flutter development cases
, Seiei NAVI
, Toyota Connected
What is Flutter?
Flutter is one of the mobile app frameworks provided by Google, and is attracting attention as a cross-platform. Cross-platform is a program that runs on different platforms such as Android, iOS, Windows, and macOS, as mentioned above.
For cross-platform development, developing in an environment prepared for each OS is called native development. Generally, when developing Android apps, we mainly used “Kotlin”, and when developing iOS apps, we used “Swift”, and it was necessary to develop apps using different languages.
However, cross-platform allows you to develop apps for both Android and iOS operating systems by writing the source code in one language, the “Dart” language in the case of Flutter. Strictly speaking, not all of them can be supported by the same source code, but if the app has only basic functions, it will be compatible with both Android and iOS.
In addition, Flutter2 was released on March 4, 2021, and support is expanding not only to Android and iOS but also to the Web, Windows, macOS, and Linux.
Why Flutter is attracting attention
Cross-platform development is attracting attention because of its convenience and cost advantages. Among the cross-platform tools, Flutter seems to be the hottest.
Like Flutter, React Native is a representative of cross-platform. React Native is a framework developed by Facebook, and like Flutter, you can create Android and iOS apps with a single code.
There are three main differences between Flutter and React Native.
- The language used is
- Supported OS types
Flutter supports Android / iOS / Web / macOS / Windows / Linux, while React Native remains Android / iOS / Web (Windows).
Flutter builds the UI with its drawing engine. Therefore, it is easy to develop a UI design common to iOS and Android without being affected by the difference in OS and its version. On the other hand, React Native uses the native UI for each OS.
As you can see from the above, Flutter is also advantageous in terms of development convenience and cost because it supports more platform development and it is easy to create a common UI design that does not depend on the platform. It can be said that there is sex.
Also, if you compare the search keyword volumes of Flutter and React Native in Google Trends, you can see that Flutter is attracting attention not only in Japan but also in the United States.
Benefits of Flutter development
In this chapter, we will focus on the four points of the benefits of Flutter development.
Shortening the development period and reducing development costs
The big difference from native development is that you can develop iOS / Android with one code, which will shorten the development period. By reducing the amount of code and work man-hours, the development period and cost will be reduced as a result.
Reduction of maintenance and operation costs
For native apps, Android development engineer, iOS app development engineer, each engineer needs to be involved in the maintenance operations. However, if it is cross-platform, it can be handled in one language, so even one person can simply handle it, so it is easy to secure personnel resources and it can be expected to reduce maintenance and operation costs.
By reducing the risk of bugs, the response to bugs is reduced, and there is no need to develop functions or specification changes separately for each OS, so not only in the development stage but also in the long-term perspective. There are also benefits to cross-platform development.
Ability to respond to changes due to hot reload
Hot reload is a function that immediately reflects on the UI after rewriting the program. The biggest merit of the hot reload function is that when you change the program, you can immediately check the changed part on the actual machine, so it does not take time to check the changed part. Normally, it takes a lot of time to see the changes, but with the hot reload function, development efficiency will increase.
Even native apps may have a hot reload function depending on the development tool, but of course, it will take time to change because it will be changed on Android and iOS respectively.
Unification of UI by material design and abundant design
Flutter uses the material design recommended by Google. Material design refers to a design that users can intuitively understand and operate, and enables a common platform-independent UI design.
For example, on the app, you can create a three-dimensional design so that the user can intuitively understand “which button can be pressed?”, Or add an animation such as changing the color when the cursor is placed on the button. increase. There are plenty of icon and animation designs available, making it easy to create visually appealing designs.
Following the advantages, here are some disadvantages that you should be aware of when developing Flutter. Depending on the service, Flutter development may not be suitable, so it is necessary to carefully consider it in advance.
Cooperation with terminal-specific functions
Flutter can also be used to link basic functions such as cameras, GPS, and push notifications that are generally installed in smartphones.
However, if you want to use the unique functions of Android / iOS, or if you need detailed customization due to complicated specifications, you need to develop individually for each OS.
Support for the latest functions and the latest OS
The latest features are installed on Android and iOS every day, and updates to the latest OS occur. Flutter is compatible with these latest functions and OS after its release, so it is difficult to respond immediately.
If you are native, the beta version will be released, so you can quickly respond to the latest features and OS.
4 domestic Flutter development cases
This chapter introduces the services that are being developed using Flutter in Japan.
“Jalan” is an app that is often used when booking inns and hotels on the road. We offer a wide range of services such as hotel reservations, travel activities, and car rental reservations. Flutter was adopted by some of the services.
Originally, we released Android and iOS apps for more than 10 years, but we are improving the convenience of maintenance and operation by making future repairs with Flutter.
In addition to new development, there are many cases where existing apps are switched to Flutter later like Jalan.
Green is a performance-based recruiting media that has strengths in IT-related human resources developed and operated by Atrae Co., Ltd. Green has released an Android app on Flutter.
When I found it difficult to secure the resources of a mobile app engineer, I decided to develop an app with Flutter and succeeded. In the future, it is planned to switch to Flutter for iOS apps that have already been released.
Seiei NAVI is an app developed and released by JMA Research Institute. In addition to providing useful information to life hygiene-related business operators nationwide, searching for the latest information related to loans/subsidies, events/seminars, and other management, we have created a mechanism to receive useful information using the push notification function according to the user’s attributes. I’m making it.
Flutter has been adopted for rapid development and cost reduction, and is compatible with both Android and iOS. It is also expected to help reduce maintenance costs after release.
Toyota Connected, a subsidiary of Toyota, is a company that has strengths in the IT field and is engaged in in-vehicle systems. Since Flutter 2 can also support the development of embedded devices, Toyota Connected announced a plan to adopt Flutter for the construction of next-generation infotainment systems, which attracted attention.
Flutter also has partnerships with Toyota as an important partnership in partnership with multiple companies.
Flutter development has the great advantage of being able to develop apps for both Android and iOS. There are some disadvantages such as having to deal with each OS, but in many cases, the advantages will be greater.
There are cases where famous companies have released apps developed using Flutter, and it is expected that they will become more widespread in the future.
If you ever want to know about similar things, check out the Facebook page Maga Techs.