2016年12月20日火曜日

「Railsが時代に合わなくなってきた」のフォロー(Synthについて)(引用日2016年12月20日)

勉強の為に引用しました。
http://wazanova.jp/items/1361



http://qiita.com/kaiinui@github/items/2781219340d427543d08

1 comment | 0 points | by WazanovaNews 2年以上前 edited

 


↑ comment (ログインが必要です)
 Jshiike 2年以上前 edited | ▲upvoteする | link
お休みいただいてる間に投稿いただいたので、掲載が遅れました。すみません。

元ネタはQiitaにあって充実したエントリーとなってますので、そちらをご参照ください。

Railsが時代に合わなくなってきた

Javascriptを使うのをやめろ : Railsの時代遅れ云々についての結論
自分の方は原文で下記のように紹介されているSynthについて、

Node.jsベースであり
クライアントサイドMVCにAngularを据え
APIファースト(というかAPIしかない)であり
Angularとフレームワークが統合されており、テンプレートが一つであり
URLを適切なモデルにルーティングし、Angularに直接モデルを渡す
追加でメモってみます。

開発しているJohn AbramsはNetflix出身で、現在は新しいタイプのゲームコンソールを提供しているOUYAに在籍。
Synthが目指すのは「Javascript webアプリ(Angular|Ember|Backbone)を簡単につくり & 管理するためのにデザインされたバックエンドのwebフレームワーク」だが、現在はまだ ver. 0.5.2
主な機能
フロント(Bower経由)+ バックエンド(npm経由)のパッケージを簡単インストール & 追加できる
Devモード + Productionモード
最小のコードでRESTful APIを生成
フロントとバックエンドのコードを明確にわけて管理
Expressなどの標準のNodeJSライブラリを使える
viewのデータとHTMLを最初にまとめて読込む
Railsなどの従来のサーバサイドのフレームワークでは、URLのリクエストに対してHTMLをサーバ側で生成して、クライアント側で表示した後、ユーザの操作を反映させるにはウェブページ全体を再度読込むかたちになる。一方、Angularなどのクライアントサイドのフレームワークは、サーバからのJSONデータをもとにページの一部だけを更新できるという利点がある。しかし、最初のURLのリクエストに対してサーバ側はまずレイアウトHTMLだけを返す。そして、次にブラウザがJavaScriptを処理して、APIコールをしてview HTMLを取ってくる。ラウンドトリップを2回しないとページ全体が表示できない。Synthの場合は、JSONデータとview HTMLを最初にまとめてサーバから返す仕組みなので、両方のフレームワークの課題を解決できる。
手元で計測すると読込み時間が17%改善。遅延の大きいモバイルや通信環境の悪い地域だともっと改善すると思っている。
InfoQの記事によると、

プリロード機能は,SynthのAPI処理関数にPromiseのサポートを追加することで実現されている。これによりAPIハンドラがExpress応答オブジェクトと直接通信する必要がなくなるため,APIハンドラの再利用が可能になる。APIハンドラはAPIコール時だけでなく,特定のWebビューが要求されたときにもコールされる。これにより,モバイルWebアプリに付きものの高いレイテンシを軽減することが可能になるのだ。
Synthはさらに,フォルダ作成や関数のネーミングに工夫を加えることで,新たなRESTful APIリソース作成を簡略化しようとしている。Synthはリソースフォルダから.js(あるいは.coffee)ファイルを検索して,それが配置されているフォルダ名に基づいたAPIを生成する。memoesソースを作成するには,同じ名前のフォルダを作成した上で,そのディレクトリ内の任意のファイルに対象とするHTTPメソッド用のリクエストハンドラを宣言すればよい。これはエクスポートする関数をアサインすることで行われる。


↑ comment (ログインが必要です)
Back

0 コメント:

コメントを投稿