The conclusions of this article are made on the basis of Google’s internal correspondence several months ago, as well as the available statistics on the browser and mobile devices market.Immediately after the announcement, Dart received just a flurry of criticism: lack of syntax, an incomprehensible position and prospects in the market, poorly developed development tools. Will it ever become the # 1 language for the Web and supplant JavaScript? You know, it will, and this is why ...
')
1. Chrome has already overtaken Firefox in some countries (UK), in six months it will overtake a total, and then oust it completely: unfortunately, Firefox didn’t benefit from the new development cycle: plugins do not have time to update, system administrators and developers complain about the scheme, and the stability and voracity of resources is still at the old level. Internet Explorer also continues to lose market. In the near future, IE & WebKit (Chrome & Safari) will dominate the desktop.

On mobile devices that are growing much faster, WebKit is already # 1 with almost full coverage of the smartphone and tablet market: Android / iOS / BlackBerry / Bada / WebOS / Symbian. It is here that the most interesting user interface innovations are taking place.
But, as we remember, in the main branch of WebKit not V8 from Google is used, but JavaScriptCore / SquirellFish. I think that Google will try to transfer the V8 to the WebKit project - in this way Google can get
~ 50% of the desktop market and 90% of the market of mobile devices that can support Dart out of the box .
2. ChromeOS and Web applications are strategic for Google . Representatives of the company have already said: Android - short term strategy, ChromeOS - long term strategy. In the future, these projects will be merged, and Dart will play an important role in turning Gmail & Docs into native applications.
3. Let's remember how the approach to writing these web applications on JS has changed:
I generation: native JS + calendar / gallery scripts from hotscripts.com
Generation II: Prototype / jQuery / Dojo DOM libraries + jQuery UI widgets libraries, ExtJS (2,3)
Generation III: GWT, SproutCore, Cappuccino, BackBone, Closure, YUI, ExtJS (4) frameworks
Writing is large and complex, but not all are able to use fast JS applications. With the 3rd generation frameworks, it has become much easier, they are already pre-imposing on you a well-thought-out architecture on the experience of other platforms (GWT – Java, Cappuccino – Cocoa), on their own experience of writing complex applications for the Web (Google – Closure, Yahoo – YUI, Apple-SproutCore ) or adding MVC approach for II generation (BackBone, ExtJS4).
But while writing applications, certain problems still remain: it is possible to write applications without the need for classes / typing, but difficult — many tools that allow the same Java to have productive VMs and smart IDEs do not apply to JS. Another problem is the sharing of code on the client and server: GWT and Node.js partially solve this problem. What to do if we want to raise this business to a new level?
4. Anyone familiar with the Google stack knows that they use Closure (JS) / GWT (Java) / Android (Java) for UI (web / mobile) and Java / C ++ on servers. It would seem to be quite logical to continue to use Java further - it is quite unified, but there are 2 points here:
a) Google will have to make Java native language in Chrome, and this threatens with another patent problems with Oracle.
b) A
complete replacement of JS is needed
- a wide profile language: from simple scripts to complex applications . Writing UI (and not only) in Java is not fun, but simple scripts, all the more. Developers in Ruby / Python / PHP / JS will spit - there are not even closures yet!
5. We come to the fact that we need a new language that can:
a) Bearable to compile in JS and work under IE and in marginal browsers (to which Opera belongs today, and Firefox tomorrow).
b)
Quickly work in Chrome (instant start) and
on the server (the compiler for the JVM is the next step, not for nothing is the collection and interface architecture almost completely identical to those in Java), and in the future
on Android, allowing you to combine it with ChromeOS, and in all other WebKit-based browsers and systems .
c) Make it possible to develop good
code analyzers and IDEs through typing and classes.
d) Have a more or less
simple learning path for JS / Java programmers Google (and not only)
A couple of years later, we have a language that, together with excellent development tools, blurs the boundaries and allows writing large-scale web applications that natively work on half of desktops, on almost all mobile devices, on the server, blurring the boundaries of Web, Mobile and Front-end development. .
In my thoughts there are a lot of guesses and small utopias;) Nevertheless, Google’s intentions are clear that they will begin the process of evolving their projects and development tools from Closure & GWT to Dart, and it’s quite possible they will be able to make a qualitative step forward in Web programming.