過去には、フロントエンド開発(Webまたはモバイル)は、主にjQuery +ネイティブJSを使用していました。フロントエンドのUIフレームワークが使用されている場合、使用するAPIを提供する場合もあります。さらに、多くのUIフレームワークはjQueryに基づいているため、jQueryからAngularjsまでのスパンは比較的大きいです。私はしばらくの間Angularjsを勉強してきました。全体的な経験について話しましょう:
JQueryとの比較について
まず、AngularはMVCフレームワークです。それとjQueryの違いは、前者がMVCコードの分離に取り組んでおり、モデル、コントローラー、ビューを使用してコードを整理することです。後者は、多くのAPI関数を提供します。アニメーション、$ .animeなど、より複雑な効果を達成するために、多くのネイティブJSを書く必要はありません。ネイティブJSを記述する必要がある場合、コードボリュームは比較的大きくなります。
第二に、jQueryはコードの整理方法を定義していません。参照のために別のJSファイルに配置するか、ページに直接書き込み、スクリプトタグでラップするか、インラインのHTMLタグに直接書き込むこともできます。ただし、AngularJSはHTMLページをいくつかのモジュールに分割し、各モジュールは独自のスコープ、サービス、および指令を持つことができ、モジュール間で通信を実行できますが、全体的な構造は比較的明確です。つまり、コード組織メソッドはモジュール式です。
最後に、jQueryのアイデアは、最初にページを設計し、既存のページでDOM操作を実行してページを表示することです。ただし、角度ビューは単なるフレームワークである可能性があり、ビューのDOM操作または時間監視は指令に実装されています。一般に、モデルを聴く限り、自分で直接書かれることはめったにありません。モデルが変更されると、ビューも変更されます。
該当する機会について
jQueryはほとんどのWeb開発に適している必要があり、モバイル側にはjquerymobileもあります。一部の人々は、AngularjsがSPAにより適していると言う人もいます(個人的には、携帯電話のSPAがパフォーマンスに影響を与えるため、パフォーマンスの問題を引き起こす可能性があると思います)。 Web側では、一部のCRUDアプリケーションまたは管理ソフトウェアを使用できます(もちろん、ここでの理解は正確ではない場合があり、詳細な学習でより理解して使用できます)。
UIの組み合わせについて
製品を開発するには、フロントエンドUIの使用が必要です。現在、多くのUIはjQueryに基づいています。つまり、AngularJSとこれらのUIコンポーネントを使用する場合は、AngularJSの指令を使用していくつかのコンポーネントを書き換える必要があります。このプロセスは非常に面倒です。幸いなことに、Angularは、使用できるいくつかのUIコンポーネントを提供します(Webサイドは主にブートストラップフロントエンドコンポーネントを組み合わせています)、http://angular-ui.github.io/、およびモバイル側では、主にイオンフレームワークhttp://ionicframework.com/を組み合わせています。ただし、Angularの開発により、多くのHTML5フロントエンドフレームワークには、使用するためにAngularJSバージョンが徐々に統合されています。
Angularjsの特徴について
1。データの双方向結合:これは最もエキサイティングな機能かもしれません。ビューレイヤーのデータとモデル層のデータは、双方向の結合です。それらの1つが変更された場合、反対側はそれに応じて変更されます。コードを書く必要はありません! (jqueryモードでそれを行う方法について考えてください)
2。コードはモジュール式であり、各モジュールのコードには独自のスコープ、モデル、コントローラーなどがあります。
3.強力な指令は、多くの関数をHTMLタグ、属性、またはコメントなどにカプセル化できます。
4。このバックエンド言語の設計パターンをフロントエンドコードに与えます。つまり、フロントエンドコードは再利用性と柔軟性を向上させることができます。将来、モデルはクライアントに多数の操作を配置する可能性があり、サーバーは他のクライアントが完了できないデータソースと操作のみを提供します。
5.テスト駆動型開発、AngularJSはこれから始めることを目指しています。 Angularを使用して開発されたアプリケーションは、単体テストとエンドツーエンドのテストを簡単に実行できます。これにより、従来のJSコードの欠点がテストとメンテナンスが困難です。
上記は、角度を一定期間研究することによって描かれた結論です。一部の領域は省略される場合があります。それは問題ではありません。次に、ポイントの1つを開発し、段階的に学びます。