BT

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

| 作者: David Iffland フォローする 4 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年7月26日. 推定読書時間: 3 分 |

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT