質問するログイン新規登録

回答編集履歴

1

インデントの修正など

2016/10/21 16:07

投稿

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