Dart
Published in

Dart

One of the well-meaning responses.

1. Dart is a big deal at Google

Obligatory Zoolander reference.

2. Dart is very actively maintained

Dart is stable now — currently v1.13 — but that doesn’t mean work on it has stopped or even slowed down. If you look at github.com/dart-lang, you’ll see 139 repositories pertaining to Dart that are maintained by Google. Let’s have a look just at the core (sdk) repo.

Excluding merges, 32 authors have pushed 408 commits to master and 412 commits to all branches. On master, 828 files have changed and there have been 93,059 additions and 88,236 deletions.

Compare these numbers to those of other similar projects developed in the open, such as Rust, Go, Scala, TypeScript or Ruby.

3. Dart will soon run everywhere

Dart’s first target was the web, but from the beginning it was designed as a general purpose programming language.

  • You can compile Dart to JavaScript that runs in every browser.
  • You can write command line tools and even servers in Dart.
  • Soon, you’ll be able to write Dart code for micro-processors (think Raspberry Pi) and — more interestingly — for micro-controllers (think Arduino). This means developing for really compact, really cheap, really low-energy devices is no longer a C/C++/asm club.
  • Soon, you’ll be able to write Dart code for native Android and iOS apps.

4. Dart is stable and consistent

I’ve noticed that even early adopters are getting tired of the constant change in tooling and libraries du jour.

5. Programming in Dart feels right (to me)

Ok, this is subjective. But let’s face it, our dev stack choices often are. If you can help it, you tend to use what feels right to you. Some developers love JavaScript, others hate it — although it’s still the same language. Same for Java, PHP, Ruby, or Dart.

  • It’s familiar (no weird syntax masturbation), especially if you’re coming from C#, ActionScript, Java, C, and the like.
  • It’s unsurprising (no wtf semantics).
  • It gets out of your way (optional types, unsoundness, GC, everything-is-an-object, mirrors)…
  • … but it lets you write robust code (optional types, optional generics, libraries, packages, transformers).
  • It makes it easy to do the usual things (async/await, string interpolation, this.field, null-aware operators).
  • It comes with a well-thought-out standard lib.

--

--

--

Dart is a client-optimized language for fast apps on any platform. Learn more at https://dart.dev.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Filip Hracek

Filip Hracek

Developer and manager working on Google’s Dart programming language and Flutter SDK; gamebooks enthusiast; https://filiph.net

More from Medium

Higher-Order Functions & Recursion in Dart [Functional Programming — Part 5]

Popup Menu Customization in Flutter

InheritedWidget & FutureBuilder

Flutter article on the widgets, InheritedWidget and FutureBuilder

An Introduction to Flutter’s World