「Ruby とは何が違うの?」
「開発にどのように役立つ?」
プログラミング学習を進めていくうちで、「Ruby on Rails」という単語を目にしたことはありますか?
Ruby on Rails はWebアプリケーション開発に適したフレームワークで、開発を行う際にとても効率よく進めていけるのが特徴です。この記事では、そんなRuby on Rails について紹介していきます!
目次
Ruby on Rails とはどんなもの?
ではRuby on Railsとはどのようなものなのでしょうか。よくプログラミング言語の「Ruby」と間違える方が多いですが、全く別のものと考えていただいて問題ありません。
両者の違いについても解説しますので、しっかりと覚えておきましょう。
Ruby on Railsについて
Ruby on Rails とは、プログラミング言語の「Ruby」によって構築されたWebアプリケーションの「フレームワーク」となります。このフレームワークによって、開発にかかるスピードを短縮できたり効率よく開発を進めることが可能になります。
そもそも「フレームワークとは “開発を行う際に様々な役割を持つ機能や、基本的な構造を提供する枠組み” のことを指します。
Webアプリケーションの開発などには多くのプログラムを書くのですが、このフレームワークのおかげである程度の基礎が整えられているため、開発の効率を向上させることが出来るのです。
Rubyとは何が違うのか
「Ruby」とは、プログラミング言語の一種です。
日本人のまつもとひろゆき氏によって開発されたプログラミング言語で、Webアプリケーション開発に適した言語です。
他のプログラミング言語と比較して記述量が少なく、直感的に記述できるのが特徴です。
そして「Ruby on Rails」は海外で誕生したフレームワーク。
Rubyでもっと効率よく開発ができるよう、2004年に、デンマークのプログラマーであるデイヴィッド・ハイネマイヤー・ハンソン氏によって開発されたものです。
Ruby on Rails の活用でできること
- Webアプリケーション開発
- ブログサイト
- ECサイト
- SNS
- Webスクレイピング
- システム開発
Ruby on Railsを活用することで、これらの開発が効率よく行えるようになります。
プログラミング言語には開発に適しているものと適していないものがありますが、Ruby on Railsはこれらの開発ができる(適している)と言えるでしょう。
Webアプリケーション開発
Ruby on Railsは、Webアプリケーションフレームワークです。
そのためWebアプリケーションの開発全般に活用することができ、スタートアップ企業がよく新規のWebサービス開発を行っています。
具体的に開発できるWebアプリケーション、サービスについては後述しますが、「Ruby on Rails」は多くのサービス開発に役立てられています。
ブログサイト
一般的によく使用されるブログサービスは「WordPress」が有名ですが、Ruby on Railsを活用することでこのようなブログサイトの開発を行うことが可能になります。
WordPressのようなブログサービスは「CMS(コンテンツマネジメントシステム)」というのですが、アプリケーション開発だけでなくこのようなシステム開発が実現可能です。
自由度の高いCMS開発を行うことができるため、非常に開発の幅が広いと言えるでしょう。
ECサイト
ショッピング機能がついた通販サイト、ECサイトの開発を行うことができます。
単純にRuby on Railsのみで決済機能を実装させることは難しいのですが、「Solidus」などのパッケージを利用したり他の決済システムとの連携を行うことでECサイトを作ることが可能です。
インターネット通販の需要が増え、これからもECサイトの開発は需要が高まるのではないでしょうか。
SNS
SNSといえば、TwitterやInstagramなどが有名ではないでしょうか。
SNSの実装には「ログイン機能」やテキストやメディアなどの「投稿機能」が必要なのですが、これらの機能をRuby on Railsでは簡単に実装することができ、データベースと連携することで実現可能となります。
Webスクレイピング
Webスクレイピングとは、インターネット上のページ(HTMLタグをもとに)から、必要な情報だけを抽出する技術で、その情報を加工して新たな情報を生成する処理を行うことです。
必要な情報を収集することができるため、活用次第で業務の自動化にも役立つ技術です。
このような機能を実装するために、「Nokogiri」や「Mechanize」などのパッケージを活用することで実現可能となります。
Ruby on Railsを活用せず「Ruby」のみでもWebスクレイピングを行うことは可能ですが、Ruby on Railsと組み合わせることによって、WebアプリケーションとしてWebスクレイピングが行えるようになります。
システム開発
システム開発は「Java」などのプログラミング言語を使用して開発されていると思われがちですが、実はRuby on Railsを利用することで業務システムの開発も可能となります。
その理由としては、業務システムの多くはWebアプリケーションとして開発されているからです。Webアプリケーション開発に適しているRuby on Rails ならば、実現可能というわけですね。
勤怠管理システムや入退室管理システムなど、業務上で使うようなシステムを開発することができます。
Ruby on Railsに向いていないこととは?
一見万能に見えるRuby on Railsですが、開発に向いていないものもあります。
それが以下の2つとなります。
- スマホアプリ
- 機械学習
スマホアプリ
スマホアプリの開発には、Ruby on Railsは適しません。
iOSアプリであれば「Swift」、Androidアプリであれば「Java」や「Kotlin」が向いていると言えるでしょう。
機械学習
機械学習の得意分野はなんといっても「Python」ではないでしょうか。適したプログラミング言語やフレームワークを使い、効率よく開発を進めていきましょう。
Ruby on Rails で開発されたWebアプリケーション/サービス
- クックパッド
- Airbnb
- グノシー
- クラウドワークス
有名なもので言えば、これらのWebアプリケーションやWebサービスの開発にRuby on Railsgが活用されています。
まとめ
いかがでしたか?
この記事では、「Ruby on Railsでできること」ということで、Ruby on Railsの特徴や開発できるサービスについてご紹介しました。
幅広い開発に役立て得ることが可能で、「Ruby」はプログラミング学習初心者にとっても習得しやすい言語です。スタートアップ企業の多くがRubyを活用してサービス開発を行い、汎用性も高いのでぜひ習得しておきたいですね。
これでRuby on Rails に関しての知識は、バッチリですね!