I've been using Dart to build apps lately and it's been mostly fantastic!
But the biggest reason for choosing Dart is that I can learn one language and write on any platform. Isn't that the holy grail of programming? It can be used to compile into:
- web applications with Angular
- native mobile applications
- command line and server applications (https://www.dartlang.org/guides/get-started)
- even desktop applications with GUI: https://github.com/google/flutter-desktop-embedding
If I were not using Dart, I'd be using one of the following on each platform, as I actually have in the past.
- React.js: my favorite.
- Angular.io with TypeScript: typed as well.
- Java: verbose but familiar.
- Kotlin: new and exciting.
- Objective-C: the syntax is very hard to comprehend for beginners.
- Swift: new and exciting.
Command line and server applications
- Go: another Google language (https://golang.org/). It is typed, and it compiles super fast. I love it, but the syntax is hard to remember since it's different from most languages.
- Python: popular, but requires Python to be installed on the machine.
- C#: very nice language. Concise and elegant.
- Java/Swing: Swing is quite ugly. My knowledge here is quite outdated. Maybe there's better now.
I've never done it before, so I might be wrong:
C++ with Qt. Probably many others too. Electron? :P