DEV Community

Ajay Raja
Ajay Raja

Posted on

Is Flutter really a App Development Framework?

Critical Look

While trying Flutter for first time, The Above question rose in my mind. After doing some research from I Found the answer for this question. These post is simply my opinion and research about how it works. Let me mention it clearly, I'm not a hater of Flutter. I love the Tech and it's architecture but You need to know whether It works like A App Development Framework.

Rendering

For those who knew about Shaders and it's working and where it was used, You will get my point easily because Flutter uses Shaders for Every part of UI. . But why? I had a WTF moment when I discovered this.

For Those who don't know about Shaders, Let me explain to you in simple terms. Shaders are program written in C like Language that handles how to paint or draw in-form of pixel in Screen. They are primarily used in Game Development. Every Android and iOS Platform knew how to draw a text in Screen or Any Element in Screen because It was created in a way to do all kind of basic operations like rendering Text, Button and so on. But In Flutter, We are adding a extra layer that handles these drawing work.

Shaders were introduced to draw complex and custom elements in Games because Video Game needs custom elements. Platform had all things in it. Basic Element Rendering were predefined at OS level But Flutter ignores all those things and adding extra layer that redo these drawing stuffs. They did it to add custom animations. I totally get that but Still They could have done that for only Elements with Animation. Instead They did it for all elements even to Basic Elements like Text.

Now Think about this, Why do we need to ship the code that contains How to paint a text in Screen? It contains shaders which is slower than Native Platform. Shaders could never close to Platform Rendering. These are adding some Shitty Fatty code that bloats our App Size and Performance. It has both worst space and time complexity. The Advantage of this approach is Better Developer Experience. Why do need to sacrifice both Space and Time just for Better DX? Kotlin MultiPlatform (KMP) solves the same problem with native compilation and Better DX. Then Why Flutter?

I'm not a Flutter hater. But I don't like this approach for building apps. It looks like Game Engine without Physics. Only Difference between Impeller Engine at Flutter and Game Engine is Physics. In other words, Impeller is Game Engine without Physics. Why the hell we need Game Engine for building App Development?

Conclusion

If you found my language a bit critical,I'm Sorry because This post is written in that kind of way. Here my thoughts about Flutter, It should be made as Game Development Engine. I think Krafton, Inc found this truth and They did developed their game with that. My Final Conclusion is that Flutter Framework should focus as Game Development Framework instead of App Development Framework. It's working Mechanism and DX suits well for Mobile Game Development rather than App Development. I hope You understands well.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay