Key Difference of Flutter : “Controlling Every Pixel”

Emre Şurk
2 min readFeb 21, 2021

If you heard about Flutter, I’m sure you also heard the “controlling every pixel” motto. But, what does it mean? What are its advantages and disadvantages?

To understand where it comes from, let’s have look at how other technologies work;
In ReactNative, you write to UI code and it compiles to native views.
In Ionic, you write UI code and HTML render engine of the device(usually WebView) creates the view.
As you can see, in both technologies the appearance of your app is dependent on another controller like web view, OS, etc. As expected, different operating systems and even versions of these operating systems can render your code differently, and even worse, they send different data to you. For example, a scroll view can send different offset values differently. And of course, that may cause some unwanted situations.

That is the point Flutter differs;

Flutter uses a graphic engine called Skia and creates and controls all views and all the things you see by creating all pixels by itself. There is no other authority that controls the app’s appearance. Everything you see is rendered by Flutter itself. Including even system menus like text menu.
That system provides absolute control of your apps; both for the appearance and its behavior and allows us a lot of opportunities.

And you can notice, that comes with a disadvantage; creating system provided things like they do not exist; system menus, navigating animations, etc. Fortunately, the Flutter team put hard work into it and already created all these stuff seamlessly. I believe, most of the Flutter developers even do not notice all these things created by the team, because they work like a charm.

So cheer up guys, its time to create awesome apps on both platforms 🙂

--

--