Ruby on Railsとは?何ができるかをわかりやすく解説

Ruby on Railsとは?何ができるかをわかりやすく解説

Ruby on Railsは、Webサービス開発の負担を減らすフレームワークの1つです。Ruby on Railsとは何か、どんなサービスを作ることができるのか。Webサービス企業のCTOを務める星直史さんがわかりやすく解説します。


星 直史さんのプロフィール

https://www.timeticket.jp/hosts/naoshi.hoshi?utm_source=ttl&utm_medium=195&utm_campaign=experiences_6

新卒入社したSIerでC#, Javaを学んだ後にピクスタ株式会社に2012年に入社しました。 写真素材・ストックフォト「PIXTA」の改善改修に従事。その後、開発リーダー、マネージャーを経て、2018年1月より開発部長に就任しました。 現在2020年1月よりスナップマート株式会社 取締役CTOとして働いています。 エンジニアリングのことならお気軽にご相談ください。

Ruby on Railsとは?

——Ruby on Railsとはどんなものなのでしょうか。 Ruby on Railsは、Rubyというプログラミング言語を使ってWebアプリケーションを作るためのフレームワークです。 フレームワークにはWebアプリを作成するために必要な機能や構造があらかじめまとめられており、枠組みに沿ってプログラムを書くことでアプリを動作させることができます。「起承転結」に沿って文章を書くのと同じようなイメージです。 たとえばデータベースに接続したいというとき、Ruby on Railsを使用しないとデータベース接続用のコードを書く必要があります。しかしRuby on Railsを使えば、どのデータベースに接続するかという設定さえすれば、接続用コードを書かなくてもRails側で自動的にデータベースに接続してくれます。

Ruby on Railsの特徴とは?

Ruby on Railsの特徴

——Ruby on Railsにはどんな特徴があるのでしょうか。 Ruby on Railsには、大きく2つの特徴があります。 ・MVCフレームワークであること

・密結合なので少人数でも迅速に開発が行えること MVCとは、モデル(Model)、ビュー(View)、コントローラー(Controller)の頭文字をあわせたものです。モデルはデータベースの情報の読み取り・書き込みをする機能。ビューはブラウザ上でどんな表示をするかを定義づける機能。コントローラーはどんなデータを読み取るか、そのデータをどんなふうに表示させるかをモデルやビューに指示し、実行させる機能を担っています。このMVCの3つが1つのパッケージになっていることが、Ruby on Railsの1つ目の特徴です。 このように、モデル・ビュー・コントローラーが1つになっているシステムを「密結合」と呼びます。密結合であるRuby on Railsは、1人のエンジニアが1つのシステムでモデル、ビュー、コントローラーを扱うことができるため、少人数でも迅速に開発を進めることができます。これが2つ目の特徴です。


Ruby on Railsが得意とすること

——Ruby on Railsではどんなことができるのでしょうか。

 

Ruby on Railsは、Webアプリケーションの開発少人数のエンジニアで迅速に行うことに特化したフレームワークです。小さな規模のシンプルなWebサービスを開発するのに向いています。

 

——Ruby on Railsを使ったWebサービスの事例にはどんなものがありますか?

 

国内のWebサービスでは、料理レシピサービスの『クックパッド』、海外では宿泊施設の貸出・予約サイト『Airbnb』などが挙げられます。

 

私が取締役CTOを務めている写真素材・ストックフォトサービスのSnapmart』、その親会社の『PIXTA』もRuby on Railsで作られています。

 

Ruby on Railsのメリット・デメリット

Ruby on Railsのメリット

——Ruby on Railsを使うメリットはどんなところにあると思いますか? 私が初めてRuby on Railsを使ったときに感じたメリットは、「自分がコードを書かなくてもやりたいことの仕組みを提供してくれる」という点です。 Ruby on Railsはルールにのっとってコードを書いていけば大きく踏み外すことはありません。これを「レールに乗る」という言葉で表現しますが、「Ruby on Rails」の文字どおり、レールに乗れば脱線することなくスピーディーにWebアプリの開発ができるというのがメリットですね。

