But before i will dive into Flutter and Dart, some words about my background so that you understand where i am coming from or better, where i am NOT coming from. First of all, i am not a mobile developer. Never have been. For the most part of my professional life, i was a fullstack developer in the Java space and a bit on the desktop too (yikes! Yeah i know. Back in the days….). And along the way i touched many things, mainly to see how they work.

But why i am telling you that? When people talk about their experience with a new language or framework, their feelings really originate from their past experiences.

The language behind the framework. As a long time java developer (yeah i am old) i know of course one of the creators of Dart, Gilad Bracha. He worked for Sun on Java back then and perhaps its a coincidence but Dart somehow feels like a bit of Java and a bit of Javascript. If you know any of them, you should be fine and pick up Dart syntax in a couple of days. Perhaps its even easier for the (real ;-)) javasript folks, because async/await is already there as well as iterator constructs like .map(). So what do i really like about dart?

I like….

powerful constructors (named parameters, initializers,…)

async/await and Futures

single Inheritance and Mixins

not as strictly typed as java

expressive enough so reading is a no brainer

Overall it feels like a modern Java, somewhere in the middle of ECMAScript and Java. My guess is that when people start working with Flutter, Dart wont be the deal breaker. Its mainstream enough to dont scare people away. I bet it would be different if Google would have chosen Rust for example.

So why did i decide on going with Flutter for my next project? First, i wanted to code with a framework that essentially compiles to both mainstream mobile operating systems. Second i wanted kind of native speed on the device and last i wanted a mainstream player behind the project. As i told you before, i am old and have seen enough projects dying partly because of lack of company backing.

This is the point of time in the article why people will most likely ask: But why not React Native? Long story short. I tried React (without native) some time ago and i liked the overall concept. But what i didnt like was the tooling behind it. You need to know so much stuff in order to get on speed and even if you master the tooling, you still have the option which language to use. I just say “typescript declaration file for node libraries” as a placeholder for said issues far away from doing real work.