第1回.なぜRuby on Railsなのか???

◆Ruby on Railsって?


みなさんRuby on Rails(ルビー オン レイルス)をお使いですか???
名前は知っている、聞いたことはあるが「どういうモノ?」という方も多くいらっしゃるかと思います。
WebサイトやWebアプリを構築するのであればRuby on Railsは大変おすすめです!
では今回は基本的な部分をお話していきたいと思います。

rails_lo



Ruby on Railsの「Ruby」はプログラミング言語「Ruby」のことです。
JavaやPHPなどのプログラミング言語のひとつとなります。
「Ruby on Rails」はプログラミング言語「Ruby」で構築されたWebアプリケーションフレームワークの名称となります。なおRuby on Railsはプログラミング言語ではありません。

ここでキーワードの確認をしましょう!
・Ruby
( JavaやPHPなどのプログラミング言語のひとつ)
・Ruby on Rails
( プログラミング言語「Ruby」で構築されたWebアプリケーションフレームワーク)
・Webアプリケーション
(動的なWebサイトで使用されるプログラミング言語。
例えば、ブログを書く、投稿サイトに投稿する、ショッピングサイトで買い物をするなどです。)
・フレームワーク
(Webアプリケーションを作成する際の「骨組み」です。
「骨組み」があることで、少ないコードでWebアプリケーションが構築できます。)


◆Ruby on Rails でどんなWebサイトが作れるの?


ここで事例を紹介します!
・cookpad(クックパッド)

cookpad_img



・cookpad(クックパッド)開発者ブログ

cookpad_img02



・クラウド会計ソフト freee

Ruby on Railsを使う事で、投稿サイト、ブログサイトの構築、そして経理などの売上管理をする事ができます!


◆Ruby on Railsの特徴は?


【その一】MVC構造
開発を行うには、「MVC構造」を理解する必要があります。
「MVC構造」とは?
・Model(モデル)
アプリケーションが扱うデータ
・ View(ビュー)
ユーザーインターフェースへの出力
・Controller(コントローラー)
ユーザーからの要求に対してModelとViewとの連携を行う

構造を3つに分けることで、効率の良い開発を行う事ができるのです。

【その二】二つの言葉
「同じことを繰り返さない」DRY:Don't Repeat Yourself
「設定より規約」CoC:Convention over Con?guration
Ruby on Railsといえばこの二つの言葉です。

●「同じことを繰り返さない」DRY:Don't Repeat Yourself
同じようなコードがあちこちにあると、メンテナンスや修正が行いづらくなります。
同じようなコードを一か所にすることでプログラムの単純化、修正漏を防げるのです。

●「設定より規約」CoC:Convention over Con?guration
規約に従ってアプリケーションを開発することで、設定を行うファイルや項目がシンプルになります。 決まった規約に従うことで、自分で設定する必要がなくなり、効率よくアプリケーションを開発できるのです。

【その三】コードを自動育成!Scaffold (スキャフォールド)
開発を行うには、モデル、コントローラー、ビューを作ります、そしてルーティングを構築していく必要がありますが、Scaffoldはこれらの作業を自動で行い、簡単にアプリケーションのフレームを作ってくれます。

【その四】初心者に優しいGem!(ジェム)
長く複雑なプログラムを構築しなければならない時に、Gemを使用することで簡単にログイン機能やファイルアップロード機能などを構築できます。
今回は3つのGemをご紹介いたします!

Devise(デバイス)
ログイン機能を構築します。会員登録からログイン認証が簡単に行えます。

devise_lo



CarrierWave(キャリアウェーブ)
画像などのファイルアップロード機能を構築します。


Gretel(グレテル)
今、見ているページが「サイト内のどのページにいるか可視化」できるようにする機能を構築します。通称パンくずリストを構築します。

多くのGemがあり開発を効率よく進める事ができるのが、Ruby on Railsです。


Ruby on Railsでできることは数多くあります!そして扱いやすさも抜群です。
Ruby、htmlなど、Webサイトを作る上でのプログラム知識は必要となってきますが、大手サイトなども採用し開発需要も多くある状況です!
コード量も格段に少ないので、サイト構築のスピードも必然的にあがります。
またコード量が少ないので、メンテナンスがしやすいのも特徴です。
今後のWebサイト構築におススメの技術です!

次回は実践編です、Ruby on Railsを使って実際にWebサイトを作っていきましょう!