こんにちは、皆さん!
世の中にはいろんなWeb制作のフレームワークがあります。例えば、Ruby on Rails、Django、Node.js、その他諸々あります。
初めてWeb系のフレームワークを使うのなら、僕はすごくRuby on Railsをお勧めしています。その理由とRuby on Railsから学ぶべきことを今回はまとめていきたいと思います!!


トピック


なぜRuby on Railsなのか?

まずはそもそもなぜ僕がRuby on Railsを勧めるのかについて紹介しようと思います。その理由は大きく分けて2つになります。

1.日本語のドキュメントが多い
Rubyは日本人のまつもとゆきひろさん(またはMatz)が作りました。そして、そのフレームワークであるRuby on Railsは海外の人が作ったとはいえ、国産のプログラミング言語に日本人の注目は依然として集まります。それゆえか、日本語のドキュメントが多く、英語が苦手な人でも手が出しやすいです。

2.デフォルトで必要なものをすべて生成してくれる
これが個人的に一番大きいと思っている点で、rails newで必要なファイルのほとんどを整理された状態で生成してくれます。今話題のNode.jsはたった一つのファイルから始まるため、初心者からすると、いったい何が足りなくて、何が余分なのかが分かりにくいのです。
下の写真がRuby on Railsのデフォルトのフォルダー内の構造↓↓

Ruby on Railsフォルダー構造

次に下の写真がNode.jsのデフォルトのフォルダー内の構造↓↓


Node.jsのフォルダー構造

このように比べればわかると思いますが、Ruby on Railsは必要なものをとにかく生成してくれるのです。
Node.jsの方ですと、必要なものを自分で追加していく形になるため、初心者には向いてない気がします。

さらに、Ruby on Railsには学ぶべき基本を網羅した無料のオンライン本、Rails Tutorialが存在します。詳細はこちらのURLまで↓↓


ここまでが他のフレームワークではなく、Ruby on Railsをおススメする理由でした。では、ここからはそのRuby on Railsでどのようなコンセプトを学ぶべきなのかについて言及していきたいと思います。


ルーティング

まずはルーティングです。初めて聞く人のために少しだけ説明すると、これはある特定のURLが来た際にどの処理をするのかを決める仲介役みたいなものです。
例えば、”http://example.com/helloworld”と来たときはHelloworldActionを発動し、”http://example.com/goodbye”と来たときはGoodbyeActionを発動するなどのような感じです。

一般的なREST式のデザインで行くと、”/users”はすべてのユーザー、”/users/2″はある特定のユーザーという風にデザインガイドが決められています。それを下記のように一つずつ書くこともできます。(左がURL、右がアクション名)

Railsルーティング一つずつ

だが、一方でRailsでは次のように1行で完結させることができます。

Railsルーティング1行で

このようにRuby on Railsだけのような便利な機能は初心者の開発を早くしてくれるため、大きな助けになるでしょう!


MVC

お次はMVCです。これはM(モデル)、V(ビュー)、C(コントローラー)を略したもので、ウェブアプリの中に出てくるもの(例えば、ユーザーや投稿)などを構成する基盤となります。

モデルはそのものが持つ属性を定義します。例えば、ユーザーなら名前、年齢、性別などがあったりします。
ビューは得られたデータをウェブアプリを見ている人にディスプレイする機能を果たします。
コントローラーはロジックが入る部分で、おそらく一番プログラミングらしいことをしていると思います。例えば、ユーザーが入力した情報の処理、次のウェブページを決めるなどのようにif文が必要になってくるようなものです。

MVCの図

Ruby on Railsではこのコンセプトを勉強するのと同時にそれらがどのようにフォルダーに保存されているのかも学習しましょう!
Ruby on Railsではそれぞれを別々のフォルダーに入れることですごく整理整頓されていて、後からデバッグするときとかにもすごく見やすいのが特徴です。このフォルダー構造は後々他のフレームワークを使うときにも生きてくるので、しっかり押さえておきましょう!


データベース

データベースはバックエンド開発の要点の一つです。データベースにユーザーから送られてきたデータなどが保存されることで、次回ユーザーが同じウェブサイトを訪れた際にユーザーは依然と同じ内容を見ることができるのです。
Ruby on Railsにおけるデータベースは簡単なコマンドをターミナルでたたくことでSQLを全く知らなくてもデータベースの操作ができてしまいます。さらに、Ruby on Railsでは開発者が必要になってくるファイルも自動的に生成されます。

  • 一つ目はdb/seeds.rbファイルです。このファイルではデータベースの方に生成したいデータを入れることで、あとはrails db:seedと打つことで、欲しいデータを生成することができます。これはデータベースをある特定の状態に持っていきたいときに重宝します。これを使わないと、ターミナルの方から一つずつ実行することになり、最悪タイプミスするとやり直しになったりして、時間が無駄になるような気がします。僕はNode.jsを始めた際にこれがないことに気づき、ググってそれを実行しましたが、Ruby on Railsをやっていなかったら、知らなかったので、すごく感謝しています。
  • 二つ目はdb/schema.rbファイルです。このファイルでは今のデータベースにどのような種類のデータがあるのかを確認できます。データベースの大まかな現時点での構造を知ることができるため、何をどう操作すれば次のステップに行けるかがすごくわかりやすいです。データベースが乱れた時にも役に立ちます。

とここまでがデータベースになります。バックエンドの仕事はデータベースだけではないので、データベースにものすごく詳しくないといけないわけではないが、少し知っていると、エラーが出た時などに早く対処できるかもしれません。


Dependencies(依存性)の管理方法

最後に、Dependeciesについて紹介していこうと思います。Ruby on RailsはRubyというプログラミング言語でウェブアプリを作りやすいように作られたフレームワークです。なので、ピュアなRubyコードでウェブサプリを制作するのに比べて、だいぶ楽になっています。しかし、そんなRuby on Railsでも難しいことをしようとすると、ものすごいコードを書いたりする必要があったりするかもしれません。そんな開発者たちを助けてくれるのがライブラリです。ライブラリのコードを使うときはまず、そのコードを自分のアプリケーションにダウンロードしてきます。このダウンロードしてきたライブラリをあなたのアプリケーションのDependencies(依存性)といいます。なぜなら、それらをベースにして、あなたのアプリケーションは成り立っているのですから。

Ruby on RailsでこのDependenciesを管理しているのがGemfileです。ここに使いたいライブラリを指定して、あとはターミナルからbundle installすることでそのライブラリのコードをダウンロードしてきてくれます。すごく便利ですよね?
このような流れは他のフレームワークでも普通に使われますので、他のフレームワークを始める際は、Gemfileが他のフレームワークでは何に対応しているのか、確認しましょう!


まとめ

今回はRuby on Railsを最初に学習するべき理由をまとめてまいりました。
Node.js、Djangoなどの他のフレームワークもやったからすごくわかるのだが、やはり、Ruby on Railsはすごく使いやすいです。いろいろな会社がそのスピードの遅さや、スケールの困難さでRuby on Railsの使用率は海外では少し落ちてきています。でも、ここを最初の門とするのはのちのバックエンド開発を大きく助けてくれる素晴らしい一歩だと思いますので、まだどのフレームワークから勉強しようか迷っている方はぜひ試してみてください!

みなさんの役に立つことを願います!
では、また次回まで✌
記事更新はツイッターで告知するので、ツイッターの方でもフォローお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です