Students' Corner

Is Flutter, the upcoming future of software development?

    K.S.S.M Chathuranga

    IM/2017/009

    The Software development industry is expanding day by day. Thousands of problems of mankind have been solved with the use of software. Developers indeed try their best to address these problems and find better solutions. For that, they use different programming languages, frameworks, platforms, and so on. However, the present-day world has been gifted with thousands of new technologies that help humans to improve the effectiveness and efficiency of their work.

    Journey of Flutter

    Flutter is the mobile UI framework of Google that can be used by developers to build native applications on both iOS and Android mobile Operating Systems (OS). Flutter which is a framework developed by Google is written in C, C++, and dart language. Flutter was initially released in 2017. Afterward, Flutter has gone through a long journey till 2020. Now we can do wonders with this framework. By the year 2020, Flutter has moved to different platforms such as web development and even to desktop application development.

    When considering the recent times, Flutter has gained huge popularity among developers rather than other mobile development frameworks like React Native and Ionic. It gives unique features for its users and as a result of that, nowadays developers build their applications with Flutter.

    Every pixel is under the control of the developer in this framework. Therefore, it means the developer has the flexibility to build custom designs. When we build applications, we have to compile the code to get the result of our work, but in Flutter by using the stateful hot reload feature, we can change our code and see the results in a second without losing the current state of the app, which assists to save the time of the developer. Moreover, developers can make attractive user interfaces using Flutter widgets. Another advantage is, Flutter being an ideal framework for developers who interact with development tools such as Visual Studio Code and Android Studio, it integrates with them and we can quickly get started with the editor we are familiar with. With the dart development environment, we can quickly get to know if we make mistakes because when compared to a language like react native, dart is a stricter language. Thus, it saves our time when we are debugging our code.

    Not only in the developer’s point of view but also if one is a businessman, and if he/she wants to build an app for an organization, Flutter is the ideal framework for that dream because within a single code base he/she can develop an app for the organization. Therefore, the Android and iOS applications can be maintained with the least amount of cost. Day by day we can see a rapid increase of Flutter apps in the play store and apple app store. Since Flutter is developed by Google, now it supports many SDKs and technologies. As we know, nowadays we can see that the technology is developing with machine learning concepts. Therefore, we can also use machine learning concepts with our apps by using Flutter. Now the world is full of advanced technologies. We use Artificial Intelligence (AI) for our work. TensorFlow is an AI engine that is also developed by Google. Since their release of TensorFlow Lite for mobile development, we can use AI models that we have already used for our development work. Not only that, when considering Flutter, Firebase is one of the backend development platforms which is also developed by Google. If we use firebase as our backend in our apps, we can use the ML Kit which also gives machine learning features such as image recognition, text recognition, landscape recognition, etc. Furthermore, we can host our own TensorFlow AI models by using Firebase. We can use all those features by using Flutter with Firebase. Since Flutter is an open-source platform, developers are keen to develop their own Flutter packages nowadays. By using those packages, we can develop our apps with modern technologies.

    Uses of Flutter

    Hence, Flutter is not only used for mobile development. Flutter came up with mobile responsive web development as well. It is called Hummingbird. Rather than using basic HTML and CSS codes, we can develop web pages easily using Flutter. Developers can use Flutter as the frontend of their web development and use any backend according to their preferences.

    Then Flutter came up for desktop application development. In the initial release of desktop application development, it came only for macOS, but now it is also supported by Windows and Linux. As a result, we can simply use an Integrated Development Environment (IDE) and develop desktop applications. Hence, we can also call Flutter a cross-platform framework. Now Flutter is moving into another level, which is used for Embedded System Development. Therefore, now developers can use Flutter for programmed Raspberry pi boards too.

    Flutter came up with all the methods of mobile, web, desktop, and embedded development. Amidst that, the Android OS was developed by Google. Now they are developing another mobile OS called Google Fuchsia. It is being developed using the Flutter framework. They might be planning to replace Google’s Android OS with Google Fuchsia. With the current situation of the world, there is a high possibility for that to happen. Since there is a cold war between China and the USA, the USA is refusing to exchange its technologies with China. Therefore, the Chinese mobile company Huawei introduced a new mobile OS called HarmonyOS. Therefore, Google obviously has to compete with them and as a result, Google might replace Android with Fuchsia one day.

    What will happen next?

    It is clear how the Flutter framework is used for modern technology. No matter what development platform is used, we can develop our programs using Flutter. Rather than learning different frameworks for different platforms, we can learn Flutter and use it for various platforms. The world has become a single unit with these emerging technological advances. The future cannot be predicted exactly. Nonetheless, it is obvious that this framework can be a gigantic change in software development one day. Hence, isn’t Flutter, the upcoming future of mobile development?

    Comment here