Hi. I remember when Dart was introduced, it was supposed to be a "JavaScript alternative" (?) for browsers.
It however "evolved" into being almost only used in Flutter, for developing mobile, web, and desktop front-end development.
It seems bizarre to me that a language is so special-purpose for front-end. Even Ruby has some fringe use cases beyond Rails.
Does Dart have any particular features that justify such a decision to bind Flutter to it? Or it has all been accidental?
Thanks
There have been lots of previous discussion about Darts strengthweaknesses and why Google chose Dart for Flutter. To sum it up, Darts strengths is JIT/AOT compilation, hot reload, concurrency, null safety to deliver performant UIs across platforms without JS interop or markup bridges.
Google tested other languages but stuck with Dart for its “UI as code” fluency, hot reload that preserves app state and native performance parity on mobile/web/desktop.
Of course, other frameworks and languages is catching up to features and DX that Dart and Flutter offers.
Even though Dart was meant for UIs, there is work being done to make it a viable option for backend dev as well, see Serverpod. Dart also finally implemented cross compilation this year which helps with shipping binaries to other machines.
https://github.com/dart-lang/sdk/issues/28617