回答編集履歴

1

インデントの修正など

2016/10/21 16:07

投稿

退会済みユーザー
test CHANGED
@@ -1,28 +1,20 @@
1
- Angular2はフレームワークなのでrailsと同じように、そのフレームワークだけでアプリケーションを構成るように作られています。
1
+ Angular2はフレームワークなのでrailsと同じように、そのフレームワークだけでアプリケーションを構成できるように作られています。railsで作ったフォームをAngular2で使い回すといったことは基本的にどちらかの機能を犠牲にすることになります。
2
2
 
3
- railsで作っフォームをAngular2で使い回すといったこと基本的にどちらか機能犠牲することになりま現状特にsprocketsなどと共存は出来くなると思います。
4
-
5
- 要はまともに書き換えようとすればアプリケーションをほぼ丸々書き換えるレベルのコストが発生します。特にjqueryで書かれている資産をほとんど捨てることになります。またAngular wayという言葉があるようにAngularは独自の概念を多量に含むので初期の学習コストが非常に高い事で有名で2になってもその点はさほど変わりはありません。
6
-
7
- またnode.jsを全く触った事なければそちらの学習コストも必要になります。
8
-
9
- Angular 2のソースコードは普通のjavascriptのようにsrcで配置すれば読み込めるというようなものではなく,webpackなどでビルドの管理をする必要があり,実際のプロダクトに対して自由自在に設定できるまで学習するのは相当気合がいります。またまだまだ情報がすくなくrailsに組み込むことを考えやっている人はそんなに多くはいないので更に学習コストが高くなるでしょう。
3
+ 現状sprocketsなどとの共存は出来なくなると思います。要はまともに書き換えようとすればアプリケーションをほぼ丸々書き換えるレベルのコストが発生します。特にjquery書かれている資産をほとんど捨てることになります。またAngular wayという言葉があるようにAngular独自概念多量含むので初期の学習コストが非常高い事で有名で2にってもその点はさほど変わはありせんまたnode.jsを全く触った事ければそちら学習コストも必要にます。
10
4
 
11
5
 
12
6
 
13
- 新たにアプリケーションを作成し,それをrailsでルーティングしAngular2のソースコードに変数の渡す運用などは出来るれません。
14
-
15
- しかしそれもそれでAngular 2またはrails
16
-
17
- の機能を犠牲にすることになります。
7
+ Angular 2のソースコードは普通のjavascriptのようsrcで配置すれば読込めるというようものではなく,webpackなでビルドの管理をする必要があり,実際のプロダクトに対して自由自在に設定できるまで学習するの相当気合がいります。また,公式リリースら日が浅くまだまだ情報が少なくrailsに組み込むことを考え実行ている人は,そなに多くはいないので更に学習コストが高くなるでしょう
18
8
 
19
9
 
20
10
 
21
- ここまでデメットばかりあげまたが、メリットは沢山あります。jQueryでui操作セレクタに一貫性がないコードを書いたり,肥大化したり,毎回無駄なdom全探索を行うようなコードが散見しやなる(最適化ていば速いすが複数人絡むプロジェクトでUI設計方針を厳密に決めるのはほぼ不可)viewコンポーネント毎独立させ書き方よって互いの干渉を最小限に抑え見通しをよく出来ます。
11
+ 新たにアプケーションを作成,それをrailsルーティングしAngular2ソースコードに変数み渡運用どは出来かもしれません。しかし,それもそれAngular 2またはrails能を犠牲ことなります。
22
12
 
23
- Angular 2のメリットはコンポーネントとモデルの密な結合,コンポーネント同士は疎な結合にすることで,相互作用によってぐちゃぐちゃになりやすいview内のuiを綺麗に切り離せること,他言語のようにモデルのデータ構造をjavascriptに渡さなくても,モデルの構造がjavascriptで定義されているのでサーバ側もクライアント側も同じようにデータの処理が出来ること,クライアント側の中にステイトを持たせられるため,サーバにアクセスしなくてもクライアント内で画面の書き換えが継続出来てサーバー負荷を減らせるSPAを構築しやすいこと。またuiとモデルが相互に値の更新が同期される関係であるためサーバーの変更をクライアントにも反映させるオブザーバブルパターンのアプリケーションが構築しやすいという大きなメリットがあります。
24
13
 
25
- 更にMVCより大規模開発の際に安全とされているfluxパターンという開発モデルをサポートするライブラリを組み込みやすいように設計されています。
14
+
15
+ ここまでは,デメリットばかりあげましたが、書き直すということに対してのデメリットであり,新規開発で採用するメリットは沢山あります。jQueryでは,共同作業をしているとUI操作のセレクタに一貫性がないコードが書かれていたり,冗長な記述によってファイルが肥大化したり,毎回無駄なdomの全探索を行うようなコードが散見しやすくなる(最適化していれば速いですが複数人絡むプロジェクトでUIの設計方針を厳密に決めるのはほぼ不可能)のに対して,Angular 2などのVirtual DOM型のviewでは,コンポーネント毎に独立させる書き方によって互いの干渉を最小限に抑え見通しをよく出来ます。
16
+
17
+ Angular 2のメリットはコンポーネントとモデルの密な結合,コンポーネント同士は疎な結合にすることで,相互作用によってぐちゃぐちゃになりやすいview内のuiを綺麗に切り離せること,他言語のようにモデルのデータ構造をjavascriptに渡さなくても,モデルの構造がjavascriptで定義されているのでサーバ側もクライアント側も同じようにデータの処理が出来ること,クライアント側の中にステイトを持たせられるため,サーバにアクセスしなくてもクライアント内で画面の書き換えが継続出来てサーバー負荷を減らせるSPAを構築しやすいこと。またuiとモデルが相互に値の更新が同期される関係であるためサーバーの変更をクライアントにも反映させるオブザーバブルパターンのアプリケーションが構築しやすいという大きなメリットがあります。更にMVCより大規模開発の際に安全とされているfluxパターンという開発モデルをサポートするライブラリを組み込みやすいように設計されています。
26
18
 
27
19
 
28
20
 
@@ -34,8 +26,8 @@
34
26
 
35
27
 
36
28
 
37
- これらはライブラリやパッケージで,フレームワークと用途が違うのでアプリケーションやフレームワークへの導入の親和性が高くなるように出来ていす。
29
+ これらの違い上記二つはライブラリやパッケージで,アプリケーションやフレームワークへの導入の親和性が高くなるように出来ていて,フレームワークと用途が違うからです。
38
30
 
39
31
 
40
32
 
41
- これらが参考になればと思います。
33
+ これらが開発の参考になればと思います。