この記事の主な内容は、公式ドキュメントを参照して要約されています。
Vue.js
vue.js @ You Yuxi氏がWebインタラクティブなインターフェイスを作成して書いたライブラリは、合理化されたMVVMです。技術的な観点から、Vue.jsはMVVMモデルのViewModelレイヤーに焦点を当てています。ビューレイヤーとモデル層を双方向データ結合を介して接続します。実際のDOMカプセル化形式と出力形式は、ディレクティブとフィルターに対して抽象化されています。 Vue.jsは、他の図書館と比較して小さくて美しいライブラリです。著者の主な目的は、単純なAPIを介して反射データバインディングと構成可能なビューコンポーネントを生成することです。著者の考えは非常に明確だと思います。
アドバンテージ:
シンプル:公式のドキュメントは、Angularよりも非常に明確で、よりシンプルで、学習しやすいです。
Quick:非同期バッチ処理でDOMを更新します。
組み合わせ:アプリケーションを分離した再利用可能なコンポーネントと組み合わせます。
コンパクト:〜18kb min+gzip、依存関係はありません。
強力:依存関係の宣言を必要としない式と計算されたプロパティ。
モジュールに優しい:NPM、Bower、またはDuoを通じてインストールでき、すべてのコードにさまざまな角度の規制に従うことを強制することはなく、使用シナリオをより柔軟にします。
欠点:
新生児:Vue.JSは新しいプロジェクトであり、2014年3月20日にリリースされた0.10.0リリース候補バージョンです。現在、GitHubの最新バージョンは0.11.4であり、Angularほど成熟していません。
影響はそれほど大きくありません。私はそれをグーグルで検索し、他のいくつかの有名な図書館よりもVue.jsの多様性や豊かさが少ないです。
IE8はサポートされていません:ハハですが、AngularJS 1.3はIE8のサポートも停止しますが、これはIE8をサポートする必要があるプロジェクトには良くありませんが、これはWebフロントエンド開発の傾向でもあります。たとえば、IEの低いバージョンは、アップグレードせずに古いバージョンを使用する人に適応するのではなく、フロントエンドの思考を変更することにより、歴史の段階を終了する必要があります。 @は1つのことを言った、私はそれがとても良いと思う。 「過去数日間、IE6と7をサポートすることは長い間機能ではなく、残念でした。私たちはAlipayをIE6と7を完全にサポートしないように促進するよう努めており、より多くの兄弟が参加することを楽しみにしています。」
Angularjs
Angularjsは最近非常に人気があり、多くのフォロワーがいます。 Superheroic JavaScript MVWフレームワーク
当局者は、「JavaScriptで完全に書かれたクライアントテクノロジー。他の長年のWebテクノロジー(HTML、CSS、JavaScript)と併用して、Webアプリケーション開発を以前よりも簡単かつ速くするために使用されています。」あなたがそれを学ぶとき、私はあなたがその新しい特殊効果の多くに惹かれると信じています。
アドバンテージ:
ダイナミックビュー:JSが以前にこのようなHTML属性を拡張できるとは思っていませんでしたが、AngularJSはそれを行いました。静的HTMLに多くの拡張機能を追加し、HTMLが死から生になりました。
完璧:テンプレート、双方向データのバインディング、ルーティング、モジュール化、サービス、依存関係注射、その他の機能など、比較的完全なフロントエンドMVWフレームワークです。テンプレートは、機能が強力で豊富であり、豊富な角度の指示を備えた宣言的です。
Googleのメンテナンス:AngularJSにはGoogleを維持することができ、間違いなく強力なバックエンドがあります。プロモーションとメンテナンスのために、Vue.JSおよびAvalonよりも明らかな利点があります。コミュニティも非常に活気があり、その発展をうまく促進することができます。
Angularjs&Ionic:Ionic:高度なHTML5ハイブリッドモバイルアプリフレームワーク、これら2つは良い友達です。 IonicはAngularjsを使用して、豊富で強力なアプリケーションの開発に最も適したフレームワークを作成します。前回、Zhihuに関する関連する質問にWebAppsを開発しました。どのフレームワークとパッケージアプリプラットフォームが最高のパフォーマンスと効率性ですか? - Tang Weiの回答、詳細についてはこちらをご覧ください。
欠点:
大きくて包括的:学ぶことは困難です。私にとって、学習曲線は非常に曲がりくねっており、理解するのが難しいです。
覆されて書き直す:私はしばらく前にコミュニティを訪問しましたが、AngularJS2.0が以前の覆されて書き直して書き直すことがわかりました。 2つのフレームワークは、基本的に2つのフレームワークを大きく変更しました。 2.0が出た後にゼロから始める必要があると言うのと同等です。繰り返しますが、//www.vevb.com/article/79637.htmこの記事では、AngularJS2.0の変化について非常によく説明しています。
IE8以下をサポートしていません。 2.0はモバイルデバイスでのみサポートされているようです。出てきた後に見てみましょう。
avalon.js
avalon.jsは、@situ zhengmeiによって書かれたシンプルで使いやすいミニMVVMフレームワークです。 2012.09.15に最初に公開され、同じビジネスロジックのさまざまな見解の存在を解決するために開発されました。教師が彼のavalon.jsを宣伝し、多くのチュートリアルを公開していることをよく見ることができます。
アドバンテージ
簡単に使用できるように、HTMLにバインディングを追加し、JSのViewModelをAvalon.Defineで定義し、Avalon.Scanメソッドを呼び出すと、移動できます!
IE6(その他のMVVMフレームワーク、knockoutjs(IE6)、angularjs(IE9)、emberjs(IE8)、winjs(IE9))、およびavalon.mobileと互換性があります。
依存関係なし、5000行未満、圧縮後50kib未満
パイプラインキャラクタースタイルのフィルタリング機能をサポートして、出力のフォーマットを容易にします
ローカルリフレッシュの粒度はテキストノード、機能ノードに改良されています
操作するノードは、最初のスキャンでビューリフレッシュ機能にバインドされ、キャッシュされているため、セレクターが表示される余地はありません。
DOM操作のコードをほぼ絶滅させます
CSSのような重複メカニズムを使用して、各viewmodelパーティションレンダリングページを交互にレンダリングします
ノードが削除されたら、対応するビューリフレッシュ機能をインテリジェントにアンインストールしてメモリを保存します
操作データはDOMを操作することであり、ViewModelの操作はビューとモデルに同期されます。
AMDモジュールローダーが付属しているため、他のローダーとの統合を回避できます。
欠点
1.アレイのフィルタリングは、角度ほど良くありません。 Avalonのフィルターは、MS-Text、MS-HTMLにのみ使用できます
2。英語の文書はありませんが、宣伝は制限されています
3.オニウイの肌は十分に見栄えがよくありません。多くの人々は、ブーストラップと協力したいと言いますが、コミュニティの誰もこれを行うためのイニシアチブをとっていません。