Rails4がリリースされてしばらく経ちましたが,一部のgemが対応に追いついていないこともあり,まだ本番系のシステムに適用するのは様子見かなというところです.社内システムや個人的に遊ぶアプリで予行練習中.
というわけで,まだもうしばらくはRails3のお世話になりそうなので,Rails3の総まとめというわけではないですが,良く使うgemをまとめてみました.社内のチームMTGでの発表資料をSlideShareにアップロードしてあります.
既にRails開発に慣れた人にとってはおなじみのgemが多いと思いますが,これからRailsでの開発を始める人にとってはそれなりに有用かと思います.
また,弊社では数多くのRailsアプリケーションをcapistranoでdeployしている実績がありますので,deploy関連のgem等も参考になればどうぞ.
================以下追記(2013/07/13)================
紹介するgem達
Rails開発経験者なら誰もが知っているもの
社内での利用率が高く,汎用性の高いもの
- Devise
- Paperclip
- ActsAsParanoid
- Capistrano/capistrano-ext/capistrano_colors
- Delayed::Job
- Whenever
- New Relic Ruby Agent
- AirBrake
- rspec-rails
- cucumber-rails
- Guardなど
案件によっては利用するもの
スライドの中では,それぞれのgemについてもう少し詳しく解説してますので,詳しくはそちらを参照して下さい.
Gemを使う場合の注意
スライドの最後にもまとめましたが,rubygemsから落とせるgemは玉石混交です.利用者が多くてよくメンテナンスされているものもあれば,最終更新が数年前のgemもあります.利用者が多いからと言ってバグがないというわけでは無いですが,少なくとも解決策を探すときには情報が多いですし,実装例も見つかるでしょう.
また,Gemfileの中に更新が適当なgemを混ぜると,最悪capistrano deploy時のbundle installでこける様になったりもするので,production level qualityを目指すのであれば,gemの選定には気を使った方が良いでしょう.
弊社でも,使っているgemがうまく動かないという事例は少なくないので,その時はgemのソースを追いかけてモンキーパッチを当てたりして使っています.もっとpull requestも投げられるようになると良いのですが,なかなかきれいな解決策まで実装する時間的余裕が無いのが少し残念な所です.
まとめ
最初は社内向けの技術資料を軽く公開しただけのつもりだったのですが,思ったよりPV伸びたので軽くまとめを書きました.
普段Web開発チームは皆忙しいのですが,目の前の仕事を片付けているだけだとエンジニアとして腐っていくので,こういった情報共有は積極的に続けて行きたいですね.