BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Angular 2、Dartコードベースを分離

Angular 2、Dartコードベースを分離

原文(投稿日:2016/07/22)へのリンク

Angular 2の最終リリースを間近にして、プロジェクトはもう一つ意外な展開を発表した。TypeScriptを使ってJavaScriptとDartにコンパイルする代わりに、Dart部分を専従チームによるDartのためのコードベースにスピンアウトさせるのだ。

Angular BlogおよびDart Newsの発表によると、この分離はDartデベロッパーとJavaScriptデベロッパー両者のためだという。

DartはGoogle内部のクリティカルなプロジェクトで使われており、Angularチームは彼らの要求と、それよりはるかに大きなJavaScriptコミュニティの要求を満たそうとしてきた。Angular 1におけるDartは必要とされるほど注目を集めていなかったため、当初、TypeScriptをJavaScriptとDartにコンパイルするというアイデアが採用された。1つの言語を2つの別の言語にトランスパイルすることで、両者の好みを満たせると考えたのだ。ところが実際には、両方のプロジェクトを苦しめることになった。Naomi Black氏はこう語る。

このシングルソース・マルチランゲージというアプローチは、理論上はうまくいくのですが、実際には新しいコントリビュータがプロジェクトに参加するのを非常に困難にしました。言語間の互換性問題のため、ちょっとした変更であっても途端に複雑になってしまうのです。変更の多くは、コンパイルプロセス全体と両方の言語ターゲットを理解している人しかできなくなりました。

どちらの言語が好みであっても、テンプレート構文は変わらないだろう。Black氏によると、「それが適切であるなら」APIは同じままになるという。ただし、これが意味するのは、今後の機能はどちらでも自動的に使えるわけではない、ということだ。例えば、新しいAngular Dartチームは、Google社内ですでに製品に使われているAngular 2向けのMaterial Designライブラリをリリースすると発表した。これはDartだけで書かれており、JavaScriptからは使えない。TypeScript向けのAngular Materialライブラリは独自に継続される。

今回の発表に対して、Dartコミュニティは非常にポジティブな反応を見せている。GoogleのソフトウェアエンジニアKasper Lund氏は、Angular Dartはずっと良くなるだろうとコメントした

Dartは本当にクリティカルなアプリを構築するのに使われており、これから成長していきます。Angular 2 for Dartをより高速で良いものにすることで、こうしたクリティカルなアプリにDartとAngularの組み合わせを採用するのが増えていくでしょう。

TypeScriptならびにJavaScriptデベロッパーは、これがAngular 2を加速するのであれば歓迎のようだ。Hacker Newsユーザーのzoechiは(TypeScriptとDartの)組み合わせがAngularの進みを遅くしていたとコメントした

(TypescriptとDartの)組み合わせがAngularの開発を遅くしており、コントリビューションには両方の言語知識を必要として苦痛でした。バラバラに開発するのには大きな欠点がありますが、私は決定に納得しています。全てを別の言語に変換できるように実装するのは、本当に苦痛です。その実装は両者の共通項に制限され、それぞれの言語の利点を活かすことができません。

新たに自由の身となったAngular 2 for DartはGitHubで公開されており、現在のバージョンは2.0.0-beta.18だ。TypeScript/JavaScriptバージョンは現在2.0.0-rc.4となっている。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT