Flutter is a portable UI kit and a great one at that. I’m going to explain why Flutter will be much more widely used in the software industry than it is right now. Even more than Javascript.
Flutter is a portable UI kit and nothing else
Before we start Let’s get something out of the way. I’m not going to talk about Flutter web vs Javascript frameworks like React or Vue. This article is not about that at all. For what it’s worth I think Flutter has a long way to go to challenge something like React or Vue. Then what are we going to talk about?
It’s important that we understand what the purpose of Flutter is first. Of course we can create mobile, web and desktop apps with Flutter. But Flutter is not like other cross platform frameworks that only target mobile, web and desktop. Flutter is designed to be a UI kit that can render on any device that has a screen. And the solution that Flutter is using to achieve that is being a portable UI kit. A good example of this is what Toyota did. Toyota is using Flutter’s Embedder API to develop its infotainment systems ( which is the screen that is on your car dashboard ). This is something that other cross platform frameworks like react native cannot achieve.
It’s worth mentioning that other frameworks have never been as successful as Flutter in this aspect.
The Problem of native UI kits
Works only on one platform
The obvious problem of native UI kits is that it only works on its platform. A lot of effort goes into writing code and it works only on a single platform.
Can have its own limitations
Native Platforms can have their own limitations. Take Native Android UI kit for example. it is heavily fragmented. some ui elements work on some versions of it and some don’t. Or they don’t look or behave the same. Some elements like shadows don’t even exist in older versions of Android. It’s not only that. performance is also the problem here. UI kit for older Android versions are not as fast as Newer versions.
With Flutter it doesn’t matter how fast it is now because it will be faster in next versions. And when we update our flutter apps they will run faster as well on all devices.
It’s a complicated situation
It’s not just about the performance and the technical part. Let’s say some company creates a refrigerator that has some smart features in it. And it has a nice screen with a nice user interface which you can interact with. The company has written its own UI kit and also released an sdk which developers can use to define new features or change existing ones. Great!.
Smart devices can be costly for all parties involved. Manufacturers, customers and developers.
Now let’s talk about money. It’s gonna be much more expensive than normal refrigerators because of all the cool smart hardware and software they put in it. probably three times the cost of a normal refrigerator. Now many people won’t buy that refrigerator because a few extra features that make that device smart does not worth paying three times the amount of a normal refrigerator.
When it comes to third party developers they won’t learn the sdk to create new features for that refrigerator either. Because they should spend a lot of time first learning the SDK. And then creating features for a device that does not have a lot of users.
So manufacturers don’t even bother creating smart devices that no one wants to buy. customers don’t buy them and developers don’t write code for them.
Take Smart watches for example. Many people buy them but even with all the applications and cool features they have in them, many people still regret buying them. because they felt it wasn’t worth their money.
Complicated but important
You might be thinking why do we even want walking, talking refrigerators that are expensive. And the answer is we don’t. The important point is if there is a smart device that people think will provide them value considering the amount of money they’re paying for it, they will buy it. And if there are enough people thinking the same then there is a market for that smart device. If there is a market, companies will aim for that market and make that smart device.
Then where do the developers come into play? if developers there are enough users to develop for and profit from they will play. but if they don’t the story will be like windows phones. companies built them and people bought them. but not that much application was created for them compared to the competitors like iPhones and Android phones. so eventually people stopped buying them and companies stopped creating them.
If you look at it it’s like a giant wheel. all parties must be willing to push the wheel so it can spin.
Flutter is the best solution to one problem
If the problem is writing User interface code and running it on many devices that have a screen, then yes. Flutter is the best solution that we have right now. Thanks google. although there are other problems that need to be solved until we get to a future where creating smart devices is not that expensive anymore.
A Future where our smartphones and laptops are not the only smart devices that we really have a use for. A future where writing code for other smart devices other than smartphones and laptops is worth developers time.