この記事では、JavaScript で一般的に使用される 12 個の MVC フレームワークについて詳しく説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
Gordon L. Hempton はシアトルを拠点とするハッカー兼デザイナーで、数か月をかけて 12 の人気のある JavaScript MVC フレームワークを調査および比較し、それぞれを自身の ブログ にまとめました。各フレームワークの長所と短所、最終結果は次のとおりです。 Ember.js が勝ちます。
この比較には、次の 4 つの特徴的な基準があります。
① UI バインディング
②合成ビュー
③Webプレゼンテーション層
④ みんなで仲良く遊ぶ
さまざまな JavaScript MVC フレームワークについて、Gordon は利点と欠点を要約しました。
1. Backbone.js - 長所: 強力なコミュニティ、強力な勢い; 短所: 抽象化が弱く、多くの機能を緊急に追加する必要があります。
2. SproutCore - 長所: バインディングのサポート、信頼性の高いコミュニティ、多数の機能。短所: 過剰な仕様、不要な機能の分離が困難。
3. Sammy.js - 利点: 学習が容易で、既存のサーバー アプリケーションとの統合が容易; 欠点: 大規模なアプリケーションで使用するには単純すぎる。
4. Spine.js - 利点: 軽量、完全なドキュメント; 欠点: その中心概念である「spine」は非同期ユーザー インターフェイスです。つまり、理想的なユーザー インターフェイスでは目詰まりが発生しません。基礎が不良です。
5. Cappuccino - 利点: 大規模でよく考えられたフレームワーク、優れたコミュニティ、優れた継承モデル。欠点: JavaScript を使用して Objective-C をシミュレートします。
6. Knockout.js - 長所: バインディングのサポート、完全なドキュメントとチュートリアル。短所: バインディング構文が貧弱で、統合されたビュー コンポーネント階層が欠如しています。
7. JavaScript MVC - 長所: 信頼できるコミュニティ、短所: 貧弱な文字列ベースの継承モデル、コントローラーとビュー間の関係が密接すぎる、バインディングがない。
8. GWT (Google Web Toolkit) - 長所: 包括的なフレームワーク、優れたコミュニティ、信頼性の高い Java ベースのコンポーネント継承モデル。短所: Java の抽象化に耐えられない可能性があります。クライアント側は少し扱いにくいです。
9. Google クロージャ - 利点: 非常に優れたコンポーネントベースの UI 構成システム。欠点: UI バインディングのサポートがない。
10. Ember.js - 長所: 複合ビューと UI バインディングを備えた非常に豊富なテンプレート システム。短所: 比較的新しいため、ドキュメントが十分に完成していません。
11. Angular.js - 利点: テンプレートのスコープとコントローラーの設計が適切に考慮されており、依存関係注入システムがあり、豊富な UI バインディング構文をサポートしています。短所: コードのモジュール性が強力ではなく、ビューのモジュール性も十分ではありません。
12. Batman.js - 利点: 明確なコード、シンプルなバインディングおよび永続化メソッド。欠点: シングルトン コントローラーが使用されます。
上記のさまざまな Javascript MVC フレームワークの機能を比較した後、Gordon は Ember.js だけが彼の要件を完全に満たすことができると信じ、最終的に選択したフレームワークとなりました。
JavaScript MVC フレームワークも使用したことがありますか?ディスカッションへの参加を歓迎します。
この記事が JavaScript プログラミングのすべての人に役立つことを願っています。