※ 上記画像中央のロゴはさわらつきさんの著作物です
※ Rubyのロゴはまつもとゆきひろ氏の著作物です
DIGGLEのCTO水上です。
DIGGLE社は前年に引き続き、RubyKaigi 2024のシルバースポンサーとして協賛いたします。微力ながらRubyコミュニティに貢献ができればと思っております!
DIGGLEとRuby
当社サービスは、2016年のローンチ以来、RubyとRuby on Railsをバックエンドの言語、Webフレームワークとして採用しております。私たちが事業として成長を続けられているのは、RubyとRubyコミュニティのおかげです。
特に、サービス初期の立ち上げと、頻繁かつ大胆な変更の繰り返しを乗り越えた上で、大きな負債なく継続できていることは、Rubyという言語の持つ柔軟性と設計思想、充実した周辺ライブラリがあってのことだと考えています。
DIGGLEで活躍するgemの一部
gem 'active_hash' gem 'activerecord-import' gem 'acts_as_list' gem 'clockwork' gem 'devise' gem 'factory_bot_rails' gem 'haml' gem 'kaminari' gem 'mini_racer' gem 'mustache' gem 'oj' gem 'paranoia' gem 'pundit' gem 'rails' gem 'ransack' gem 'ros-apartment' gem 'rubocop' gem 'sidekiq'
今こそRuby / Railsを学ぶべき理由
もっとRuby界隈を盛り上げていきたいので、これを機に、特に初学者であったり、サービスを立ち上げる検討をしている方向けに、私の個人的見解でRubyやRailsを選ぶべき理由をつらつらと書いてみます。よければ選定の参考にしてください。
1. MVC Architecture
Ruby on Railsは、いわゆるMVCアーキテクチャです。
MVCは銀の弾丸ではありません。MVCを使っていると、だいたい私の体感的に、8割は非常に簡単に作れて、残り2割はレールから外れる必要があります。私たちが作るサービスの機能は、複雑度の観点でパレートの法則のような形をしているのだと考えられます。大事なことは、8割でしっかり楽して、2割でしっかり考えぬくことです。初めてサービスを作る方にとって、MVCはきっと丁度よいフレームワークです。
2. HTMLを基本として、適応的にJavaScriptを使える
Ruby on Railsは、シンプルなHTMLベースのWebサーバが基本です。
きっと多くの方が、イケてるUIを目指したいので、フロントをリッチにしたいと思うでしょう。しかし、良いフロントエンドを作るには、JavaScriptの前に、HTMLとCSSについてよく知ることが肝要です。特に、CSSはどんどん進化し多くのことはCSSでカバーできるようになっています。JavaScriptより描画パフォーマンスが良い場合がほとんどです。
Railsは、フロントエンドの節度を守るレールを用意しつつも、時々JavaScriptを使いたくなりそうな課題に対して、いくつか丁度よい道具を提供しています。最近では、それらがすべてHotwireという形で集約されました。もちろん、必要に応じて、Reactなども導入できます。
これらをRailsのレールの上で習得するメリットは、うまく手を抜く技術があがることです。スピード感のあるデリバリーが求められる現代において、頑張る必要がない所で手を抜くのは悪いことではなく、むしろビジネスとして適切な選択ができる能力として重宝されます。
3. 圧倒的なコミュニティとその「近さ」
Rubyという国産言語で、ここまで世界的に使われており、毎年カンファレンスで盛り上がり、多くの人に愛され続け、メンテナンスされている言語はRubyしかないでしょう。
RubyKaigiという一大イベントですぐに最高のハッカー達と、日本語で(あるいは英語で)会話だってできます。エンジニアとしての最高の環境がとても近くにあります。
あとがき
DIGGLEとしては、Ruby界隈に引き続き貢献していき、Rubyとともに成長していければと感じております!一企業として一つの言語に向き合いつづけることこそが、Rubyと自社の中長期的な成長に繋がると考えています。
RubyKaigi当日は弊社メンバーも参加しますので、ぜひお声がけください!
水上