YUIの2〜3の移行のステータスチェック
11:06 2010年11月5日エリックMiragliaによって午前|で開発 、 YUI 3ギャラリー | 7コメント YUI 2 JavaScriptとCSSのライブラリは、我々は2006年にそれをリリースしてから四年以上で非常に成功した製品となっています。 YUI 2配布には200万回以上ダウンロードされ、開発者は何千もの今日は、Yahoo!やGoogle CDNのいずれかから代わりに引っ張って、これまでファイルをダウンロードせずにYUIを使用している。 1ヤフーCDN上でYUIのトラフィックは、年間で着実に成長しています我々はそれが公共の、そして今日作ったので、我々は、と推定しているyui.yahooapis.com約150億のファイルが毎月提供しています。
それがYahoo!のYUIのエンジニアが取り組んで今日彼らのエネルギーのほとんどを費やしていること、しかし、誰もが知ってYUI 3 、YUI 2に後継 プロジェクト、および年でYUIのエンジニアが学んだ教訓の多くを適用される1つの我々は、YUIの構築を過ごした2。 YUI 3今日は、堅牢かつ機能豊富です。 効用水準(アニメーション、XHR、ドラッグアンドドロップなど)で、それはYUI 2の機能レベルを超えています。 YUI 2はその幅広いポートフォリオに人気がされているウィジェットのレベルで、YUI 3はまだ追いついてきている。 YUI 2のDataTableを、エディタ、メニュー、ボタンおよびカレンダーは、まだ標準的である、と本日、同等の機能を探しているYUI 3のユーザは、に導かれているYUIの2の3プロジェクトを簡単にからYUI 2を含めて、利用できるように、 YUI 3の実装内で。 これは簡単で安全ですが、それはまた、最適ではない:私たちは、ふたつのAPIを切り替えるには希望しません、と我々は2つのライブラリのコアのロードの実行時のオーバーヘッドが発生しないことを好むだろう。
我々は来週のための準備としてYUIConf 2010年 、それはYUI 2〜YUI 3トランジションの状態を確認するよい機会のように思えた。 我々はYUI 3時代に年間少しだ、とはなく、かなり年のうちからYUI 3ギャラリーの立ち上げ。 YUIはYahoo!でのチームとコンポーネントを(合計で約100 contribitors)貢献YUIのコミュニティであなたのそれらの間で、どのようにやっている?
答えはあなたを驚かせることができる。
のようなプロジェクトとLiferayのAlloyUIとギャラリーを取り込む独立した貢献者の数十、我々は今我々はYUI 2に付属しているよりもさらにYUI 3のウィジェットのレベルで利用できる多くのオプションがあります。 下の表は、2つのライブラリ間で機能を一致させ、二つのライブラリが機能カテゴリの面で比較する方法の感覚を与える。 注意事項:
- 数行は1:1の比較です 。 私はその機能がサポートされていると言うとき、私はそれがまったく同じ方法で、または両方のコードラインで同じ機能レベルでサポートされていることを意味するものではありません。
- YUI 3のすべてのサポートされていない機能は、YUI 2イン3を介してアクセスすることができます 。
- 私は何かがコミュニティ/ギャラリーを介してサポートされていることを示している場所、私はギャラリーのコンテンツの機能の完全性について何も示唆していないよ-単にコミュニティがその必要性に反応し、解決策を生成したと共用していること。
- この表では、ギャラリー内でのコンテンツの一部のみが含まれています。すべてのギャラリーのコンテンツを含む真実の画像が、、コンポーネントのオプションの面でYUI 3矮化YUI 2を示すであろう。 私はYUI 2、YUI 3のそれに相当する、とYUI 3世界の主要な新たな展開(ギャラリーに浮かび上がった主要なコンポーネントカテゴリを含む)の基本機能にここに自分を閉じ込めてきました。
| コアコンポーネント | |||
|---|---|---|---|
| コンポーネント | YUI 2 | YUI 3 | ノート |
| ライブラリコア | ヤフーグローバルオブジェクト | YUIモジュール | OOPとLANG - YUI 2の機能のいくつかは他のモジュールに移動しました。 |
| ローダ | YUI Loaderの | ローダーモジュール | YUI 3のローダが固有のものである(自動的に呼び出される)とギャラリーのサポートが含まれています。 |
| DOMサポート | DOMコレクション | ノードモジュール | YUI 3は、"ノード中心"です - ノードAPIを介して働いYUI 2と3の間のパラダイムシフトです。 |
| ブラウザとカスタムイベント | イベントのユーティリティ | イベントモジュール | |
| コンポーネント財団 | |||
| コンポーネント | YUI 2 | YUI 3 | ノート |
| 属性の管理 | AttributeProvider | 属性モジュール | |
| イベント管理 | EventProvider | カスタムイベントのモジュールでのEventTarget | |
| コンポーネントベース | ベースモジュール | ||
| 拡張モデル | ベースモジュール | ||
| プラグインモデル | プラグインとプラグインのホストモジュール | ||
| ウィジェットの基礎 | 要素のユーティリティ | ウィジェットモジュール | YUI 2のエレメントのユーティリティは、YUI 3ベース/ウィジェットシステムに含まれるコンポーネントの開発のためのライフサイクルのパターンを欠いている。 |
| ユーティリティ | |||
| コンポーネント | YUI 2 | YUI 3 | ノート |
| アヤックス/ XHR | 接続マネージャユーティリティ | IOモジュール | |
| アニメーション | アニメーションのユーティリティ |
| YUI 3はサポートされているハードウェアアクセラレーションの遷移をサポートする、トランジションモジュール経由でCSSトランジションのサポートが追加されています。 |
| 資産のプリフェッチ | CaridyパティーニョMayeaのプリロードモジュール | ||
| 非同期キューイング | AsyncQueueモジュール | を介して実行関数コールバックのチェーンのサポートsetTimeout 。 この機能のYUI 2の配信が一般的な使用のために十分に外に分割されていません。 | |
| 認証 | ダヴガラスのOAuthのモジュール | ||
| キャッシュ | キャッシュモジュール | ローカルJSのメモリにキー/値のペアを格納するためのサポート。 | |
| クッキー | クッキーユーティリティ | Cookieモジュール | |
| データ管理 | ユーティリティのデータソース |
| 両者の正確な機能パリティがない(たとえば、キューイングはYUI 3ではサポートされていません。YUI 3つのモジュールはベータ版のままです。) |
| ドラッグアンドドロップ | ユーティリティをドラッグアンドドロップ | DDモジュール | |
| イベントエクストラ |
|
| YUI 3のイベントのサポートは、タッチやジェスチャーのための良い抽象化で、YUI 2分岐を超えています。 |
| フォームのバリデーション | InputExフィールド/フォームフレームワーク | 一つのグループはAlloyUIの多作の開発者からであり、そして多くの他の貢献者からある - YUI 3のギャラリーは、ここに挙げるには余りにも多くのフォーム関連のモジュールを持っています。 | |
| ジオロケーション | ミカエルAbrahamssonのジオロケーションモジュール | ||
| 取得(スクリプト/ CSSの読み込み) | ユーティリティを取得する | モジュールを取得する | |
| 履歴管理 | 歴史ユーティリティ | 履歴モジュール | YUI 3の歴史のモジュールは、HTML5のサポートが含まれています。 |
| ImageLoader(画像のロードのスマート延期) | ImageLoaderユーティリティ | ImageLoaderモジュール | |
| 国際化 | コンポーネントによって異なります。 | 国際化モジュール | YUI 3の国際化モデルは、より堅牢ですが、ウィジェットのシステム全体でその利点のすべてを実現するためにやるべきことがある。 |
| JSON | JSONユーティリティ | JSONモジュール | YUI 3 YUI 3のサンドボックスのパターンの中からJSONPコールバックを処理するためのファシリティを提供するJSONPのモジュールが含まれています。 |
| リサイズ | サイズ変更ユーティリティ | AlloyUIリサイズ | ギャラリーでAlloyUIの実装は、ライブラリのコアに採用されていると3.3.0リリースの一部となります。 |
| ストレージ(クライアント側) | ストレージユーティリティ(フラッシュバックを含む) | ストレージライト | ストレージLiteは、Flashのフォールバックをサポートしていません。 |
| スタイルシート(JS経由で操作) | スタイルシートのユーティリティ | スタイルシートのモジュール | |
| SWF管理 | SWFユーティリティ |
| |
| SVGのサポート | |||
| アンドゥ/リドゥのサポート | Iliyan Peychevのアンドゥ/リドゥワークモジュール | ||
| YQLラッパー | YQLクエリーのモジュール | ||
| UIウィジェット | |||
| コンポーネント | YUI 2 | YUI 3 | ノート |
| アコーディオン | YUI 2ベースのウィジェットとして、マルコのコンポーネントは、正式にYUI 3ギャラリーではありません。 | ||
| オートコンプリート | オートコンプリートコントロール | YUI 3オートコンプリートは、YUI 3.3.0が同梱されます。 しかし、ここでAlloyUIコンポーネントを見過ごしてはいけない - それは豊かで、今日使用可能な状態にする機能です。 | |
| ボタンをクリック | ボタンコントロール | アンソニー小土瓶のボタンモジュール | |
| カレンダー | カレンダーコントロール | AlloyUIカレンダー | カレンダーのウィジェット/日付選択は3.4.0かそれ以降までYUI 3ディストリビューションの一部として期待されていません。AlloyUIの実装、しかし、一般的なユースケースに最適です。 |
| カルーセル | カルーセルコントロール | ゴパールVenkatesanのカルーセルのモジュール | ゴパールは長い間YUI 2.xのカルーセルのコードベースを所有している、と彼のYUI 3ギャラリーのモジュールは、生産のYahoo!の製品にこの年になるでしょう。 |
| チャート | チャートコントロール | トリップは、著者とフラッシュベースなYUI 2チャートコントロール、のメンテナの一つです。 最新のYUI 3チャートのフラッシュに依存していない仕事、、定期的にギャラリーにプッシュされているとTrippの作品は、YUI 3.3.0の一部としてベータ版で出荷されます。 | |
| カラーピッカー | カラーピッカーコントロール | AlloyUIカラーピッカー | |
| DataTableに | DataTableの制御 | アンソニー小土瓶の単純なDataTableのモジュール | いくつかのプラグインモジュールが含まれているアンソニーのプロジェクトは、野心的なYUI 2のDataTableコントロールと同等の機能を持っているものではありません。 YUI 3 DataTableでYUIのチームによって行われている作業は、3.3.0にベータ形式で表示されます。 |
| 画像のトリミング | ImageCropper制御 | ||
| レイアウト(フルスクリーンのアプリケーション管理) | レイアウトマネージャ | ||
| Menuing | メニューの制御 |
| シンプルメニューは、YUI 2で提供される包括的menuingサポートなど豊富な機能性ではない。 現時点では、YUIのチームは、3.4.0時間枠のためのYUI 3メニューコントロールでの作業を計画している。 ノードMenuNavはYUI 3ディストリビューションの一部ですが、それはベータ版のままで、正式なUIコントロールに新しい仕事を支持して非難されるかもしれません。 |
| オーバーレイ | コンテナファミリー | ||
| ページネーション | paginatorの制御 | ジョンリンダのpaginatorのポートモジュール | |
| 進捗バー | ProgressBarコントロール | サティヤムは、YUI 2 ProgressBarコントロールを書き、彼のYUI 3の実装では、ギャラリーではないが、それは使用可能です。 | |
| 定格 | |||
| リッチテキスト編集 | リッチテキストエディタ | シンプルなエディタのポート | YUI 3.3.0は、Yahoo!が新しいYahoo!メールのベータ版で使用されているベースのエディタの内容が含まれています - これは、我々はYUIの一環として制作した最も先進的なエディタです。 しかし、エディタのツールバーには、(ほとんどの実装者のためのコンポーネントの重要な部分である)ボタンと少なくとも3.4.0までは表示されませんMenuingの機能に依存します。 |
| ScrollView | ScrollViewモジュール | これは、モバイル開発のための重要なコンポーネントです。 | |
| スライドショー | このカテゴリにはYUIのギャラリーになることができるものの良い例です。 我々は強いYUI 3スライドショーのコンポーネントを持っていなかったのに対し、我々はすでにYUIの3つの世界でから選択する4つの優れたモジュールを持っている。 | ||
| スライダー | スライダーコントロール |
| YUI 3.3.0は、Yahoo!のデザイナーとエンジニアのジェフコニフのスライダーの相互作用のパターン、礼儀に興味深い新たに追加が含まれます。 3.3.0プレビュー版が表示されるようにこれについての詳細をお楽しみに。 |
| タブ | TabViewコントロール | TabViewモジュール | |
| ツリー | TreeViewコントロール | Yahoo!のエンジニアサロコルデロは現在、YUI 3ツリービューの実装に取り組んでいます。 それが3.3.0のための準備ができていないでしょうが、それは3.3.0リリース後にギャラリーで利用できるようにして3.4.0には早くも配布するための候補であると予想される。 | |
| アップローダー(進捗状況の追跡を含むマルチファイルのアップロード) | アップローダーコントロール | アップローダーのモジュール | YUI 2、YUI 3実装の両方にはFlashが必要です。 |
| ビデオ(HTML5) | |||
| CSSコンポーネント | |||
| コンポーネント | YUI 2 | YUI 3 | ノート |
| リセット | CSSリセット | CSSリセット | |
| ベース | CSSベース | CSSベース | |
| フォント | CSSのフォント | CSSのフォント | |
| グリッド | CSSグリッド | CSSグリッド | 新しい、より柔軟なYUI 3 CSSグリッドパッケージは3.2.0でリリースされました。 |
注意事項:
- コンフィギュレータYUI 2依存はあなたのスクリプトを設計し、CSSがYahoo!やGoogleのCDNのいずれかに含むことができます。
共有し、拡張する: del.icio.usでブックマーク | Diggそれ! | のreddit!



