Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

Ruby on Railsを徹底解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210703095431p:plain

おはようございます。Shotaです。

Ruby on Railsは、Web開発に用いられるフレームワークです。

フレームワークとは、アプリケーション開発を手助けする雛形や枠組みのことを意味しています。Ruby on Rails(以下、「Rails」と表記)は名前の通り、プログラミング言語Ruby」によって記述されています。

Rubyサードパーティのライブラリも豊富です。そのため、Railsを用いた開発は複雑な機能をシンプルに実装できるという利点があります。特に、スピーディーな開発や改善の柔軟性が要求されるベンチャー企業におけるWeb開発で採用されることが多いようです。

今日は

以上の事柄を中心にRuby on Railsについて徹底解説します。

【目次】


Ruby on Railsの概要

f:id:ShotaNukumizu_1000:20210703100312p:plain
(引用:スターフィールド株式会社)

Ruby on Railsとは、プログラミング言語Ruby」で構成されたオープンソースのWebアプリケーションフレームワークです。Webアプリケーションフレームワークとは、Webアプリケーションの開発を行う際の汎用的な機能や基本的な構造を提供する枠組みのことです。

Railsを用いてWebアプリケーションを開発する場合、基本的な雛形はすべてRails側で用意されています。Webアプリケーションフレームワークで定められた規約に従って、必要な機能や処理を簡単なコードで記述するだけで効率よくアプリを開発できます。


ライブラリが豊富

RailsがWebアプリケーション開発で多く用いられている理由の一つとして「ライブラリが充実している」ことが挙げられます。ライブラリとは、汎用性の高いプログラムを再利用できる形でまとめたものを意味します。ライブラリを用いることで、自分で全てのプログラムを記述する必要がなくなります。


Rubyとの違い

f:id:ShotaNukumizu_1000:20210614074705p:plain

プログラミング初心者の方は「Ruby」と「Ruby on Rails」を混同してしまうかもしれません。

しかし、両者は明確に異なります。Rubyは国産の言語で、Ruby on Railsは海外産のWebアプリケーションフレームワークです。

RailsRubyを用いて作られている「Webアプリケーションフレームワーク」を指します。Webアプリケーションを作成するための枠組みのプログラムです。


Ruby on Railsでできること

f:id:ShotaNukumizu_1000:20210603061116p:plain

Railsを使うことでどのようなことができるのでしょうか?実際にRailsで開発可能なシステムを紹介します。


ブログサイト

ブログを始める際、ブログサービスまたはWordPressを使うのが一般的ですが、Railsを使って自分でブログサイトを構築できます。機能やデザインを無料で自分好みに設定できます。


ショッピングサイト

Railsを使って、決済機能がついたショッピングサイトを作ることができます。Rubyだけで決済機能を実装するのは非常に難易度が高いですが、Solidusやpay.jpのAPIを使うことで実装することが可能です。


SNS

Railsを使い、ユーザー登録やログインを実装することでDBと連携したSNSをつくることができます。


スマホアプリ

iOSアプリ開発は「Swift」、Androidアプリの開発は「Java」や「Kotlin」が一般的です。ところが、Rubyでも「RUBYMOTION」というソフトを使うことで、AndroidアプリやiOSアプリを開発できます。


スクレイピング

スクレイピングは、WebサイトのHTMLタグを基に情報を取得し、その情報を加工して新しい情報を生成する処理です。具体的には「ニュースサイトを巡回して見出しを抜き出して一覧にする」「商品のデータを集めて価格表を生成する」などが挙げられます。


万能に思えるRailsですが、苦手な分野や領域もあります。「スマホアプリ開発」や「機械学習」の分野にはRailsは適していません。


Ruby on RailsでできたWebサービス


cookpad

cookpadは国内最大級のレシピサイトです。Railsを利用した有名なWebサイトで、多種多様な料理のレシピを見ることができます。ユーザから登録されるレシピ情報やアカウント情報の管理などにRailsのあらゆる機能が活かされています。


GitHub

f:id:ShotaNukumizu_1000:20210703104455p:plain

Githubはソフトウェア開発プロジェクトのためのプラットフォームです。実はこれもRailsを使って構築されているのです。


Ruby on Railsのメリット・デメリット

f:id:ShotaNukumizu_1000:20210703104748p:plain


メリット

Railsを学ぶメリットは以下の通りです。

・開発スピードが速い
・日本語のサービスやドキュメントが多い

特にRailsは日本語の学習サービスやドキュメントが多いのが魅力的です。Qiitaやブログなども日本語のものが大半で、エラーメッセージをそのままググると同じようにエラーになり、解決した人のブログがヒットすることもあります。

周囲に質問できる人がいないという人にとっても学習しやすい言語・Webアプリケーションフレームワークと言えるでしょう。


デメリット

Railsを学ぶデメリットは以下の通りです。

・内容構造を把握しづらい
・アップデートのスパンが早い

Railsはあらゆる機能をあらかじめ用意してくれる一方で、それぞれの機能がどのような構造で動いているのかを把握しにくいとも言いかえることができます。この理由から、初心者のうちからフレームワークに慣れてしまうと、「なぜかはわからないけどプログラムが動く」という状態になってしまい、プログラミングの基本が身につかない可能性が考えられます。

Railsはおよそ1年に1回のスパンでアップデートが行われます。その都度新しい言語が増えますが、同時にバージョンアップによる思いも寄らないエラーが生じることもあります。

また、Qiitaやブログの記事も、Railsアップデートによって情報が古くなっている可能性も十分に考えられます。


まとめ

f:id:ShotaNukumizu_1000:20210614080621p:plain

今日の記事ではRuby on Railsを徹底解説しました。

初心者であっても、RubyRailsでプログラミングを勉強することは可能です。特に、サクサクと開発を行うことができるので「作る楽しみを味わいながらプログラミングを勉強する」人にとっては最適であると言えましょう。

今日の記事はこれで終了です。

【参考サイト】

tech-camp.in