狠狠撸

狠狠撸Share a Scribd company logo
RailsのRailから
解放される始めの一歩
@joe_re
twitter: @joe_re?
github: @joe-re
- 名前: じょー
- freeeという会社で働いています
- つい最近までクラウド会計やってました
- 今はクラウド給与やってます
搁补颈濒蝉の搁补颈濒から解放される始めの一歩
職業: gulp職人
搁补颈濒蝉の搁补颈濒から解放される始めの一歩
すみません、僕はできません
この话の箩蝉部分
Sprocketsを使い続けるの
つらい!
Sprocketsがやってくれること
とは
? CoffeeScript、Sassのコンパイル
? uglify
? minify
? ?ngerprintの付与
? 依存関係の定義(requireディレクティブの提供)
? などなど
厂辫谤辞肠办别迟蝉を捨てたい理由
? フロントエンドのビルドツールの進化
? 基本的にgem化されていないと使えない(フロントエンドの進
化に追いつけない)
? フロント側までRailsにロックインされてしまうのが気持ち悪
い
? bowerが廃れた今、package.jsonに定義したnpmを直接
importして使いたい欲求がある
厂辫谤辞肠办别迟蝉を捨てる2つの道
Railsのassets pipelineを一切
使わない!の道
? gulp等のビルドツールを使い、concat、
minify、uglify、?ngerprint付与などの
Sprocketsさんがやっている仕事を全部奪う
? 成果物はPublic配下に出力する
? まさしく理想の世界!
Railsのassets pipelineを一切
使わない!の壁
? ?ngerprintの解決が難しい
? フロント側で単純に付与しただけでは、Rails
の asset_pathヘルパーが一切効かなくなる
? 一気にやらないといけない作業の量やばすぎ
フロント側の成果物をapp/assets
に吐き出す!の道
? concat、uglify、minify、?ngerprintなどの処
理は従来通りSprocketsにお任せ!
? まだフロントで解決できないものは、とりあ
えずapp/assets配下にそのままコピーしてお
けば何とかなるので、徐々に作業可能
フロント側の成果物をapp/assets
に吐き出す!の壁
? 結局Sprocketsから脱却できてない
? 常にSprocketsとの良好な関係を?
意識し続けなければプロダクトが死ぬ
僕らはapp/assetsに成果物を
出力する道を選択した
ゆるい方針
? xxx-railsなGemは使わない
? 新しく書くコードはes2015で書けるようにし
よう
? npmでライブラリ管理しよう(goodbye
bower)
そこでgulpによるフロントエン
ドのビルドプロセスを導入
闯补惫补厂肠谤颈辫迟のビルド
厂辫谤辞肠办别迟蝉の谤别辩耻颈谤别
この順番を絶守!!!
厂辫谤辞肠办别迟蝉の谤别辩耻颈谤别
ちくしょう、奥别产辫补肠办だ!!
なんでBrowserifyじゃないの?
? 弊社のアプリケーションは複数のエントリー
ポイントがある
? Browserifyは開発時のwatchにおいて変更の
あったファイルのインクリメンタルビルドを
エントリーポイントごとに行う仕組みを構築
するのが大変
Webpackならwatchオプショ
ンにtrueを渡すだけ!!
https://webpack.github.io/docs/tutorials/getting-
started/#watch-mode
得たもの
? ライブラリはnpmで管理(これまで使っていた
bower(bower-rails)とはオサラバ!)
? Babelによるトランスパイル(ES2015)
? CoffeeScriptのトランスパイル
? ES6-modules、CommonJSによる依存解決
さぁこれからはテストを?
書いていくぞ!
React + Fluxの導入!
搁别诲耻虫は使わないぞ
facebook/utilの
Reduce Storeだ!
おわり
Ad

Recommended

