If you want to create client-server web applications, web sites, scripts, mini-games and you are not yet an adept of JS, then the answer is definitely “Yes”. If you are a flash developer and want to do something again that will run in the browser, I would say "Yes." If you just want to learn how to program and don’t know a single language, then Dart will be a good and enjoyable start. Under the cut, I will try to deploy each statement.
I do not know any programming language, why Dart?
Because you can start with the basics of programming without regard to the environment. It’s hard to do, starting your way with JS, someone has to suggest that you need to install NodeJS, and then you have to explain how JS from Node differs from what is in the browser.
Console application on Dart, it’s also server-side, it’s also scripted, it could look like this:
main() {
Starting with Dart, you can then easily switch to C # or Java. A little accustomed to you can write something that can be placed on a web page and boast to someone their success simply by sending a link.
')
I am a flash developer, which side to approach?
Dart has a library like StageXL, an adaptation of the API from flash. And in general, Dart is not much different from AS3 and for the better. And using the Dart Toolkit for Flash, you can make art and animations directly in the Flash professional, and then use them. As a former AS3 programmer, I didn’t even have to get used to the new language, everything went as it was.
How to make mini-games?
As mentioned above, StageXL and Dart Toolkit for Flash are exactly what you need. You can watch the lessons on igrostroy on flash, and then apply them in Dart.
How to make scripts and what can they do?
Along with the SDK comes a virtual machine, in this respect, Dart has the same capabilities as Python or any other similar scripting language. Parse sites or rob pictures, work with local files, it's all within the capabilities.
Still, I want to write websites, what can Dart?
First, there is AngularDart, a high-level abstraction, which allows you to write a site modularly using components, using the binding of variables to the UI. The Angular2 library is also available. For those who love components but don't like monsters like Angular, there is a Polymer. And if you want something quickly pile in the style of Material Design, that is, Material Design Lite for Dart.
And what about the server, I want to write backend today?
For such cases, there is Redstone.
import 'package:redstone/server.dart' as Server; void main() { Server.setupConsoleLog(); Server.start(); }
Everything, Karl, server is up and running. You don't need anything else, do you understand, Carl?
You will say that this server does not know how, and I will say that it is very easy to teach by adding these lines:
@Server.Route("/hello") String hello() { print("User soliciting greeting..."); return ", !"; }
And now, starting the server and opening the page to the address “http: // localhost: 8080 / hello”, we will see “Hello, browser!”.
Can I write mobile applications in this language like on JS using Cordova?
In this direction, the language has just begun to move, there are the first two projects that solve this problem, but they are completely unprepared for commercial use.
Conclusion
In conclusion I want to say that for me the main advantage of the language is the presence of StageXL and integration with Flash Professional. This makes it as easy to write simple games and interfaces as before. If you compare Dart with the current JS, then there are many advantages, but they are obvious only for those who come from languages such as Java, C #, C ++. If to compare with TypeScript, the choice in favor of Dart becomes less obvious and it is rather not a choice by some objective parameters, but simply by the principle of like / dislike. I cannot compare Dart with GWT or something similar, since I have no experience. However, the presence in the same language of all the buns (Angular, Polymer, StageXl, Flash Toolkit, Redstone and beautiful syntax) makes it one of the leaders who is definitely worth a look for those who want to start web development.