It’s been almost six years since Dart, a general-purpose programming language developed within Google, made its debut. Since then, it’s slowly risen in the rankings: the August edition of the TIOBE Index, which measures the popularity of programming languages, put Dart in 20th place, up from 26th a year ago. Meanwhile, analyst firm Redmonk
of the reasons to consider using it, including scalability and extensive documentation. Via GitHub
, you can also check out the AngularDart components that Google uses to build apps that align with its Material Design
philosophy—especially useful if you’re building Android apps, or a product that leverages Google services in some way.
I like Dart. It has some modern features familiar to anyone who’s worked with the latest generation of languages (i.e., Swift, Kotlin, etc.), including static typing, generics, async/await, functional programming features, streams and SIMD. Add to that Isolates and zones, two higher-level constructs for concurrency and parallelism, and Dart is a nicely designed language. Another feature well worth mentioning: not so long ago, the language's development team introduced Strong mode. This beefs up the ‘soundness’ of Dart’s types through both static analysis and run-time checks. If you’ve used Java or C#, you’ll be familiar with the static typing. This prevents runtime errors such as fetching a stream from a list but getting another type and throwing an exception (on mobile apps, an uncaught exception kills the app). Strong mode is optional in the first version of the language but an integrated part of the second.
. In a similar fashion, Dart can be used to write HTTP servers, and there are third-party products such as Aqueduct
, billed as “an extensible HTTP framework with integrated ORM, OAuth 2.0, and test libraries” that runs on the Dart VM. Given how web, HTTP servers and mobile apps all possible in Dart, it’s potentially a language worth your time if you’re a sysadmin or other IT administrator who needs to set up some infrastructure.