Angularの次バージョンは「Angular 4」に、2017年3月リリース。今後は単に「Angular」と呼んでほしいと
ベルギーのヘントで行われたAngularのイベント「NG-BE 2016」で、基調講演に登壇したGoogleのAngularチームリードIgor Minar氏は、Angularの次のメジャーバージョンアップが2017年3月に登場する「Angular 4」であることを明らかにしました。
「私たちはAngular 4を2017年3月にリリースする予定だ。本当に本当だよ(I'm being super honest with you guys!)。わけわからんなんて言わないで、大丈夫だって!(Don't freak out. It's going to be good)」(Igor Minar氏)
Angular 4はAngular 2と互換性を維持し、そのまま移行できる予定。互換性の維持を優先して開発していくとIgor氏。「私たちはエコシステムを維持するつもりだ」(Igor Minar氏)。
Angular 4はコンパイラのエラーを改善したほか、最適化によってより小さく、より高速になったとのこと。
また、Angular 2から3を飛ばしてAngular 4になるのは、Angular Routerがメジャーバージョンアップで4になり、混乱してしまうからだと。
Angularは新しいバージョン番号のポリシーを採用
Angular開発チームは今年の10月、バージョン番号のポリシーとして「セマンティックバージョンニング(Semantic Versioning)」を採用すると発表しています。
バージョン番号はピリオドで区切られた3つの数字で構成されます。一番右の数字はパッチを、真ん中の数字はマイナーバージョンを、一番左の数字はメジャーバージョンを示しています。
パッチは機能追加もなく互換性は維持されるもので、マイナーバージョンアップは機能追加はあるが互換性は維持されるもの、そしてメジャーバージョンアップは互換性を失う可能性のある大きなバージョンアップを示すというもの。
今後は6カ月ごとにメジャーバージョンアップが登場
Angular開発チームはセマンティックバージョニングと同時に、タイムベースのリリースサイクルを採用することも発表しました。これは、6カ月に一度メジャーバージョンアップを行い、そのあいだに3つのマイナーバージョンをリリース(つまりおおむね2カ月ごと)、そして毎週パッチをリリースする、というものです。
そのため、Angular 5は2017年9月、Angular 6は2018年3月、Angular 7は2018年9月にリリースされる見通しとなっています。
Angular 4はAngular 2と互換性があるとされるものの、その先のAngularは6カ月ごとに互換性を失う可能性がある大きなメジャーバージョンアップが行われることになります。
これについてAngular開発チームはブログ「Versioning and Releasing Angular」で次のように説明しています。
Breaking changes are disruptive, but can be necessary in order to innovate, keep pace with changing best practices, dependencies or changes in the (web) platform itself. To make these transitions more predictable, we’re both implementing a deprecation policy, and working hard to minimize the the number of breaking changes in Angular.
非互換は破壊的ではあるが、Webプラットフォームの変化において、ベストプラクティスなペースでイノベーションを維持していくのに必要なことでもある。こうした変化をより計画的に行えるように、私たちはAngularにおける非推奨ポリシーと非互換性の最小化へのハードワークのどちらにも取り組んで行く。
非推奨の機能が登場した場合、適切なアップグレードパスや6カ月以上(つまり少なくともメジャーバージョンアップ2つ分)の猶予期間などを設定するとのことです。
単に「Angular」と呼んでほしい
Igor Minar氏は基調講演の最後にOne More Thingとして、Angularのことをこれからは「単にAngularと呼ぶようにしてほしい」と呼びかけます。
「Angular 2とかAngularJSとかではなく、単に『Angular』と呼んでほしい。これから新バージョンを次々に出していくと混乱してしまうだろうし」(Igor Minar氏)。
Igor Minar氏は、バージョン番号を省いてAngularと呼ぶことについて、多くの場合で安定性(Stability、ここでは文脈上、バージョン間の互換性を指すものと考えられる)は保証されるから、とも話しました。Angularはバージョン1からバージョン2への移行時に多くの互換性を失ったため、開発者からの不評を買った経緯があります。それだけに、メジャーバージョンアップへの警戒心はまだ多くの開発者が抱えているはずです。
Angularを単に「Angular」と呼んでほしいという呼びかけは、そうした開発者に対して、前述のバージョンアップポリシーの明確化とともに、今後は不評を買うようなことはしない、という暗黙の宣言なのかもしれません。
参考
Angularのバージョンアップポリシーについては、次の記事の内容も参考になります。
あわせて読みたい
いま起きているムーアの法則の限界は、微細化よりも電力と経済性の限界~ポスト・ムーア法則時代のコンピューティング(前編)。QCon Tokyo 2016
≪前の記事
コンテナに最適化したCoreOS、ブランド名を「Container Linux」に変更。背景にはコンテナ関連ビジネスの変化が