Gulpを使った静的コンテンツの生成手法と、Railsを使った動的コンテンツの生成手法の違いをざっと見てみましょう。
GulpはNode.js製のツールです。
PugやSassといったテンプレート言語をHTMLやCSSに変換して、別のディレクトリ配下に吐き出すのが仕事です。
でもそれじゃ確認出来ないので、Gulpで画面を表示する為にWebサーバを起動させます(これがライブプレビューとして動作します)
RailsはRuby製のWebフレームワークです。
動作させてURLを打ち込むと、Viewディレクトリ内に放り込んだSlimやSassをよしなにHTMLやCSSに変換して画面を表示してくれます。
Railsは動的なページを生成することが仕事です。
ブラウザに返すHTML内にデータベースから読み込んだ結果、ユーザー名やスコア等の情報を埋め込む必要があるわけですね。
Gulpみたいにテンプレート言語を予めHTMLやCSSに変換しておくメリットがあまりないので、アクセスの度に作り直す手順が発生します。
結局のところRailsはそれ自身がWebサーバであるために、
タスクランナーによるWebサーバ構築という手順が必要ないのです。
Gulpにはライブプレビューが出来ます。Railsにはないんですか?
ちゃんとありますので安心してください。
Railsではプラグインを設定してWebサーバを起動するという解決方法を採用しています。
Railsの開発効率を上げる - guard-livereloadを使ってRailsでブラウザのオートリロードをさせる
RubyやRailsの世界にはタスクランナーは存在しないのですか?
あります、私はRubyはあまり詳しくないからRakeくらいしか知らないけど、他にもあるかも?
GulpのようにWeb系に特化している印象はあまりありません。
Railsの作りを見れば分かりますが、予め変換する需要が少ないですからね。
でもでも、GulpとRailsを組み合わせる仕事があるって聞いた
それは役割分担してますね。
組み合わせる可能性が最も高い構成がシングルページアプリケーションでしょう。
Gulpはフロントエンドとして、吐き出されたHTML、CSS、JavaScriptでブラウザの表示や動作を管理します。
しかし、ブラウザはセキュリティ上AjaxによるHTTP通信しかできません。
サーバー上のデータベースを読み書きできないのです。
そこでRailsの出番です。
Ajax通信を受け取りデータベースへの読み書きを代行します。
そしてその結果をJSON形式でブラウザに投げ返してやる。
RailsにはSlimやSassを、HTMLやCSSに変換して表示するという機能もありましたよね?
ですがそれらの機能はGulpと組み合わせる場合は一切使いません。
Gulpと重複しますからね。
フロントエンドエンジニアはRailsのシステムを触らずに済む、
バックエンドエンジニアはHTMLやCSS等の画面に関わる箇所を触らずに済むという役割分担ができます。
そういった意味ではRailsはHTMLやCSSの情報を持ちたくなかったとも解釈でき、シングルページアプリケーションは良い住み分けになってますね。
もっと流行れ!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。