Rails学習①

Rubyの基本的な学習を終え、次はいよいよRailsへ。

初心者の私の疑問は

 

そもそもRailsって何?

Railsを使って何ができるの?

Rails知っていれば何かお得なことがあるの?

 

オンラインテキストによると

「RailsはRubyでウェブアプリを作成するためのGem(ライブラリ)です。Gemとはコードを書く際の便利ツールで、書かなくてはいけないコードの量を大幅に削減することができます」

読んでも正直イマイチよく分かりません。

 

まず、ウェブアプリとは?

「ウェブアプリとはウェブサイトにDBとの連携機能を追加したもの、と捉えてください。そして、Railsはその連携機能を少ない手間で作ることができるGemということになります。」

 

聞き馴れている、ウェブサイトとは?

「ウェブサイトはいわゆるホームページです。例えばYahooニュースのように、誰が見ても同じよう記事が表示されます」

 

さてもう一度、ウェブアプリの仕組みは?

「Facebookのように、ログインするユーザーが違えば表示される内容も変わります。それはデータベース(DB)と連携する機能があるからできることです。ユーザーの投稿等をDBに保存して、必要に応じて的確なデータを表示する仕組みがあるから実現できています」

Facebookを思い浮かべると、ウェブアプリのことが何となくイメージできました。

 

Railsの基本レッスンを通じて最終的に目指すことは「PicTweet」というウェブアプリを作ること。PicTweetが有する機能は次の通り。イメージはTwitterですね。

投稿機能

ユーザーは感想や写真(実際はリンク先URL)を投稿できる。

コメント機能

投稿に対してコメントできる。

ユーザー登録機能

ユーザーはサインアップ/サインインできる。

マイページ機能

ログインをしている状態の時、マイページを表示できる。マイページでは、そのユーザーが今までに投稿した記事の一覧を確認できる。

 

PicTweetにアクセスすると、最初の画面には今まで投稿された内容の一覧が表示されます。これは、「ツイートの一覧が見たい」というユーザーからの要求に対してRailsアプリが応答しているため。

さてこのとき、Railsアプリの内部では何がおきているのか?

実際に手を動かしてコードを書きながら体感していくのがRailsの基本レッスンの狙い。

 

最後に、導入にはちょうど良いテックキャンプ・マコなり社長のYoutube動画をご紹介します。わかりやすく網羅的にWebサービス・アプリについて解説しています。動画最後のマコなり社長のメッセージ「テクノロジーから逃げない。テクノロジーが『ざっくり何をやってくれているのか』を理解する癖をつけましょう!世界の変化から置き去りにされないように」。勉強、そしてまた勉強です。