Flutter for Cross-Platform Mobile Development
These days, mobile development is in high demand because people start to depend on their mobile apps to help their problems or daily activities. Two mobile platforms are usually used by people: iOS and Android. So many companies or mobile developers need to write two versions of code, iOS, and Android versions to reach their users. But maintaining both codes is not simple and expensive. It’s not simple, because both platforms are very different by code, expensive because normally you need to hire one person for each platform that will cost you a lot. Since 2009, there is an approach to deal with these problems. Starting with Cordova, hybrid mobile development emerged as a solution by creating a platform that will provide you with both apps with only a single code. After Cordova, another platform started to emerge such as ionic, React Native, Flutter, and many more. In this article, I want to focus on flutter because it’s aligned with my job as Flutter Developer in Glovory.
What is Flutter?
Flutter is an open-source software development kit created by Google (another Google product) and capable of developing not only mobile but also desktop and web applications with only a single code. The first version was released in December 2018 during Google Developer Days in Shanghai and It stated that flutter can perform 120 frames per second consistently, make flutter gives a smooth app that feels like a native app.
Pros
Capable of building a cross-platform app is obviously a plus for Flutter, not only because you can write less code, and fast delivery for all platforms but also can reduce the cost. But there are other pros that Flutter has that can attract programmers to use it.
- Hot Reload: Developers can see the changes on the app when they change the code after they save it and it happens very fast, almost instantly. For Android, I always have to wait for 5 minutes(roughly) before I can see the changes in my app. My friend that has a laptop/computer with specifications below mine sometimes has to wait more than 30 minutes. 30 minutes of doing nothing is not very productive.
- Open Source: not only because open source is free, but the community has become so big. After its release, the Flutter community keeps growing in size, a lot of flutter events around the world is held. With a big community, every member always try to help the other when the other face difficulty and you can even contribute to making flutter better
Cons
Everything has cons or minus, we can’t satisfy everyone. Being able to build a cross-platform app without having a drawback it’s kind like too good to be true or too perfect. Flutter is no exception. There are some cons that I want to point at :
- Young: flutter is still young, almost two years since flutter released, and its version is still one. So, we can expect Flutter will grow and develop into a better app. It means we will face any improvement, bug fixes, or major update that probably can make us refactor our code to be able to use the latest version
- Limited Libraries: there are limited third-party libraries that are available or we can use it to build the app. Perhaps you will not find libraries that you need, but because flutter still young, we can wait for someone to make the libraries or we can create it by yourself
- Large file: App file size can be crucial, sometimes our client didn’t want to install the app if the file size is too big, because they have a limited storage free space/data. This is also one of the flutter drawbacks if we compared to native apps, flutter apps always have a bigger size. A simple app like “hello world” probably will generate a 6–10 MB file while native only 1–2 MB.
How to make an app using Flutter
To make an app using Flutter you need two things, Flutter SDK and Editor. You can use any editor you like but Android Studio and Visual Studio are the ones that are mostly used by Flutter developers because we can integrate Flutter with both of them and make development easier. Flutter already has a detailed guide on how to install flutter and also integrate it with android studio, visual studio, and emacs. You can find the guide by following this link
Final Thought
Flutter is a great option to build a cross-platform app. Despite the cons that I mentioned above, I believe flutter can give you or your client a great experience like a native app. Here, in Glovory we create an app using Flutter and we are satisfied with its result so far. Hopefully, this article can give you an insight about flutter and if you want to build a cross-platform app you can contact us
Contributor : Nashiruddin Abubakar