初めまして、だるまです。
Webエンジニアになるため、とか、初心者は勉強しやすいと聞いた、とかで
RubyやRubyonRailsを勉強している人は多いかと思います。
(自分もその1人)
ただ単語の意味は知っているけど、RubyやRubyonRailsの違いがイマイチわからない・・・
と思っている方もいるのではないでしょうか。
そんな方のためにこの記事を書いてみました。
読んでもらえればざっくりとこんなものなんだな、と理解してもらえると思います!
# まずは全体像を把握しよう!
RubyやRubyonRailsを把握するためにもまずは全体像を把握することが大切です。
よくTwitterに例えられるのでざっくりとTwitterでどんな動きをしているのか見てみましょう。
もしPCでTwitterを使用しており、DM(ダイレクトメール)の通知がきてて見ようと思ったとき、
PCではクリックしてDMが表示されて終わり、ですが、実際は上記図のように
①PCがサーバにDMの情報を要求
②サーバが内部でDMのデータを探してPCへ渡す
という処理が行われています。
そう、このサーバが行っている①②の処理を実現するためのものがRuby、RubyonRailsなのです!
# で、結局Ruby、RubyonRailsってなんなの?
ここでようやく本題です。
Webで探すと大体以下の言葉で書かれています。
Ruby・・・プログラミング言語
RubyonRails・・・フレームワーク
これが非常にわかりにくい!
この言葉のまま初心者なりに解説すると、
上記の図で説明したサーバの処理は、Rubyというプログラム言語で動いている。
ただし、Rubyで1からTwitterのようなアプリケーションを作成するのは超大変。
なので、よく使う機能が既に用意されているRubyonRailsを使用する。
という感じになります。
これでもわかりにくいですよね。
なので突然ですがラーメンで例えてみます。
ラーメンを作ろうと思ったとき、
麺、スープやら全て1から作ろうとする→Rubyで1からアプリを作ろうとする
インスタントラーメン買ってきて作ろうとする→RubyonRailsを使ってアプリを作ろうする
と言い換えることができます。
どちらとも最終的にラーメンができあがりますが、
麺やスープを自分で最初から作ろうとすると超大変ですよね。
ただインスタントを買ってきてある程度作られている状態(フレームワークがある状態)から作ると
簡単に素早くラーメンが作れます。
RubyはWebアプリを作るための大元の言語。
ただRubyで1からアプリを作るのは大変なので、
よく使う機能がまとめられたRubyonRails(フレームワーク)を利用してWebアプリを開発する。
なんとなく理解してもらえたでしょうか?
1人でもなんとなく理解してもらえたら嬉しいです!