What is Dart
Ease of use
Dart is a fairly new language for most of the developers outside of Google. Although Google has put a lot of effort into documenting the Dart programming language, it's still hard for developers to find solutions for specific problems. In terms of coding style and syntax, it has Java-like syntax, so developers from OOPS background can master and use Dart easily once they learn the basics.
Dart has great documentation, but new or even experienced developers can get confused with the Dart language features. The Dart syntax is clean and mostly looks similar to Java, so developers with Java background can pick up the code syntax easily. However, developers may struggle a lot to find solutions to the problems in Dart. There is a comparatively small community and some online groups for Dart and Flutter, see the list here.
Learning Dart can be daunting task for beginners as Dart is not a commonly used programming language and there are very limited courses or books available online for the Dart programming language. However, Google has extensive documentation of Dart on its official website, which helps programmers from other OOPS languages to pick up the Dart concepts easily. Some of its syntax might be unusual and come as a surprise, but with little bit of practice, developers will soon feel comfortable with Dart.
Dart can be compiled both AOT and JIT which helps building apps in several ways as using JIT compilation can speed up development and AOT compilation can be used during the release process for better optimization. This technique has been used in Flutter app development.
Frontend vs Backend
Dart is currently actively used with Flutter for developing the frontend of cross-platform mobile apps. Dart can be also used for web development, but there is no mention of Dart being used for backend development.
Web vs mobile
Dart code can be also developed with lightweight editors like Sublime or VIM, but there are IntelliJ IDEA and Android Studio that come with the Dart plugin and are the most commonly used IDEs for Dart application development, especially for Flutter app development.
Dart was born in Google, so obviously it's being used inside Google, but there are some big brands like Alibaba that also adopted Flutter and Dart for developing cross-platform mobile apps. There are some other big companies that use Dart, including Blossom, WorkTrails, Whale, Mobile, etc.
Pros of Dart
- Backed by Google and runs easily on Google Cloud Platform
- Dart is type-safe and compiled with both AOT and JIT compilers
Cons of Dart
- Dart is fairly new to the programmers and rarely used in the market.
- Dart has very limited resources online and it's hard to find solutions to problems.
- Being a dynamic language, programmers can make big mistakes easily.
- There are constant changes as a new framework lands after a regular interval.
The latest news related to Dart is that Google announced Flutter 1.2 and Dart DevTools at Mobile World Congress 2019. Flutter is growing fast and progressing with new features getting added day by day.