Dart for Kotliners

Similarities and differences from the perspective of a Kotlin developer

David Miguel
19 min readApr 21, 2021

--

When you are trying to learn something new it is always very helpful to relate the new concepts and information to your prior knowledge.

That is exactly what this article is meant for. Applying all your existing Kotlin knowledge and expertise to learn the Dart programming language as a first step to get into Flutter development.

We will cover the following topics:

· What is Dart?
· Hello world
· Type system
Numbers
Boolean
String
Dynamic
· Variables & Constants
· Operators
Arithmetic operators
Relational operators
Logical operators
Bitwise operators
Type check and cast operators
Nullability operators
Operator overloading
· Conditional expressions
· Loops
· Functions
· Classes
Extension functions
· Collections
List
Set
Map
Collection operations
· Asynchronous programming
Threading and parallelism
· Generator functions
Synchronous generation
Asynchronous generation
· Dependency management
· IDEs
· Learning resources

What is Dart?

Dart is an open-source, general-purpose, object-oriented, statically typed programming language developed by Google in 2011 with the ambition to be a better alternative to JavaScript for building scalable complex web applications.

The first stable release was published in November 2013. In February 2018, Dart 2.0 was released embracing a new vision of being a “language uniquely optimized for client-side development for web and mobile”. And last month, Dart 2.12 was released featuring stable versions of sound null safety and Dart FFI.

Leaving behind the initial criticism and bad press that it had during its first years, Dart is rapidly gaining popularity thanks to the emergence of Flutter for building cross-platform apps.

Even though it hasn’t yet broken into the top 10 on the PYPL Popularity index (20th) nor in the TIOBE Index (36th), it is in the top 7 of the “Most Loved vs. Dreaded Languages” according to the results of the 2021 Stack Overflow annual survey.

--

--

David Miguel