米Yahoo!がYUI新規開発中止を発表。その背景となったJavaScriptの現状解説
米Yahoo!のエンジニアリングチームは、同社がこれまでJavaScriptライブラリとして開発してきたYahoo User Interface library(YUI)の新規開発を中止すると発表しました。
YUIは、JavaScriptでインタラクティブなWebサイトを構築する技術「Ajax」への注目が高まっていた2009年に登場したライブラリです。さまざまなメニュー、カレンダーやカラーピッカー、タブ、リッチテキストエディタなどのコンポーネントが揃っているだけでなく、DOM操作やイベントハンドリング、テスト用ライブラリやJavaScript圧縮ツールなど、幅広くJavaScriptを強化するための機能を備えています。
しかしその後登場したjQueryなどのさまざまなライブラリやツールに人気を奪われ、ここ数年はYUIへの注目度も低下。コミュニティからのリクエストも少数になり、多くのモジュールではメンテナによる活動も行われなくなってしまったとのことです。
これらを主な理由として、YUIの新規開発の中止の理由が決定されたと説明されています。
米Yahoo!によるYUI新規開発中止の背景としての、JavaScript現状解説、
YUI新規開発の中止発表で興味深かったのは、その背景として説明されたJavaScriptをとりまく現状の解説です。現在のJavaScriptがいかに多くのテクノロジーやエコシステムで構成されているのかを簡潔に示しており、とてもよくまとまっていると思います。
少し長いのですが、その部分を訳してみました。
皆さんご存じの通り、Webプラットフォームはこの数年で劇的な変化が起きています。JavaScriptは以前よりずっとユビキタスな存在となりました。Node.jsの登場はJavaScriptをサーバサイドでも使えるものとし、シングルページアプリケーションといった一連の世界を開拓しました。
新しいパッケージマネージャ(npm、bower)は、サードパーティのエコシステムやオープンソース、特定用途のツールといったものの登場に拍車をかけていると同時に、UNIXの精神(UNIX philosophy)を内包し、非常に複雑な開発手法を可能にしています。
新しいビルドツール(Gruntやそのプラグイン、Broccoli、Gulp)は、小さなモジュールを組み上げて、大規模で結束したシステムの実現を容易にしました。
新しいアプリケーションフレームワーク(Backbone、React、Ember、Polymer、Angularなど)は、アプリケーションがスケーラブルでメンテナブルな構造を持つことを助けています。
新しいテスティングツール(Mocha、Casper、Karmaなど)は一、貫した継続的デリバリのパイプラインの導入を容易にしました。
標準化団体(W3C、Ecma)は、主要なJavaScriptフレームワークがもたらしたものを議題に挙げて何年も議論し、それらを多数のデバイスに対応したネイティブな機能として実現し続けています。
そして最後に、ブラウザベンダーはブラウザの継続的な改善を続け、より確実な標準への準拠を進めています。言わば「つねに色あせないブラウザ」の実現であり、ユーザーはいつでも最新のブラウザ環境を容易に維持できて、ブラウザ間の非互換性も大幅に削減されることが期待されています。
米Yahoo!のYUIはユーザーインターフェイスのライブラリとしてだけでなく、ここに挙げられた多くの機能、パッケージマネージャ、ビルドツール、テストライブラリといったものも包含して実現しようとした、包括的かつ野心的なプロジェクトでした。
しかし、それぞれのツールでオープンソースによる優れた実装が登場し、YUIよりも普及していったことがYUIの新規開発に終止符を打ったといえそうです。これはYUIとその関係者にとっては残念なことですが、JavaScriptの発展という意味ではとても前向きなことが起きているといえるでしょう。
あわせて読みたい
PR: Amazonクラウドの運用管理を自動化。週末のインスタンス自動停止、ストレージの定期スナップショット、障害時の待機システム自動起動など、すべて「Cloud Automator」で解決
≪前の記事
「Amazon Zocalo」正式サービス開始、企業向けDropbox的なファイル共有サービス。本家Dropboxも同日にビジネス向けを1人1テラバイトへ拡張