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 pegged it midway up their June language-popularity chart.
AngularDart has a reputation as a framework that produces streamlined and blazing-fast code. Late last year, HackerNoon produced a pretty good list 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.