久しぶりにRailsの記事を書きます。
実はブログには殆ど書いてませんが、僕はここ半年ほどRails3を触ってました。
(なので、Rails2とRails3とobjective-cを並列で弄ってたので何が何だか分からない状況にありました。)
構築について書く前に、、、Rails3の便利な所を少し紹介します。
Rails2のデフォルトを触ってた人なら間違いなくjQueryは魅力的でしょう。prototype.jsも便利ですがjQueryの記述量とセレクタの使いやすさは使うと病みつきになります。
また、Rails3(3.1くらいからかな?)で導入されたCoffeeScriptは便利すぎます!
(後述しますが、これのためLinux等の環境にnode.jsを入れる必要が出てくるところははまりポイントです。)
jQueryでただでさえコード量を削減できるのに、CoffeeScriptはそれに輪をかけてコード量の削減が出来ます。これは便利!(ただし、CoffeeScript用のエディターにまだ出会ってない。。。)
これで、HTMLとJSの分離作業が楽に出来ます。
CoffeeScriptは基本的にバインドに特化した使い方に強いと思ってます。
なので、HTML内にonClickイベントを書きたい時にそれらの殆どをCoffeeScriptに書けます。それがとってもスマートに書けるので僕はこのCoffeeScriptを強く推奨します。
大人数で行っている時にもある程度記述フォーマットを合わせれるのでお勧めです。
(ただし、大きいプロジェクトではJSの切り分け処理をどうするかが課題になります。⇒覚えるテクさんのホームページ参照。※これは機会があればもう少し突っ込んだ事を書こうと思います。)
他にもSCSSも便利です。これは多階層にCSSを書けるので記述量の削減と共に、CSSがとても見やすくなります。この記述とHamlを組み合わせるとおそらく完璧ですが。。。僕はHaml未経験者なので実際のところは分かりません。(苦笑
mix-inとかもあるので大規模システムで様々なところのスタイルを合わせたい場合はCSSよりもはるかに便利です。(小さいサイトではそこまでの恩恵は無いのですが、気遣いうちに他のセレクタにも影響するようなCSSを書かなくても良いので使うべきかと思います。)
SCSSとCoffeeScriptの一番の欠点はpreCompileしないと使えないところです。
しかも、サーバー上でpreCompileをするとその間はサーバーへのアクセスが出来なくなります。
まぁ、なので、capistranoと併用で使わないと本番では使いにくい代物になるでしょう。(Capistranoではdeployタスクのupdate:afterでpreCompileをしており、その後にシンボリックリンクの切り替えを行ってます。なので、サーバー稼働中にもバージョンアップが可能になります。※これもそのうち書きます。)
他にも気付かない点でRails3は便利になってます。
例えばRails2ではCSRFで引っかかると例外を返してましたが、Rails3ではセッションの破棄だけにとどめてくれてます。(微妙だけど、便利です。)
AfterValidationの結果も評価されるようになったのも微妙ですが、便利になりました。(そもそもこれはバグだったのでは?)
スマートValidationのようにひとまとめにチェック処理が書けるのも良いと思いました。
あ、あと、ホワイトリスト。これはバージョンアップをするときには厳しい洗礼になりますが、新規サイトならとても便利です。
attr_accessibleに定義していないパラメータを受け取れなくしてくれるので、セキュリティ上で強固なサービスを作りやすくなります。
メールは今のところ恩恵無し、と言うかフォルダ構成が変わったので戸惑ってるところ。
と、まぁ、とにかくCoffeeScriptとSCSSが一番の収穫でした。
なんか、まとまりが無い文章ですいません。次回はRails3のインストールについて書きます。
あ、そうそう。
TownSoftを宜しくお願い致します!
Twitterも宜しくお願い致します!
syou007
実はブログには殆ど書いてませんが、僕はここ半年ほどRails3を触ってました。
(なので、Rails2とRails3とobjective-cを並列で弄ってたので何が何だか分からない状況にありました。)
構築について書く前に、、、Rails3の便利な所を少し紹介します。
Rails2のデフォルトを触ってた人なら間違いなくjQueryは魅力的でしょう。prototype.jsも便利ですがjQueryの記述量とセレクタの使いやすさは使うと病みつきになります。
また、Rails3(3.1くらいからかな?)で導入されたCoffeeScriptは便利すぎます!
(後述しますが、これのためLinux等の環境にnode.jsを入れる必要が出てくるところははまりポイントです。)
jQueryでただでさえコード量を削減できるのに、CoffeeScriptはそれに輪をかけてコード量の削減が出来ます。これは便利!(ただし、CoffeeScript用のエディターにまだ出会ってない。。。)
これで、HTMLとJSの分離作業が楽に出来ます。
CoffeeScriptは基本的にバインドに特化した使い方に強いと思ってます。
なので、HTML内にonClickイベントを書きたい時にそれらの殆どをCoffeeScriptに書けます。それがとってもスマートに書けるので僕はこのCoffeeScriptを強く推奨します。
大人数で行っている時にもある程度記述フォーマットを合わせれるのでお勧めです。
(ただし、大きいプロジェクトではJSの切り分け処理をどうするかが課題になります。⇒覚えるテクさんのホームページ参照。※これは機会があればもう少し突っ込んだ事を書こうと思います。)
他にもSCSSも便利です。これは多階層にCSSを書けるので記述量の削減と共に、CSSがとても見やすくなります。この記述とHamlを組み合わせるとおそらく完璧ですが。。。僕はHaml未経験者なので実際のところは分かりません。(苦笑
mix-inとかもあるので大規模システムで様々なところのスタイルを合わせたい場合はCSSよりもはるかに便利です。(小さいサイトではそこまでの恩恵は無いのですが、気遣いうちに他のセレクタにも影響するようなCSSを書かなくても良いので使うべきかと思います。)
SCSSとCoffeeScriptの一番の欠点はpreCompileしないと使えないところです。
しかも、サーバー上でpreCompileをするとその間はサーバーへのアクセスが出来なくなります。
まぁ、なので、capistranoと併用で使わないと本番では使いにくい代物になるでしょう。(Capistranoではdeployタスクのupdate:afterでpreCompileをしており、その後にシンボリックリンクの切り替えを行ってます。なので、サーバー稼働中にもバージョンアップが可能になります。※これもそのうち書きます。)
他にも気付かない点でRails3は便利になってます。
例えばRails2ではCSRFで引っかかると例外を返してましたが、Rails3ではセッションの破棄だけにとどめてくれてます。(微妙だけど、便利です。)
AfterValidationの結果も評価されるようになったのも微妙ですが、便利になりました。(そもそもこれはバグだったのでは?)
スマートValidationのようにひとまとめにチェック処理が書けるのも良いと思いました。
あ、あと、ホワイトリスト。これはバージョンアップをするときには厳しい洗礼になりますが、新規サイトならとても便利です。
attr_accessibleに定義していないパラメータを受け取れなくしてくれるので、セキュリティ上で強固なサービスを作りやすくなります。
メールは今のところ恩恵無し、と言うかフォルダ構成が変わったので戸惑ってるところ。
と、まぁ、とにかくCoffeeScriptとSCSSが一番の収穫でした。
なんか、まとまりが無い文章ですいません。次回はRails3のインストールについて書きます。
あ、そうそう。
TownSoftを宜しくお願い致します!
Twitterも宜しくお願い致します!
syou007