DEV Community

Cover image for Flutter: Unofficial Winner of Cross Platform
matched.io
matched.io

Posted on

Flutter: Unofficial Winner of Cross Platform

At this moment, some of you might be reading this article on your mobile device. While using an app on mobile (whether it’s iOS or Android), have you ever thought about how these apps are working or what the programming language is that’s running the app for you? Many will answer Kotlin or Swift or React Native etc. While React Native was the official Framework for cross platform for app development for so long, there are many others that can be used for the same purpose and nowadays, Flutter is the one that is sharing the realm with React Native.

Flutter is created by Google and uses Dart as a programming language. Along with Dart, there’s also Flutter Engine, Foundation Library & Widgets (as the visual blocks of the app, including design-specific element sets). Dart is a more conventional development language and can be compared to C# and Java or any other Object Oriented Language you can find. Even though Kotlin and Flutter both are created by Google, the Big Tech company is promoting Flutter hard because they see the future there. They want to make Flutter a toolkit to develop apps that can run on every device that has a display (screen) to it.

Dart is one of the prime reasons why developers love Flutter. Dart provides the language and runtimes that power Flutter apps for Hybrid platform, besides this, It also supports tasks like formatting, analysing, and testing code easily and within a short time.

Google Pay, Xianyu by Alibaba, PostMuse, Hamilton etc. apps are built with Flutter.

Image description

Apart from the big companies, a huge number of startups are also choosing Flutter for its diverse and easy application.

I was wondering how Dart became so popular among developers within a short time, so I checked with some of the developers who are either working with Dart or planning to do so. According to them, it is pretty easy to learn for those who are already familiar with coding. To learn Dart, they only need to familiarise themselves with the basic principles of this programming language. Another thing is, ​​Dart is veritably stable and can be used to build production quality real-time applications. It is an object-oriented programming language which supports interfaces and any type of optional typing features. I guess by now you’re thinking “Oh wow! Dart is a super cool tool to work with.” C’mon, do you really think a tool doesn’t have any disadvantages? Limited set of libraries, massive file size and this list might go on & on.

Instead of trying to sum up with more pros and cons, let’s hear from a developer’s mouth exactly what he thinks about Flutter and Dart.

Shall we?

1. Please take a moment to introduce yourself.

My name is Mohsen Namazi. I studied bachelor’s and master of computer science and I work as a Flutter developer in UNOWN.

2. Thank you Mohsen for giving us time. There’s a lot of other frameworks to work with but you choose to work with Flutter. Would you please explain why you choose this specific one? Do you think Flutter is perfect for mobile applications?

Several hybrid platform frameworks are getting used in the market. Flutter is one of the newest frameworks that was created by Google. I think the signature of Google can guarantee the basic standard of new technology. Since it is around two years since I started working with Flutter, I found it super fast and smooth on both Android and iOS.

3. As far as I know, your platform is a kind of cross-platform like your landing page hosted by your company itself, the product page is on one domain, and payment is on another domain. How do you tackle this situation?

It is possible to use the REST API by the HTTP library. So you can call any APIs and receive the answer. I haven’t faced any problems with using different APIs in Flutter. The only challenge is security, which there are several ways to improve. And in our team, with the help of our backend developers, we make them secure.

4. I heard React Native is one of the main competitors of Flutter. Some developers are saying it has the ability to replace Flutter. What is your perception of this topic?

React Native got released in 2015. It is two years older than Flutter, though based on the number of smartphone users we even can have more frameworks. I think because of the light, the fast output of Flutter, and the super active community that it has, the number of Flutter users will boom in a few years.

5. Flutter and Dart are connected to each other from the beginning. As you are comfortable with Dart, please share some key features that are important to know as a beginner while working.

Dart got mostly known through Flutter. And as a beginner, it is enough to know that it is an Object-Oriented language. So we can have all Object-Oriented concepts that play the main role in the code. Other syntax features of Dart can be discovered by starting coding and looking for the solutions that we are stuck on.

6. Every framework has its limitations. If you had the power to change something in Flutter, what would it be?

Time after time we can see the new update of Flutter. It shows a big team that is working so hard to improve it. The only cons that come to my mind are the launch file size. Although the output is lighter than other frameworks, it is still not comparable with the native code output and needs to become lighter.

7. My last but really important question to you: As a beginner, if I want to learn Flutter, what should be my first step? Any advice for the readers who might have an interest in learning this?

To learn any new framework or programming language, google.com should be your best friend. To take a look at the Flutter syntax and start coding you can take a look at flutlab.io which is an online IDE. It helps you to run the first ‘Hello world’ and change the code as you like. Flutter also has a Youtube channel that contains a bunch of useful videos. As I mentioned, the active Flutter community is a big help to improve your Flutter skills.

After spending time on Flutter and hearing Mohsen’s words, I think Flutter wasn’t created to replace native languages. The strategy behind Flutter promotion is Fuchsia (Google’s new invention- a new OS).

Otherwise, Google wouldn’t have picked Kotlin for Android development. Another reason is that Fuchsia isn’t limited to mobile apps. It can be used across multiple platforms including IOT devices. Next, Google’s plan with Fuchsia is to go beyond the world of smartphones. Some are saying it’s going to replace Kotlin & Swift just like Ionic, Xamarin, React Native, Flash, Native script etc. replaced Java and Swift. Hybrid platform apps are becoming standard and a tough competition for native ones. Companies want to simplify their work and having two apps with just one code base is kind of one best way to do it. And if you can save money, time and resources using such frameworks, why shouldn’t you, right?

We can only predict that the future of Flutter is bright. However, time will reveal the destination and from my point of view, replacing native technologies such as Kotlin or Swift won’t be easy. What do you think about Flutter? Do you agree with me or you might have a different perception of this? Share your thoughts with us via our social platforms or medium. See you next week, with something new.

Till then, Happy Coding!

Top comments (0)