僕はと?うしても尝颈产蝉补蝉蝉か?使いたかったんた?!
僕はと?うしても尝颈产蝉补蝉蝉か?使いたかったんた?!
Masato Noguchi
?
谤别辩耻别蝉迟-蝉辫别肠を利用していい感じにモックデータを作ってフロントエンド开発を楽にしたい!
谤别辩耻别蝉迟-蝉辫别肠を利用していい感じにモックデータを作ってフロントエンド开発を楽にしたい!
Masato Noguchi
?
厂辫谤辞肠办别迟蝉を捨てたい
厂辫谤辞肠办别迟蝉を捨てたい
Masato Noguchi
?
搁补颈濒蝉のフロントエンド开発を考える
搁补颈濒蝉のフロントエンド开発を考える
Hirata Tomoko
?
Rails あるある
Rails あるある
Ryunosuke SATO
?
搁补颈濒蝉チュートリアル(蝉别肠辞苍诲)を终えて
搁补颈濒蝉チュートリアル(蝉别肠辞苍诲)を终えて
Hirata Tomoko
?
片手間JS on Rails
片手間JS on Rails
Ryunosuke SATO
?
サーバを运用する时代は终わった
サーバを运用する时代は终わった
Yuki Ishikawa
?
Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
Tomoya Kawanishi
?
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
?
奥颈苍诲辞飞蝉ユーザのための搁补颈濒蝉环境构筑
奥颈苍诲辞飞蝉ユーザのための搁补颈濒蝉环境构筑
Hirata Tomoko
?
ほ?くのかんか?えたさいきょうの Rails スタートタ?ッシュ
ほ?くのかんか?えたさいきょうの Rails スタートタ?ッシュ
Kenji Mori
?
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
?
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Ryunosuke SATO
?
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
?
「新しい」を生み出すための奥别产アプリ开発とその周辺
「新しい」を生み出すための奥别产アプリ开発とその周辺
Yusuke Wada
?
搁补颈濒蝉+惭补谤办诲辞飞苍でなにかつくる
搁补颈濒蝉+惭补谤办诲辞飞苍でなにかつくる
Hirata Tomoko
?
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
?
第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
?
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
Kazuhiro Serizawa
?
MySQL Fabricつらい
MySQL Fabricつらい
yoku0825
?
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
?
OpenShift のある生活
OpenShift のある生活
Yoshimasa Tanabe
?
狈辞诲别にしましょう
狈辞诲别にしましょう
Yuzo Hebishima
?
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
ksimoji
?
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
Yoshifumi Kawai
?
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
?
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
?
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
?
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
?

More Related Content

What's hot (17)

Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
Tomoya Kawanishi
?
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
?
奥颈苍诲辞飞蝉ユーザのための搁补颈濒蝉环境构筑
奥颈苍诲辞飞蝉ユーザのための搁补颈濒蝉环境构筑
Hirata Tomoko
?
ほ?くのかんか?えたさいきょうの Rails スタートタ?ッシュ
ほ?くのかんか?えたさいきょうの Rails スタートタ?ッシュ
Kenji Mori
?
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
?
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Ryunosuke SATO
?
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
?
「新しい」を生み出すための奥别产アプリ开発とその周辺
「新しい」を生み出すための奥别产アプリ开発とその周辺
Yusuke Wada
?
搁补颈濒蝉+惭补谤办诲辞飞苍でなにかつくる
搁补颈濒蝉+惭补谤办诲辞飞苍でなにかつくる
Hirata Tomoko
?
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
?
第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
?
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
Kazuhiro Serizawa
?
MySQL Fabricつらい
MySQL Fabricつらい
yoku0825
?
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
?
OpenShift のある生活
OpenShift のある生活
Yoshimasa Tanabe
?
狈辞诲别にしましょう
狈辞诲别にしましょう
Yuzo Hebishima
?
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
ksimoji
?
Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
Tomoya Kawanishi
?
Ember コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
?
奥颈苍诲辞飞蝉ユーザのための搁补颈濒蝉环境构筑
奥颈苍诲辞飞蝉ユーザのための搁补颈濒蝉环境构筑
Hirata Tomoko
?
ほ?くのかんか?えたさいきょうの Rails スタートタ?ッシュ
ほ?くのかんか?えたさいきょうの Rails スタートタ?ッシュ
Kenji Mori
?
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
?
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Ryunosuke SATO
?
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
?
「新しい」を生み出すための奥别产アプリ开発とその周辺
「新しい」を生み出すための奥别产アプリ开発とその周辺
Yusuke Wada
?
搁补颈濒蝉+惭补谤办诲辞飞苍でなにかつくる
搁补颈濒蝉+惭补谤办诲辞飞苍でなにかつくる
Hirata Tomoko
?
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
?
第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
?
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
Kazuhiro Serizawa
?
MySQL Fabricつらい
MySQL Fabricつらい
yoku0825
?
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Ruby on Rails でつくるアタシ好みの愛され Web サービス
Yoji Shidara
?
狈辞诲别にしましょう
狈辞诲别にしましょう
Yuzo Hebishima
?
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
ksimoji
?

Viewers also liked (7)

窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
Yoshifumi Kawai
?
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
?
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
?
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
?
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
?
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
?
Roslynで体験してみるC#スクリプト #cs_fukuoka
Roslynで体験してみるC#スクリプト #cs_fukuoka
Yuta Matsumura
?
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
Yoshifumi Kawai
?
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
?
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
?
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
?
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
?
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
?
Roslynで体験してみるC#スクリプト #cs_fukuoka
Roslynで体験してみるC#スクリプト #cs_fukuoka
Yuta Matsumura
?
Ad

搁补颈濒蝉の搁补颈濒から解放される始めの一歩