Ruby on Railsを使うことのデメリット

——では、Ruby on Railsを使うことのデメリットはなんだと思いますか? 1つのシステムにたくさんのデータやビューを盛り込むことで、動きにくくなってしまう点です。そのため、大規模な組織やシステムにはあまり向いていません。 はじめは小規模で始めたWebサービスでも、ユーザーが増えて規模が大きくなることで、ユーザー登録をするユーザーと、それを管理する管理者ユーザーがWebサービスにログインすることになります。 そうなると、はじめは1つだった「ユーザー」の意味あいが、「サービスを利用するユーザー」と「管理者としてのユーザー」の2つにわかれます。利用者側ユーザーがAという動きをする一方で、管理者ユーザーはBという動きをする。こうして長いコードの中に条件分岐が発生し、処理が複雑になっていきます。 また、さまざまな情報が1つのRailsのシステムに集まることで、管理画面の不具合を直したらユーザー登録システムに影響が出てしまうといった不具合の連鎖が起こります。それを直す時間的コストが大きくなってしまうので、Ruby on Railsは大規模な組織やシステムには向きません

Ruby on Railsの学習方法は?

Ruby on Railsは学習環境が充実している

——Ruby on Railsは初心者が学ぶには難しいでしょうか。 解説を読みながら最低限のコードを書くだけで、それなりに動くWebアプリを作ることができるので、初心者にも敷居は低いのではないかと思います。 Ruby on Railsは学習環境が充実しています。Rubyはまつもとゆきひろさんという日本人が開発した言語なだけあって、学習するためのWebサイトや日本語の記事が豊富にありますし、コミュニティも活発です。プログラミングスクールのWeb開発コースでは、Ruby on Railsを取り上げているところもたくさんありますね。 ——学習に役立つおすすめのWebサイトなどはありますか? 『Ruby on Rails チュートリアル』というサイトがあります。Ruby on Railsに入門するための解説がステップバイステップで書かれています。 これまで一切プログラミング言語をさわったことがないという人は、Ruby on Railsを学ぶ前に、プログラミングで何ができるのか、プログラミングの考え方・書き方はどういうものなのかといったところから学ぶと、理解が深まります。


異業種からのエンジニアを目指すならRuby on Railsがおすすめ

——Ruby on Railsはどんな人におすすめですか? 私の周辺には、営業やマーケターなど異業種からエンジニアを目指す人がたくさんいます。そんな人が最初に取り組みやすく、転職にも結びつきやすいのがRuby on Railsだと思っています。 少人数での開発に向いたRuby on Railsは、スタートアップやベンチャーといった小規模な組織で多く採用されている技術です。そうした企業に就職・転職をしたいと考えている人は、Ruby on Railsを習得するとよいのではないでしょうか。


関連記事を見る

→ プログラミング初心者の悩みを解決!経験豊富なウェブエンジニアが疑問に答えます!

→ フリーランスのSEってどんな仕事? メリットとデメリットをわかりやすく解説

→ 【React Native 入門】スマホアプリ開発のプロが教える「React Native」の学び方

星直史さんのプロフィールを見る

Ruby on Railsについて星直史さんに相談する

関連するキーワード


Ruby on Rails とは

関連する投稿


Webエンジニアとは?キャリアパスや必要なスキルを解説

Webエンジニアとは?キャリアパスや必要なスキルを解説

スマホが普及し、いつでも、どこでもインターネットにアクセスできる時代。日々、新しいWebアプリケーションやWebサービスが登場しています。そんなWebにかかわるサービスを構築するWebエンジニアとは、どんな職業なのでしょうか。キャリアパスや仕事内容、必要なスキルについて、Webサービス企業のCTOを務める星直史さんがわかりやすく解説します。


インフラエンジニアとは?仕事内容やキャリアパスをわかりやすく解説

