4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SinatraとRailsの特徴の違いについて

Last updated at Posted at 2020-04-09

今日は"簡単なアプリ"を作りたいと思います!
って意気込んだものの、根本的な疑問がでできてしまいました:sweat:

そもそも、Rubyを使ってウェブアプリケーションを作成するけど・・・
→Rubyだけでは膨大な量のコードの記述が必要なため、時間も手間もかかって大変
そんな時に併用するのといいのが「ライブラリ」ですよね!

:mega:ライブラリってなにかな
プログラミング言語の機能を追加できるツールのこと
→言語を増やせば、よりアプリ作成の手間を省くことができるんだってさ!
ここでよく目にする「Gem」が登場するわけだけど・・・

:mega:Gemってなんだっけ?
Ruby専用のライブラリ、つまりRubyに言語機能を追加できるツールのこと
→Gemによって機能が異なるから、欲しい機能を備え持つGemをインストールして作業の効率を上げるよ!
例) Ruby on Rails , bundler , Devise , Sinatra …

ここまでは復習できたけど、私「Sinatra」って初めて聞いたかも:eyes::sweat_drops:
よし、今日はアプリを作る前にこのSinatraについて調べてみようかな!

ということで、ここではSinatraについてまとめる上で、Railsとの違いを紐解いていきます。

話をちょっと戻して、
さっき“欲しい機能を備え持つGemをインストールする”って言ってたけど、
つまり「Sinatra」と「Rails」には異なる機能(性格)が備わっているわけで、それぞれの違いってなんだろう?

よし、Sinatraさんに直接聞いてみよう.

———————————————————————————————————————————

[ Sinatraさんの自己紹介 ]

こんにちは、僕の名前はSinatra(シナトラ)です:v:
いつもRailsくんの陰に隠れて存在感ちょい薄いかもしれないけど、割と活躍できるんですよ!

そもそもRailsくんって、機能は豊富かもしれないけどその分ルールも多くない?
なんかちょっとでもルールに反することするとすぐ指摘(エラー)してくるし、僕ちょっと仲良くなれないんだよね・・・
だからRailsくんのことは皮肉も込めて「フルスタックフレームワーク」なんて呼び方もしてるよ!

じゃあ僕はっていうとね、すっごい単純な性格だよ:grin:
ルールだって少ないし、単純な記述だけで簡単に使用できるってことが売りだからね。
だから僕は「軽量フレームワーク」なんて呼び方されてるよ。

でももちろん、こんな僕にだって欠点はあるんだよね・・・:zap:
ぶっちゃけ記述は簡単だけどその分コード量は多くなっちゃうし、Railsくんほどできること多くないから複雑なアプリ開発の時はNG出してるんだ。
それに悔しいけどまだまだ認知度も低くて、Railsくんたちみたいに使い方に関するマニュアルが少ないんだ、これ最近の僕の悩み。
だからみんなのこと行き詰まらせちゃうこともあるの、ごめんね・・・

だけど最後に自慢させて欲しいんだ:sparkles::sparkles:
僕のこと、あの「Apple」とか「BBC」、「Heroku」みたいな大手企業さんもアプリ開発の時に呼んでくれたんだよ!これってすごくない!?
それにこんな僕だからこそ、プログラミング初心者さんからの人気はあるから、僕も期待に応えられるよう頑張ってるんだ。
つまりみんなは僕のことを呼んでくれれば、ウェブアプリケーションの仕組みについて1から丁寧に学ぶことができるよ!

ぜひ、僕のこと必要な時には呼んでね!
使い方とか、もっと詳しいことはその時説明するから:pencil2:
———————————————————————————————————————————

なるほど〜Sinatraさんにもこんなに魅力があるのか!
まとめるとこんな感じかな。

:star:Rails
・機能が豊富
・コード量も少ない
・複雑なアプリにも対応
・その分ルールが多く難しい

:star:Sinatra
・機能は少ない
・コード量は多い
・シンプルなアプリに対応
・その分簡単で分かりやすいから初心者向け

私は今回どっちを使うべきかな・・・
”簡単なアプリ”だから、Sinatraを学習して使ってみようかな:writing_hand:

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?