BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Angular 1.4が完成したがゴールは短かった

Angular 1.4が完成したがゴールは短かった

原文(投稿日:2015/06/02)へのリンク

Google I/O 2015において半年前からプランニングと開発が進められてきたAngular 1.4 (jaracimrman-existence) がリリースされた。十分良いコードに仕上がってきたが、ある重要な機能の1つは将来のAngularに先送りされた。

Pete Bacon Darwin氏はブログにおいて、"コミュニティ主導のリリース"で多くの"機能強化とパフォーマンスの向上"が行われたとバージョン1.4を説明した。バージョン1.4のプランニングと早期実装フェーズでは、新しいルーターは特別な扱いをされていた。ng-conf 2015においてAngularチームは、この新しいルーターはバージョン1.Xから2.Xへの移行の鍵になったと発表した。

残念ながら、チームは1.5にこの機能を移動した。記事の中でDarwin氏は、この機能にはもう少し時間が必要であると述べている。"[新しいルーターは]Angular 1からAngular 2へ移行を簡単にする重要なタスクの準備ができていません。さらに1.4リリースを遅らせるよりも、1.5リリースに[それ] を移動することを決めました。"

代わりにもっとも注目を集める機能がアニメーションである。公開されているAPIはほぼ同じだが、リファクタリングされた機能の中心は、$animateCssと呼ばれる新しいサービスである。この新しいサービスは、アニメーションのためにjQueryやGreenSockを使う必要がなくなり、開発者はJavaScriptとCSSアニメーションを組み合わせる新しい手段を手に入れることになる。Angularのアニメーションスタックを推進したMatias Niemelä氏は、今年はじめのng-confにおいて新しいアニメーションシステムについて話した

興味深い変化は、AngularにjQueryを統合した手法だ。 新しいディレクティブng-jqは、jqLiteを使って開発者がどのバージョンのjQueryを使うかを指定することができる。過去には完全なjQueryライブラリが存在した場合は、Angularはそれを使用していた。現在、開発者はjQueryの存在を回避することができるようになった。以下に新しいディレクティブの使い方を記載する:

<html ng-app ng-jq>

この変更に関する議論は、2011年まで遡る。古いバージョンのjQueryを必要とする開発者は、古いバージョンのjQueryが存在するAngularアプリを破壊したと主張した。開発者が特定のjQueryの読み込みやjqLiteで代替することを可能にすることにより、Angularアプリは自身のjQueryの宿命をコントロールできるようになる。

Redditの議論において、このリリースで制限された性質について、ユーザーaxlee氏は不平を漏らした:

これには非常にがっかりしました。私は新しいルーターと本格的なi18nサポート(12月に彼ら自身が言った"ファーストクラスの国際化"という言葉)に期待していましたが、これはすべてのバグ修正と小さな衛生上の改善です。このリリースに"メジャー"バージョンを上げる価値があったかどうかわかりません。

このバージョンは、"広くコミュニティ指向チームでのはじめての実施"であるという事実にもかかわらず、彼らは移行を早めたいようである。6月1日のプランニングミーティングのアジェンダにおける議論のポイントは次の通り:

  • 私たちは1.4.0を早期にリリースしたい
  • 早期に大きな変化を得る
  • 私たちは小さなスコープでより頻繁にリリースするべきである。これは開発者のアップグレードを容易にするが、メンテナンスは難しくなるだろう。

開発者は1.3から1.4への移行ガイドでAngular 1.4の破壊的変更を読むことができる。新しいバージョンは、angularjs.orgに提供されている。

この記事に星をつける

おすすめ度
スタイル

BT