この記事はRuby on Rails Advent Calendar 2017 17日目の記事です。
はじめに
今回初めて ruby on railsのアドベントカレンダーに参加させていただきます。
稚拙な内容などはご了承ください。
また今回検証するためにソースコードを一部お借りさせていただきました。
Ruby on Rails Advent Calendar 2017 | 4日目 「先人達から学ぶRailsのテーブル設計」- kikunantoka
検証対象 OSS
- ekremkaraca/awesome-railsにあるレポジトリー92種類を対象としています。
注意事項
- 古いレポジトリーなども含まれているため、Gemの取り扱いの際はご自身で一度確認することをおすすめします。
方法
- 記事を参考にレポジトリーからGemfileを抽出し、データベースに保存。
- 各カテゴリー別に分けて使用されているGemもしくは、使用されていたGemを調べております。
結果
rails version
rails version | number_of_gems |
---|---|
rails4系 | 45 |
rails5系 | 28 |
rails3系 | 10 |
アカウント作成
gem | number_of_gems |
---|---|
devise | 46 |
sorcery | 2 |
DB周辺
gem | number_of_gems |
---|---|
pg | 57 |
mysql | 27 |
sqlite3 | 20 |
キャッシュサーバー
gem | number_of_gems |
---|---|
redis | 8 |
ページネーション
gem | number_of_gems |
---|---|
kaminari | 26 |
will_paginate | 24 |
画像
gem | number_of_gems |
---|---|
paperclip | 26 |
carrierwave | 24 |
mini_magick | 18 |
rmagick | 8 |
テンプレートエンジン
gem | number_of_gems |
---|---|
haml | 21 |
haml-rails | 16 |
slim-rails | 6 |
slim | 5 |
デバッグ
gem | number_of_gems |
---|---|
better_errors | 32 |
binding_of_caller | 31 |
権限
gem | number_of_gems |
---|---|
pundit | 8 |
cancan | 7 |
oauth系
gem | number_of_gems |
---|---|
omniauth | 23 |
omniauth-facebook | 16 |
omniauth-google-oauth2 | 12 |
omniauth-github | 10 |
decorator
gem | number_of_gems |
---|---|
draper | 8 |
テスト
gem | number_of_gems |
---|---|
rspec-rails | 50 |
minitest | 14 |
テスト効率化促進
gem | number_of_gems |
---|---|
database_cleaner | 38 |
webmock | 31 |
faker | 29 |
launchy | 29 |
simple_cov | 27 |
timecop | 27 |
shoulda-matchers | 22 |
guard-rspec | 18 |
coveralls | 16 |
rails-controller-testing | 16 |
email_spec | 13 |
spork | 6 |
ffaker | 6 |
rspec-its | 6 |
エラートラッキング系
gem | number_of_gems |
---|---|
newrelic_rpm | 28 |
airbrake | 10 |
sentry-raven | 6 |
honeybadger | 5 |
bugsnag | 3 |
アプリケーションサーバー
gem | number_of_gems |
---|---|
unicorn | 25 |
thin | 25 |
ジョブキュー処理
gem | number_of_gems |
---|---|
sidekiq | 17 |
delayed_job | 7 |
resque | 3 |
論理削除
gem | number_of_gems |
---|---|
paranoia | 5 |
開発効率促進
gem | number_of_gems |
---|---|
rubocop | 24 |
annotate | 17 |
bullet | 16 |
letter_opener | 15 |
rack-mini-profiler | 11 |
brakeman | 8 |
rails-erd | 7 |
全集計結果を載せております。
https://github.com/zorori777/research_gems/blob/develop/results/result_gem.md
最後に
Gemは知っているか、知らないかの世界です。
年を重ねれば重ねるほど、成熟し完成されるGemもあれば
新しい風を吹かす画期的なGemも今後できるかもしれません。
Gemと共に素敵なエンジニアライフを送っていきましょう!!