こんにちは、エンジニアにょけん(@nyoken_box)です。
Rubyを学んでいると、Ruby on Railsって言葉をちらほら耳にしませんか?
あるいは、「プログラミング初心者におすすめの言語」みたいのを探しているときに、「RubyとRuby on Railsがおすすめだよ!」なんて話を聞いた人もいるかもしれません。
と思いませんでしたか?
そんなあなたのために、本記事では、Ruby on Railsの基本事項をマルッとまとめました。
Ruby on Railsとはフレームワークの1つ
Ruby on Railsは、Ruby用のフレームワークのうちの1つです。
「いやフレームワークってなんやねーん」って話ですよね。
説明しましょう。
フレームワークとは「システム開発を効率化する機能をまとめたモノ」です。
欲しい機能があらかじめまとまっているので、フレームワークを用いると少ないコードで意図する機能やデザインが実現できるんですよ。
で、Ruby on RailsはRuby用のフレームワークなので、「Ruby on Railsというフレームワークを用いることで、Rubyの開発がラクになる」わけです。
超わかりやすくいうと、カレーを作る場面を想像してください。
あらかじめ用意されたカレールーに、売ってる野菜やお肉を混ぜる。
これが、Ruby on Railsというフレームワークを用いた場合です。
一方、Rubyだけでプログラムを書くっていうのは、スパイスの調合や野菜の栽培、牛肉のために牛の飼育までもやるようなイメージです。
めちゃくちゃ時間がかかるのがわかりますよね?
1から全部作るのではなく、ラクするために用意された枠組みを用いましょうよって話です。
また、Rubyとの違いでいうと、Rubyが「プログラミング言語そのもの」であるのに対し、Ruby on Railsは「Rubyの開発を手助けする便利道具」ということになりますね。
Ruby on Railsでできることは何?
先述した通り、Ruby on Rails自体は、フレームワークと呼ばれる便利機能の一種でした。
では、これを使って何ができるのでしょう。
シンプルに答えてしまうと、なんでもできます。
なんでもできるから、みんなこぞって使うんですよ。
例えば、名前とEmailのデータを登録して、それを一覧表示する。
しかも、そのデータを編集・削除もできる。
このプログラムを、「rails new」というたった8文字で作れちゃうんです。
これ、ちょっとありえないですよ。
他にも、ログイン・ログアウト機能やファイルのアップロード機能なども、数行で導入できちゃいます。
今はどんなWebサービスも個人用マイページがあるのが普通なので、ログイン機能は必須ですよね?
ただ、これを1からプログラム書くとすると相当な時間を要します。
それがたった数行。
便利すぎて頭おかしくなる。
また、開発者コミュニティが盛んなので、「こんな機能を実装したい…」と思ったときはググると大体誰かがコードを載せています。
こういった点も含めて、「なんでもできる」んですよ。
ちなみに、Ruby on Railsを使っている有名どころの企業は以下ですかね。
- クックパッド
- Wantedly
- カカクコム(価格.com,食べログ)
なんでもできるっていうのが肌で感じられるでしょう?
Ruby on Railsを使うメリットとデメリット
Ruby on Railsのメリットとデメリットをまとめてみました。
メリット
①開発効率が爆上げ
先ほどもお伝えしましたが、Ruby on Railsを用いると圧倒的に早く開発できます。
1から複雑なプログラムを書く必要がないので。
②運用管理がラク
管理面においてもメリットがあります。
プログラムって、同じ動きでも作り手によってコードの書き方が変わるんですね?
これが原因で「作った人しか読めないプログラム」が生まれ、運用管理が大変になることがよくあります。
しかし、フレームワークを使うとコードの書き方が統一されるため、誰が読んでもわかりやすいんですね。
改修とかする場合も、バグが発生するリスクを減らせます。
デメリット
①最初がしんどい
Ruby on Railsは、実はRubyとはまた別なプログラミングの書き方をします。
つまり、Rubyとは別に、Ruby on Railsを扱うためのプログラミング記法を覚える必要があるんですよ。
もちろんその分覚えることが増えるので、最初は結構しんどいです。
②プログラミングの根幹となる技術が身につきにくい
開発がラクになることの裏返しなんですが、何が起きているのか理解しなくてもプログラムが書けてしまうんですよ。
先ほど、ログイン・ログアウト機能が数行のコードで実装できると述べました。
ただ、「なぜログインできるようになったのかはよくわかんない」みたいな場合が多いです。
便利すぎて、意識しないと技術面がおろそかになりがちなんですね〜。
で、そうなると「Ruby on Rails以外のプログラムが書けない」みたいな事態に陥ります。
まぁRuby on Rails自体が強力なので、それでも問題ないと思いますがね。
Ruby on Railsとは?まとめ
Ruby on Railsについて、あらためてまとめます。
◆Ruby on Railsとは
→Ruby用フレームワークの1つ
◆Ruby on Railsはなんでもできる!
→導入企業は以下
- クックパッド
- Wantedly
- カカクコム(価格.com,食べログ)
◆メリット
- 開発効率が爆上げ
- 運用管理がラク
◆デメリット
- 最初がしんどい
- プログラミングの根幹となる技術が身につきにくい
Ruby on Railsは非常に便利なフレームワークなので、ぜひ学んでみてくださいね。
Twitterフォローしてね!!!
有益な無益をつぶやくよ↓↓↓
にょけん