Ruby on Railsにおけるfrontend開発基盤を考えるメモ
概要
- Ruby on Railsにおけるフロントエンド開発にて、現段階(2016年7月時点)で必要そうな技術ベース、開発規約を調査しています。
- 唯一の方法策定ではなく、できるだけ多くの技術について俯瞰的に差異を調査します。
具体的な検討領域
フロントエンドと大分しましたが、具体的には以下のファイルが生成できればOKです。
- html(≒テンプレートエンジン)
- css
- javascript
- 上記を生成するための開発環境・タスクランナー
検討内容
html
テンプレートエンジン
- ERB
- Haml
- Slim
tilt
GitHub - rtomayko/tilt: Generic interface to multiple Ruby template engines
複数のテンプレートエンジンに対してController側が同一コーディングできるようにしてくれるWrapperのようです。
CSS
フレームワーク
レスポンシブデザインを簡単に導入できるが、後述のマークアップ作法に抵触するので利用検討要。
- Bootstrap
- Foundation
- Skeleton
メタ言語
- less / sass
マークアップ作法
- OOCSS / SMACSS / BEM
- CSSの構造化
- 参照記事
Javascript
シンタックスシュガー
- CoffeeScript
- TypeScript
フレームワーク
- Angular
- React
- Aurelia
- Vue.js
タスクランナー
AssetPipelineの要否
Railsが標準で実装しているSprocketsを利用するか否かという問題があります。 こちらを利用する最大のメリットはAssetPipelineによる静的ビルドかと思いますが、ファイル構成の作法のため他のフレームワークの実装がしづらい、または特性を活かしきれない可能性があります。
Sprocketsと決別し、gulpなどに置き換える方法も紹介されていました。
メジャーツール
- gulp
- Grunt