Rails以外にもある!Rubyのフレームワークを比較してみた!
Webサービスをつくるための言語として人気のRuby。フレームワークとしてはRuby on Railsが有名ですが、他にも存在しているのです。シーンによって使い分けできるので、知っておくだけでも役立つでしょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Web開発をする上でよく使われている言語Ruby。RubyのフレームワークというとRuby on Railsしか無いと思われる方もいますが、実は他にも存在します。
もちろんRuby on Railsが有名ではありますが、他のフレームワークも知っておいて損はないでしょう。
ちなみにフレームワークを使うと、アプリケーションの骨組みになる部分を予め用意されており効率的な開発ができるようになります。プログラム初心者という人でも動くものを早く作ることができるのが特徴です。
Rubyのフレームワーク数は多くありませんが、一つずつ見ていきましょう。
なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。
Rubyフレームワークの種類
Ruby on Rails
Rubyと言えば、Ruby on Railsを連想する人が多いほど浸透しているフレームワークです。Railsは開発速度が速いため他の言語と比較しても利用されることが多く、実際Webサービスを提供している会社でRubyのフレームワークを使っている場合どこもRailsで開発しているでしょう。
Railsを覚えればWebサービスを作る上でも形にしやすく、Railsを使うWeb系の企業も増えてきているので転職などの選択肢が広がるはずです。
Sinatra
小規模なアプリケーションに特化したフレームワークです。Ruby on Railsと比較するとインストールが非常に簡単で、気軽にアプリケーションを作ることができます。一方、手軽な分機能は豊富に使えるわけではありません。そういった便利な機能はRubyのライブラリから自分で拡張する必要があったりします。
RubyGemsなど使い慣れている人には便利なフレームワークになるかもしれませんね。
Padrino
Padrinoは、上で紹介したSinatraを拡張しているフレームワークになります。Sinatraは小規模なアプリ向きですが、Padrinoは複数人で行う大規模なアプリケーション等に向いています。ただRuby on Railsよりも非常にドキュメントが用意されていないので、学習コストは高いかもしれません。
フレームワーク別にGitHubのStar数やQiitaでの投稿数をまとめています。この数値に比例して使用しているユーザー数などもイメージできるでしょう。
GitHub Star | Stack Overflow | Qiita | |
Ruby on Rails | 30,347 | 237,834 | 6,252 |
Sinatra | 7,756 | 4,459 | 232 |
Padrino | 2,692 | 350 | 55 |
以上、Rubyのフレームワークを紹介しました。
プログラミング言語を選ぶのと同じで使うシーンによってフレームワークも選択すべきでしょう。軽くテストしたいということであればSinatra、Rubyのエンジニアとしてフリーで働きたいということであればRuby on Railsなど、自分の目的に合わせて選んでみてください!
[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。