はじめに
転職してRuby on Railsを使い始めた。仕事をはじめてからほぼ一ヶ月経ったのでRailsを使い始めた感想などを書いてみようと思う。
技術的なことというよりはかなりポエムよりなのであしからず(ところでポエムという言葉を使うにはちょっと抵抗がある。ポエムって詩だよね?なんでみんなポエムって言葉使うんだろう?でも共通言語っぽいのでポエムにする)。
Rails所感
Railsを使い始めて得た感想が以下になる。
はじめるのが驚くほど楽
はじめるのが驚くほど楽という印象。
rails new hogehoge
でもう雛形が出来上がる。これはこれからWebサービス作ろうという人にとってはかなり都合がいい。
Rubyの文化でGemもかなり至れり尽くせりな感じなので、Webサービスを作り始める土台はしっかりしている感じ。Javaなんかだとこう上手くは行かなそう。
JavaにはPlayFrameworkもあるから似たようなことはできそうだけど、sbtやらなんやらが結構面倒なのでそうサクッとははじめられないかな。
規約に従うのがちょっと大変
RailsにはRails Wayというものがあり、それに従う限りはそう間違ったことはしないとのこと。Rails Wayは先人が残していったレールなのだそうな。
ただ自分の知る限りRails Wayに関しての詳細な説明が見つけられなかったりする。Rails Wayの本はあるけれど2008年の本なのでこれに従っていいのかはよく分からない。
Rails Way (Professional Ruby Series)
- 作者: Obie Fernandez,豊田祐司,株式会社クイープ
- 出版社/メーカー: 翔泳社
- 発売日: 2008/12/04
- メディア: 大型本
- 購入: 2人 クリック: 50回
- この商品を含むブログ (26件) を見る
たぶんRailsの技術書に書いてあることに従っていれば間違いはないのかなと今は思っている。あとはRailsコミュニティの常識をその場にいて体験するしかないのかもしれない。
このRails Wayというのがよく分からなくて最初はいろいろ戸惑った。MVCやRoutesファイルのことはなんとなくわかるが、命名規則とかアンダーバー区切りのメソッド名とかはちょっと戸惑う。JavaやJavaScriptで仕事してきた自分はちょっとまだ慣れない。
だがこればかりはやっていくしかないのだなと思っている。日々精進しなくてはならないなぁと。
Rubyを書いているというよりはRailsを書いている
RailsはDSLみたいだと、同時期に入社した同僚が言っていた。
たしかにRubyで仕事をしているというよりはRailsで仕事をしているような気がしてならない。
Rails Wayに従えば最悪Rubyを覚えなくてもいけるのではないかと思ってしまう。Railsの機能はかなり豊富なのでそれさえ覚えればある程度のことができてしまいそう。
まぁ実際そんなことはないはずなので、普通のRubyもちゃんとかけるようにならないといけないなと思う。
View Helper便利(だが使うのがちょっと怖い)
これはViewの実装の話だが、View Helperがかなり便利。
ちょこちょこ複雑なロジックもかけるので重宝しそう。
ただ、なんとなくViewをRubyでいじるというのが抵抗があったりする。こういうのはJavaScriptの領分なのではないだろうか?
コントローラやモデル、ビジネスロジックはRubyで書いてViewは素のHTMLとJavaScriptで書いた方がフロントエンドとバックエンドの領分がハッキリと分かれていいように思えるのだろうけどどうなのだろうか?
とはいえRubyで書いてしまう方が安全だし楽なので、View Helperを使った方がいいのかもしれない。多分JavaScriptよりも早いだろうし。
Routesファイルがしんどい
今一番困っているのがRoutesファイルの編集。どういう風に書けばコントローラに渡してくれるのか戸惑うことが多い。
rake routes
で経路を確認しつつやればいいのだけど、その表示を読み解くのもまだちょっとおぼつかない。これもやはり慣れが必要だなぁと思う。
まだ調べてないけど、たぶんRoutesファイルは分割できそう。結局Rubyのファイルなわけだし。
まとめ
とにかくRailsの機能を覚えないといけないなと思うことばかりでした。フレームワークを学ぶには言語を学ぶのと同じぐらいの時間がかかりそう。
覚えるには仕事をしたり自分で書くしか方法はないので、地道に経験をつんでいかないことにははじまらない。
転職して一ヶ月経ったけど、まだスタートラインにちゃんと立てていない不安感がある。ちゃんと勉強して事業に貢献できるようにならなければ。
焦っても仕方がないので、できることを着実に積み上げていきたいと思う今日この頃です。