web-dev-qa-db-ja.com

AngularJSおよびエンタープライズアプリケーション

現在、エンタープライズアプリケーション(eバンキング)でのAngularJSの使用をシングルページアプリケーションとして評価しています。 devs @ workの多くは、他に行く方法がないとすでに確信しています。それはトレンドであり、将来性(html、css、js)が簡単で、サーバーへの負担が少ないなどです。このフレームワークの興味深い部分にもかかわらず、考慮しなければならない要素があるとは確信していません。この道に行く前に。これらは次のようになります。

  • コードの保守性
  • UI部分だけでなく、コードのテスト容易性
  • 継続的インテグレーション(TeamCityやTFSなど)
  • デバッグ、コードのナビゲートなどの開発者の使いやすさ
  • セキュリティ(リスクがある場合)

エンタープライズアプリでそのように構築された経験はありますか?私はむしろAsp.NetMVC4を使いたいです。架空の答えはしないでください、私は戦争を始めたくありません。実生活での経験は本当にありがたいです。

よろしく

20
Mantzas

Angularをエンタープライズアプリケーションに組み込むときにこれについて考えていました。まず、いくつかのオプションの背景情報です。サーバー側でページを再作成するため、クライアント側ですべてのページ状態を維持する必要がありました。非常にリソースを大量に消費するタスクです。必要なものが少ないため、JQueryだけでビルドすることから始めましたが、先週書いたコールバックを追跡するのに苦労しました。そのため、リファクタリングしたいと思いました。 Angularは、私のプログラミングスタイルに最適のように見えました。

あなたの懸念に対処するには:

それはあなたが物事を分割することを奨励するので、それはより維持しやすいと思います。ただし、これは、物事を維持できるようにするためのチームと規律に完全に依存します。

Angularチームは、テストを行うときに間違いなくテストを検討しました。単体テストからe2eテストまで、テストは非常に簡単です。他の人は、その中間にあることさえ発見しました。

複雑な環境設定で動作させるために独自のプログラムをプラグインする方が簡単だったため、継続的インテグレーションのためにマイクロソフトショップでJenkinsを使用しています。ただし、これは、どのフレームワークを使用するかとはあまり関係がないと思います。

Visual Studioから来た私は、JavaScriptは一般的に何かが望まれることを残していると思います。編集して続行し、スタックを巻き戻し、黄色の矢印をドラッグするのが大好きです。そのようなものは純粋な魔法の至福です。ブラウザでデバッグしても、すべてが得られるわけではありません。

セキュリティはかなり良いです。ドキュメントを見ると、チームがXSSやCSRF攻撃などのセキュリティ問題に関心を持っていることがわかります。ただし、ブラウザを介して行われたことはすべて保護するのが困難です。一日おきに発見された新しい攻撃とバグがあります。あなたが本当にセキュリティについて心配しているなら、あなたはオンラインアプリを持っていないでしょう。顧客が複数の形式のIDを持つ支店でのみ銀行に預けていることを確認します。そうは言っても、Angularは他のJavaScriptソリューションよりも安全性が低いとは思いません。

これらすべてのJavaScriptフレームワーク/ライブラリで別の問題を提起したいと思います。それらはすべてかなり新しく、絶えず進化しています。 JQueryが最近廃止した関数の数を見ると、ライブラリを管理するのがどれほど難しいかがわかります。これらの多くも忘れられ、腐敗するままになっています。 Angular Googleの製品の1つであることも、プロジェクトの波をキャンセルしているので、少し怖いです。うまくいけば、Angularはそれらの1つにはなりません。

ドキュメントも不足しています。コミュニティは良いですが、ドキュメントはそうではありません。多くのページが半分完成しています。繰り返しになりますが、Microsoftの最新のものと比較すると、ドキュメントはかなりまばらです。

これは新しいことの1つであり、このようなものを手伝ったり引き継いだりするために誰かを雇うのは難しいです。

これらすべての欠点にもかかわらず、私はそれが本当に好きであり、私は間違いなく私の会社をそれを採用する方向に押し進めるつもりです。

7
John Tseng

はい私はMongoDBと一緒にAsp.netWebAPIでAngularを使用しました。Plsは私の発見を見つけます

1)テスト容易性は絶対に幻想的です。カルマとジャスミンを使用してユニットテストを簡単にテストできます

2)CI。 Jenkinsの統合はKarmaで利用可能です

3)Javascriptのデバッグと同様に簡単にデバッグできますchrome拡張機能Bartrangを使用してangularアプリを簡単にデバッグできます

0
Ajay Beniwal