インフラエンジニアとは?仕事内容やキャリアパスをわかりやすく解説

IT関係の仕事として「システムエンジニア」や「プログラマー」はよく耳にしますが、「インフラエンジニア」はあまり耳慣れない言葉かもしれません。ITの基盤を作る縁の下の力持ち、インフラエンジニアとは? 現役のインフラエンジニアで、キャリアデザイナーも務める岡田亜希子さんに、インフラエンジニアの仕事やキャリアパスについて、わかりやすく解説してもらいました。


コーディングとは?初心者が習得すべきスキルや学習法を紹介

コーディングとは?初心者が習得すべきスキルや学習法を紹介

ITに関する職種には「Webデザイナー」や「プログラマー」、「コーダー」などさまざまあります。このうち、「コーダー」とはコーディングをする人を指します。では、コーディングとは何でしょうか。コーディングをするためには、どんなスキルを身につければよいのでしょうか。エンジニアの「ゆう」さんがわかりやすく解説します。


最新の投稿


「カフェのような本格コーヒーを自宅で」バリスタが本場仕込みのコーヒー抽出理論を伝授

「カフェのような本格コーヒーを自宅で」バリスタが本場仕込みのコーヒー抽出理論を伝授

「コーヒーの楽しさを知ってほしい」。そう話すのは、タイムチケットでコーヒーの知識を伝授している「おまめ」さんです。バリスタとして多くの人にコーヒーを提供し、本場メルボルンでもその腕を磨いたというおまめさん。コーヒーコンシェルジュとしてどのような相談に応じているのでしょうか。


プレゼン成功のカギは話し方にあり!伝わる話し方のポイント解説

プレゼン成功のカギは話し方にあり!伝わる話し方のポイント解説

「良いプレゼン」には、わかりやすいプレゼン資料と伝わる話し方で聞き手に届けることが重要です。しかし「一生懸命話したけれど、相手の印象はいまいちだった」「緊張してしまってうまく話せない」という人も少なくないでしょう。今回はプレゼンでの話し方のコツを伝えるとともに、プレゼンをはじめとした人前で発表するときのコツをレクチャーしているプロフェッショナルを紹介します。


「伝わるプレゼン資料」を作るポイントは?プレゼン資料作成のエキスパートから教わろう

「伝わるプレゼン資料」を作るポイントは?プレゼン資料作成のエキスパートから教わろう

プレゼンをするときに欠かせないのは、伝わりやすい話し方と視覚的に理解しやすいスライド資料です。伝えたいことがうまく伝わる資料を作りたいものですが、「テキストばかりの無味乾燥な資料になってしまう」「デザインセンスがなくてパワポが苦手…」そんな悩みを持つ人も多いのではないでしょうか。今回は、伝えたいことが伝わるプレゼン資料の作り方のコツを解説するとともに、資料作成のアドバイスを提供しているエキスパートを紹介します。


「迷わない土台を作る」USPコンサル×四柱推命・行動心理学の「プロファイリング」

「迷わない土台を作る」USPコンサル×四柱推命・行動心理学の「プロファイリング」

タイムチケットで「プロファイリング」を提供しているプロファイラー忍足(おしたり)さんは、強みを引き出すUSPコンサルティングの技術と四柱推命、行動心理学の知識を用いて人の悩みに寄り添っています。医療者のマインドで「人を救う」ことに心を燃やす忍足さん。独自のコンサル手法とはいったいどんなものなのでしょうか。


「人を撮るのが好き」一眼レフで笑顔を引き出す現役ピアニストのカメラマン

「人を撮るのが好き」一眼レフで笑顔を引き出す現役ピアニストのカメラマン

「依頼者が喜んでくれる顔を見たい」。そう話すのは都内で写真撮影サービスを提供しているYukiさんです。一眼レフカメラを使って本格的な写真を撮影するYukiさんの持ち味は「フットワークの軽さ」と「柔軟性」。どんな撮影をしているのでしょうか。