聖なるshnikiesは、それらのAlloyUIコンポーネントが滑らかです。 間違いなく私の次のアプリでは合金を試してみるされます。 :)
コメントby ジョシュL - 2010年11月5日#
YUI2に比べYUI3欠点は、スタンダールキット(専用コミュニティウィジェット)のUIウィジェットの欠如です。 、(私にとって)すべての最初のDataTable、木、リッチテキストエディタ、レイアウト(フルスクリーンアプリケーションの管理)、ボタン。 これらのウィジェットは非常に重要と競合するjavascriptのframworksに含まれています。 彼らはYUI3の完全な開発キットに含まれるべきです。 私はコミュニティプロジェクトでコードの質の高さ約わからないので、私はそれを使用することが怖いです。 YUI3の次のリリースを待っています。
セルゲイコメントby - 2010年11月7日#
@セルゲイは、すべてのyui2ウィジェットや他のコンポーネントはyui3を通じて使用可能です。
ジョーコメントby - 2010年11月21日#
我々は非同期的にダイアログの体のフォームを提出するYUI2ダイアログの機能を使用してください。 この機能は、我々のアプリで使用されています。 私は、ギャラリーでAlloyUIのダイアログまたはアンソニー小土瓶のダイアログモジュールでこの機能は表示されません。 YUI2の機能豊富なダイアログなどYUI3で追加のオーバーレイを追加する予定はありますか?
ショーンコメントby - 2011年1月7日#
@ショーン、ウィンドウのコンポーネント(パネル、ダイアログなど)YUI3 2011年ロードマップ上にあります。 我々は、彼らが上陸するでしょうどのリリースからアイロン掛けしていないが、それらは暫定的にどこかに中間年前後に予定されています。
YUI2ダイアログがサポートする非同期フォームの送信は単純YUI3プラグインのための理想的な候補ですので、(またはコミュニティの他の誰かが)それを打撃を与えると、ギャラリーに追加する歓迎です。
それはちょうど実際にIOのフォームをサポートする周りの光のラッパーです。 オーバーレイの内容は、io -フォームを適用するオーバーレイするためのプラグインが、 - それはYUI 3の実装は単にそのことになるかもしれない。
そう一般的な、我々は今年から始めるとして、我々はより効果的に、コミュニティからロードマップの入力を(開いている時間を介して)収集し、それを維持し、そしてそれを公開する方法を探している、では来ているのか、より深い理解を持っているでしょう、とするとき。
Satyenデサイコメントby - 2011年1月7日#
Satyenは、フィードバックのために非常に感謝。 私はYUI3がもう少し成熟するまで、我々はYUI2に固執すると思います。 私は、移行YUI3コンポーネントとYUI2/YUI3混在環境のための2立方インチを使用して起動することもできますが、これがそうであるよう、私は投資収益率を正当化することができない重要な我々のアプリの多くの部分から書き直し。 我々は、多くのYUI2コンポーネントを使用しますが、データテーブル/ ScrollingDataTableとダイアログには2つの最も重要です。 これらのコンポーネントが完全にYUI3に移行した後、私は経営への移行タスクを提案します。
ショーンコメントby - 2011年1月11日#
ヘイ! LayoutManagerのとImageCropperは、ギャラリーに今ある。
ImageCropper: http://yuilibrary.com/gallery/show/imagecropper
レイアウト: http://yuilibrary.com/gallery/show/axo-layout
コメントby ファン - 2011年7月8日#