「Ruby on rails」とは何なのか?
「Ruby on Rails」とは、「Ruby」というプログラミング言語で書かれた、
オープンソース系のWebアプリケーションフレームワークの一つ。
・オープンソースとは?
これを作っているソースコードを開示し、商用、非商用の目的を問わず利用したり、修正や配布、広めることを許し、それを利用する個人や団体の努力や利益をさえぎることがないソフトウェア開発の手法。
・フレームワークとは?
アプリ開発の工程では1から全て作ろうとすると、ものすごい数のコード書かないといけないので時間がかかる。また"共通した作業"が出てくるので、それを軽減するために最初に骨組みを作ってしまって、開発をより効率化しよう!というもの。
「Ruby」と「Ruby on rails」の違いとは?
今思えば、全く違うのですが「最初に誤解しやすい」というか、僕も「違いがよくわらない」時期がめっちゃ最初にありましたw
Rubyとはコンピューターに何かしらの処理を行う命令や指示を出すために記述するプログラミング言語の一つです。他にはいろんな種類の言語があります。(C言語、Java、 PHP、Python ・・・etc)
Ruby on Railsは、Rubyで作成されているWebアプリケーションフレームワークのことです。Ruby on Railsはプログラミング言語ではありません。便利ツールのようなものです。
特徴
フレームワークにも様々な種類があります。その中でもRuby on railsは「どんな特徴を持っているのか」を解説していきます。
⑴【MVCアーキテクチャ】(MVCモデル)
Ruby on Railsでは、MVCアーキテクチャ(MVCモデル)という設計法に基づいて開発を行います。
MVCとは、Model(データを扱う)の頭文字Mと、View(ページの見た目)の頭文字V、Controller(ModelとViewとの連携を行う)の頭文字Cを取ってMVCと呼ばれています。
Model(モデル)
データを扱う部分になります。データベースに対してデータの登録・取得・更新・削除などを行うことができます。
View(ビュー)
ユーザーの見ることができる部分の作り込みを行います。つまり、僕たちが普段見ているブラウザに描画されているHTMLを作り込む部分になります。
Controller(コントローラー)
ユーザーからの要求に対して、Modelとの連携やどの画面を表示するのかといった処理行う部分になります。
⑵DRY(Don’t Repeat Yourself)
Ruby on Railsには、
「Don’t Repeat Yourself(繰り返しを避けよ)」
という原則があります。
DRY原則とは、同じソースコードを繰り返し記述するのは避けようという意味です。
アプリケーションの仕様変更などがあった時に、同じことをソースコードやファイルの中で何度も記述すると、一度仕様を変えようとすると、いろんなところを変更したり、一部を変更し忘れてしまったり、不便なことが沢山でてきます。
DRY原則を上手く活用することによって、開発だけでなく、その後の運用や使用の変更などにも大きなメリットを与えてくれます!
Ruby on Railsでは、DRY原則を意識して開発することで、効率の良いアプリケーションを作成しなければいけません。
これが出来そうで、なかなか難しいw
どうすればもっとDRY原則を意識した記述ができるのか?
コツと言いますか・・・
もっと上手い人のコードを見て学ぶ必要がありそうです・・・。
⑶ CoC (Convention over Configuration)
「Convention over Configuration(設定より規約)」
Ruby on Railsであらかじめ用意された規約に従ってアプリケーションを開発することで、ソースコードの記述量を少なくすることができ、見やすいソースコードになります。
決まった規約に従うことで、自分で設定する必要がなくなり、効率よくアプリケーションを開発できます。
まとめ
Ruby on railsとは、今まで膨大な労力と時間を使わなければできなかったアプリ開発を、より効率的に開発が進められるように考えられた、Webアプリケーションフレームワークです。
DRY原則や、CoCを意識しながら開発を進めていく事によって、効率的に開発ができるようになります。
開発を進める上で、記述量も少なく、日本語で解説かれた書籍やサイトも多いので、初心者でもわかりやすく、覚えやすい。
「何を学ぼうか?」と、迷っている方でしたら、最初に「Ruby」そして「Ruby on rails」を学んでみてはいかがでしょうか。
最後に
============================
Ruby、Railsを勉強し始めたばかりの者です。
もし、「この表現は誤っている。」、「少し理解の仕方がおかしい。」などの知識・技術面の誤りなどがあればご教示していただけると幸いです。
また、「こういう風に書くともっと読みやすい。」、「こうまとめると理解しやすい。」など書き方・まとめ方などのフィードバックも教えていただけると幸いです。
============================
この記事が気に入ったらサポートをしてみませんか?