Programming log - Shindo200

イベント参加記録とプログラミング系の雑記

よちよち.rb で Sinatra の紹介 LT をしました

よちよち.rb 第5回で Sinatra の紹介 LT をしました。
不慣れな LT を聴いていただき、ありがとうございました。LT のスライドは少し加筆して Slideshare にアップロードしてあります。

よちよち.rb の参加者は Ruby や Web アプリケ―ション開発に慣れていない方が多く、かつ、Sinatra を使ったことがない方も多いように見えました。最初に知っておかないといけないことが少ないから挫折し難く、後々 Rails を使うときでも役に立つことが学べる Sinatra に興味を持って欲しかったので、Sinatra の紹介 LT をしました。

LTの始めで「今まで Sinatra を使ったことがあるか」アンケートを取ったのですが、だいたい半分くらいの方が「使ったことがある」と答えていました。SinatraRails に並ぶ有名な Web アプリケーションフレームワークですし、使ったことがある人がほとんどいたらつまらない内容のLTになると思ったのですが…ほっとしました。よちよち.rb で Sinatra を使う予定はありませんが、他の場面で Sinatra を使う機会は十分にあると思いますので、ぜひ Sinatra を使ってみてください。

「初心者に Sinatra を勧める理由」の補足

「最初に知っておかないといけないことが少ないから挫折し難いこと」「Rails を使うときでも役に立つ知識が学べること」が初心者に Sinatra を勧める理由です。Sinatra を使うのに Ruby と Rack と HTTP の知識がある程度必要になりますが、それらを学びながら Sinatra を使うこともできます。LT では触れなかったのですが、Ruby と Rack を学ぶのに良い書籍として『パーフェクトRuby』を、HTTP を学ぶのに良い書籍として『Webを支える技術』を勧めることをスライドに加えておきました。

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Ruby と HTTP の知識は Rails でも必要になりますので、先に Sinatra でそれらを学んでも良いのではないでしょうか。

「他のWebアプリケーションフレームワークとの使い分け」の補足

よちよち.rb では Rails について勉強していきますが、RailsSinatra の両方を知ったときにどう使い分ければ良いのか、私なりに考えてみました。

Sinatra の最初はデータベースを扱う機能やメールを送信する機能が備わっていません。Rails ではデータベースを扱う機能は ActiveRecord に、メールを送信する機能は ActionMailer に実装されています。ActiveRecord と ActionMailer は Rubygems.org に登録されていますので、gem コマンドでインストールして、Sinatra で利用することができます。しかし、Sinatra でそれらを利用すると Rails のような作りのアプリケーションになる気がしたので、それならば最初から Rails を使った方が良いのではないかと思いました。なので、LT では「データベースを扱う必要がある、メールを送信する必要があるアプリケーションの場合は Rails を使う。そうではない場合は Sinatra を使う」と話すことにしました。
(独学で使っている人間の考えなので、周りに詳しい先輩がいる方はそちらに聞いてみた方が良い答えが返ってくると思います。また、私は Padrino を使ったことがないので、Padrino との使い分けは考えていません。)

LTについて反省点

「時間を超過してる」「勢いで話しているところがある」と反省すべきところがありましたので、次に LT するときはもう少し話したい内容をまとめて、事前に練習してきます。