私はバックエンド開発者であり、Javascriptフレームワークの世界は私にとって非常に新しいものですが、過去6か月間でJavascriptフレームワークへの関心が急速に高まっています。 その理由は簡単です。REST+ JSON + Rich JSテクノロジースタックは、幅広いWebアプリケーションにますます適していると思います。 このアプローチは、サーバーアプリケーションの
AngularJSの特別な点は何ですか?
標準としての依存性注入
これにより、インターフェイスがより明確になり、依存関係が透過的になり、アーキテクチャが良好な状態に保たれます。
標準としての単体テスト機能
そして、これは言葉を風に投げつけるだけではありません。 MiškoHeveryは、テストプロパガンダで(少なくとも私には)知られている重要な開発者の1人です。
e2eテストにより、濡れたリクエストを簡単に取得できます
テストはサーバー側のサービスから独立しています。 テストを完全に分離できます。
$httpBackend.whenGET("http://api.example.com/data").respond({'data': 123});
宣言性
HTML属性を最大限に活用して、数百行のJavaScriptコードを節約します。
素晴らしいオープンソースコミュニティ
ほぼ瞬時に(通常は数時間) メーリングリストに返信します 。 クイックプルリクエストソリューション。 主要な開発者は議論に自由です。
やさしい休息
AngularJSは本当にRESTフレンドリーです。 これは、Githubでリポジトリのコミットのリストを取得する方法です。
var commits = $resource('https://api.github.com/repos/:user/:project/commits').get({user: 'mkotsur', project: 'gitoscop'})
スコープ、バインディング、ウォッチ
変更を追跡し、モデルをHTML要素に関連付けることができるスコープがあります。 すべての更新は、$スコープを使用して自動的に機能します。
Angularをより深く理解するために、Github APIを使用して、選択したリポジトリの最新のコミットと差分を操作するためのインターフェイスを提供する「おもちゃ」アプリケーションを作成しました。 デモ: http : //mkotsur.github.com/gitoscop 、コード: https : //github.com/mkotsur/gitoscop
翻訳の終わり。
ジャングラー向けの小さな追加:
- タグテンプレートの競合-stackoverflow.com/questions/8302928/angularjs-with-django-conflicting-template-tags 一番上の答えは0.9.x、2番目の答えは1.0.xです。
- csrfの場合、私は今このようなものを使用しています:
var module = angular.module('Cabinet', [], function ($interpolateProvider) { $interpolateProvider.startSymbol('[['); $interpolateProvider.endSymbol(']]'); }). config(function($httpProvider){ $httpProvider.defaults.headers.common['X-CSRFToken'] = '{{ csrf_token }}'; });
いくつかの興味深いリンク:
- redditに関する議論: AngularJS-GoogleのJavascript MVCフレームワーク 。
- 誰でもIDEA-84299に投票できますAngularJSのIDEサポートを提供します。