今さら聞けない!Ruby on Railsとは【初心者向け】

Webサービスを作りたいと思った人はRuby on Railsという言葉を一度は聞いたことがあるんじゃないでしょうか。最近ではいろんなWeb系の企業が利用しているRuby on Railsですが、「Ruby on Rails」とは一体何者なのか解説していきたいと思います。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

Webサービスを作りたいと思った人はRuby on Railsという言葉を一度は聞いたことがあるんじゃないでしょうか。

最近ではいろんなWeb系の企業が利用しているRuby on Railsですが、「Ruby on Rails」とは一体何なのか解説していきたいと思います。

他の言語を学ぶ際にも参考になる内容なので、プログラミングを始めたばかりの人はぜひ知っておきましょう。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

20163020-2

 

今回はRuby on Railsについて紹介しよう。

 

20160620

 

田島メンター!!Ruby on Railsというのは何をするものなんですか~?

 

20163020-2

 

Ruby on Railsは、Webアプリケーションを作成するためのフレームワークだよ。アプリを作成するのに必要な機能や構造がひとつにまとまったもので、これは誰でも利用することができるんだ。

 

20160620

 

なるほど、アプリケーションを作る骨組みということでしょうか?是非やってみたいです!

 

 

目次

 

Ruby on Railsとは

Ruby on RailsとはWebアプリケーションフレームワークです。

そもそもWebアプリケーションフレームワークとは、動的なウェブサイト、Webアプリケーション、Webサービスの開発をサポートするために設計されたアプリケーションフレームワークのことを言います。

フレームワークは日本語では「枠組み」というふうに言われますが、まさにその通りで、このRailsもプログラミング言語のRubyで使えるフレームワークなのです。

Railsの基本理念は「Don’t Repeat Yourself(DRY)」、「Convention over Configuration(CoC)」でそれぞれ「同じことは繰り返さない」、「設定より規約」という意味になります。

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

フレームワークとは

そもそも「フレームワーク」とは何でしょう。

プログラミングの学習を進めていると、一度は目にしたことがあるのではないでしょうか。

 

フレームワークを使えば、開発者は必要最低限のプログラムを書くだけになり、開発者の負担を大きく減らしてくれます。

RubyでWebアプリを作成するときに毎回書かなければいけないような処理が存在します。Railsは、そのような凡庸的な処理を最初から備えていて、利用者はそれらを意識することなく開発に集中できます。

 

「フレームワーク」は、よく「ライブラリ」という言葉と混同されがちですが、ライブラリというのは特定の機能を提供し、プログラムの中でそれらを呼び出すことで動作するものです。

それに対して、フレームワークはアプリケーション全体の枠を提供し、開発者の作ったプログラムを読み込んで動作するので、覚えておきましょう。

 

MVCモデルとは

Ruby on Railsは設計にMVCモデルを採用しています。

MVCとはModel(モデル)、View(ビュー)、Controller(コントローラー)の略称です。

メインの処理と、見た目を生成する処理を一箇所に書いてしまうと、コードが読みづらくなり、メンテナンス性が下がってしまいます。

そこで、メインの処理と、見た目を生成する処理と、それらを接続する処理を分けて書くというのがMVCの発想です。

分割することによってコードの再利用性を高めることもできます。

 

Ruby on Railsでできること

これ単体では何もできません。

Rubyやhtmlなど、Webサービスを作る上での最低限のプログラムの知識を要します。

HTML,CSS,Rubyがわかっているとスムーズに始めることができますが、Railsを使ってWebアプリケーションを作りながら同時進行で勉強するのも一つの手だと思います。

最初でも書いたように、Railsは枠組みです。

面倒なフォルダ、ファイルの作成をコマンド一つですべて行うことができ、そのフォルダやファイルの内容を変更することで、作っていきます。

 

20163020-2

 

Railsの枠組みの中でHTML・CSS・Rubyなど各言語を使用してアプリケーションを作成していくんだ。

 

20160620

 

それぞれの知識も必要ってことですね。

 

20163020-2

 

そうだね。あと、各ファイルがどのように配置され、どういう役割を果たしているかというのも少しずつ覚えていくといいよ。アプリケーションの作成とサーバー起動の方法も確認しておこう。

 

Ruby on Railsの書き方

アプリケーションの作成の仕方、サーバーの立ち上げ方について説明していきます。

これらはすべてターミナル上で行います。

railsコマンドを使って「app」という名前のアプリケーションを作成しましょう。

rails new app

これをターミナルで打ち込むだけで必要なフォルダ、ファイルが作成されます。

作成されたらそのフォルダに移動しましょう。

rails server

これを打ち込むと先ほど作ったアプリケーションにアクセスするためのサーバーが起動します。

Safariなどから表示されているサイトにアクセスすれば見ることができます。

 

Ruby on Railsの学習方法

最後にRuby on Railsの学習サイトと書籍をご紹介します。

学習サイト

Ruby on Railsチュートリアル

こちらのサイトはMichael Hartl(マイケル・ハートル)著、YassLab社が運営するチュートリアルです。

実際に公開できるWebアプリを作りながら学べるので、手を動かしながら学びたい人にぴったりです。

電子書籍版や実演動画を別途購入することも可能です。

Ruby on Railsチュートリアル

 

Ruby on Railsガイド

こちらのサイトは上記のチュートリアルの副読本として読むことをオススメします。

チュートリアルで分からなかったことなどを重点的に読むと良いでしょう。

Ruby on Railsガイド

 

Progate

Progateはブラウザ上で擬似プログラミングできる学習サイトです。

トピックごとにスライドが何枚か用意されています。スライドを読み終わると、そのスライドに沿った課題が出され、プログラミング初心者におすすめです。

ある程度プログラミング経験のある方にはまどろっこしく感じるかもしれません。

Progate

 

書籍

Ruby on Rails環境構築ガイド

この本は環境構築を中心に書かれています。

上記のチュートリアル等では環境構築についてあまり言及されていないので、補足的にこの本で学ぶと良いでしょう。

 

Ruby on Rails5アプリケーションプログラミング

こちらの本では、良質なサンプルと共にとても大きな範囲の解説がされています。

上記のチュートリアルとも内容が被りますが、少し違った視点で学べます。

 

Ruby on Rails5 超入門

こちらの本では比較的やさしめに書かれています。

かたいデザインや文章が苦手な方にはオススメです。

 

今回の記事ではRuby on Railsの大枠の解説をしてきました。

初心者にも使いやすいフレームワークなので、興味がある人はぜひ使ってみてください。

 

20163020-2

 

“rails server”は”rails s”でも同じことができるよ。頻繁に使うコマンドなので覚えておこう。

 

20160620

 

基本は”cd”で該当のフォルダに移動して”rails server”あるいは”rails s”ですね。

 

20163020-2

 

大事なのは、終了するときは必ずCtrl+cを行うこと。これをせずにターミナルやコマンドプロンプトを閉じてしまうとプロセスIDを残したままの終了となり、次に開始するときにエラーが起きてしまうので注意だよ。

 

20160620

 

分かりました、気をつけます!

 

 

[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。