Agile Cat — in the cloud

Web Programming の調査:Google の Dart は Javascript をリプレースできるのか?

Posted in Google, HTML5, On Monday by Agile Cat on March 10, 2014

Google Dart: A High Performance Replacement for Javascript
http://wp.me/pwo1E-7iu
By Dick Weisinger – March 4th, 2014
http://formtek.com/blog/google-dart-a-high-performance-replacement-for-javascript/

_ formtek

Dart is an open-source Web programming language that is being developed by Google.  The goal of the Dart language is provide better performance with a more modern and cleaner design than standard Javascript.  Google’s goal for the language is “to ultimately replace JavaScript as the lingua franca of web development on the open web platform”.  Although, Google will have a hard time convincing Microsoft, Apple and Mozilla to include the language anytime soon in their browsers.

Dart とは、Google が開発した、オープンソースの Web プログラミング言語のことである。この Dart という言語の目的は、標準とされている JavaScript と比較して、よりモダンでクリーンなデザインと、優れたパフォーマンスを提供することにある。この言語における Google の目標は、「オープンな Web プラットフォーム上の共通開発語に、最終的に Dart を仕立てあげることで、JavaScript をリプレースする」ところにある。しかし、Google は、Microsoft や、Apple、そして Mozilla などを説得するのに苦労するだろう。なぜなら、彼らのブラウザに、この言語が、素早く取り込まれる必要があるからだ。

 Markus “Notch” Persson, author of the popular and complex and compute-intensive Minecraft video game, tweeted in November 2013 after the 1.0 version of the language was first released that ”I love it.  Even if it doesn’t catch on, it produces pretty fast JS”.

複雑で計算集約的だが、人気のビデオ・ゲームでもある、Minecraft の作者として有名な Markus “Notch” Persson は、この言語の Version 1.0 がリリースされた直後の 2013年11月のツイートで、「 これは良い。 たとえ、広く受け入れられないにしても、きわめて高速な JS を生成する」と述べている。

‘Dart Flight School’, Google’s PR and training arm that sponsors events to promote the Dart language,  says on their web page that “Dart helps you build modern web apps with a new language, core libraries, and tools such as a package manager, editor, and a compiler to JavaScript. Use Angular with Dart for extra jet fuel.”

‘Dart Flight School’ とは、この Dart 言語の促進を目的としたイベントを主催する、Google の PR and Training 組織であるが、その Web ページには「 Dart が支援するのは、新しい言語とコア・ライブラリを用いたモダンな Web アプリの構築であり、さらには、パッケージ・マネージャや、エディタ、JavaScript コンパイラといった、いくつかのツールも利用できる。 そして、Angular with Dart を利用すれば、さらなる加速が可能となる」と記されている。

Dart 1.1, the recent release of the language was made available in January.  This version of Dart is 25 percent faster than the first release.  But it improves performance not only on the client side, but also on the server side.  On the server side, Dart now supports the handling of very large files, file copying, process signal handlers, accessing terminal information, and the  UDP networking protocol.

この 1月からだが、最新のリリースである Dart 1.1 が利用できるようになった。この、Dart のバージョンは、以前のリリースと比べて 25% も高速化されている。そして、クライアント側だけではなく、サーバー側でも、そのパフォーマンスは向上している。そのサーバー・サイドにおいて、最新の Dart は、大容量ファイル/ファイル・コピー/プロセス・シグナル・ハンドラ/端末アクセス情報/UDP ネットワーク・プロトコルなどをサポートしている。

A new technical committee within ECMA, has been formed, TC52, to create a standard specification for the Dart language.  Anders Sandholm, Product Manager at Google, blogged that ”Dart apps can be fast when compiled to JavaScript, but an embedded Dart VM enables even better performance.  We’re thrilled to have a dedicated technical committee working on Dart. We also feel confident that Ecma—the home of standards such as JavaScript, Eiffel, and C#—is the right place to help guide the evolution of the Dart language.”

ECMA 内に構成された、新しい Technical Committee である TC52 により、Dart 言語の標準仕様が作成されていく。Google の Product Manager である Anders Sandholm は、「 JavaScript にコンパイルされた Dart アプリも高速だが、エンベッドされた Dart VM は、さらに優れたパフォーマンスを実現している。私たちは、Dart に特化した Technical Committee が立ち上がったことを、とても喜んでいる。 そして、JavaScript/Eiffel/C# といった標準を育ててきた ECMA が、Dart を進化へと導くための適切な組織であると、自信をもって言える」と、自身のブログで述べている

Dart provides two paths for running in client browsers.  The first approach is to convert Dart code into standard Javascript before deploying to the browser.  That’s an approach similar to what’s done by other languages like CoffeeScript, Red Hat’s Ceylon and Microsoft TypeScript.  The second approach is to design and build a Dart-specific virtual machine (VM) that will run in a browser that can directly execute Dart commands without first pre-compiling the code to standard Javascript.

Dart が提供する 2つのパスが、クライアントのブラウザで実行される。最初のアプローチは、ブラウザにディプロイされる前に、Dart のコードを、標準である JavaScript に変換するものである。つまり、CoffeeScriptRed Hat の CeylonMicrosoft TypeScript といった、他の言語により行われてきたアプローチに似ている。第二のアプローチは、Dart 固有の VM を設計/構築するものである。つまり、標準の JavaScript にコードをプリ・コンパイルすることなく、Dart のコマンドをダイレクトに、ブラウザ内で実行するものになる。

Lars Bak, the leader of Google’s Dart project, said that ”the next step for us is to get the Dart virtual machine into Chrome… If everything pans out the way it’s predicted, with a factor of two performance boost and a factor of ten in startup-time boost, I’m pretty sure the other browsers will be enticed with what we’re doing.”

Google の Dart Project Leader である Lars Bak は、「 私たちにの次のステップは、Chrome に Dart VM を実装することだ。もし、すべてが予想どおりに進むなら、パフォーマンスは 2倍に向上し、起動時間も 10倍ほど高速化される。他のブラウザの持ち主たちも、Chrome で実現されることに誘惑されるはずだと、私は確信している」と発言している。

ーーーーー

この Dart ですが、日本語でいうとダーツのことであり、矢のことを指す言葉になります。そして、Ver 1.0 のことだと思いますが、Gihyo.jp に「2012年のJavaScript~PCからモバイルの時代へ」という記事が、2年ほど前にポストされています。 そして、ーーー DartはJavaScriptに変換するツールも備えていますが,あくまで最終目標はJavaScriptをDartで置き換えることです。Dartは大規模開発での利用に特化した設計になっており,JavaのようにIDE上で静的に解析できるようにデザインされています。また,当然ながらJavaScriptの良い点,悪い点から学んで,シンプルかつ強力な言語となっています。 ーーー と説明されています。おそらく、HTML5 の普及に合わせて、さらに Web Programming 言語が重要になってくるのだと思われます。 この先の、動向についても、注目していきたいですね。image

ーーーーー

<関連>

だいじょうぶ マイ HTML5 : その勝利に 94% のデベロッパーが賭けている
Web と jQuery のラブラブな関係を、いくつかのデータで証明する
JavaScript が 年間 48% のペースで肥大化している
Facebook が買収した、Mobile BaaS の Parse とは?
HTML5 は Web 3.0 になるのか?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: