以前、こちらで動画「Ruby on Railsで10分で作るTwitterもどき」を公開したところ、多くの反響をいただきました。見てくれた方、ブックマークしてくれた方、ありがとうございます。今回、動画の解説を文章で読みたいとのご要望にお応えして、ブログを書かせていただくことになりました。このブログでは動画「Ruby on Railsで10分で作るTwitterもどき」を解説しながら、僕らRAWHIDE.が実務を通して感じてきたRuby on Railsについて紹介していきたいと思ってます。
Ruby市場の更なる活発化に、ほんのちょびっとでも貢献できたらうれしいなぁ
■ scaffoldのあとで読んでください
Railsのススメということで、RubyやRailsの初心者の方向けに書きたいと思ってますが、Ruby on Railsのインストールや、きっと誰もが最初にやってみるscaffoldは、多くのサイトや書籍で解説されていますので、そちらを参考にやってみてください。scaffoldを初めてやった時は感動することうけあいです。ただし、Railsの本当の楽しさは次のステップからなので、これだけで満足しないでくださいね。
RubyとRailsはインストールできました?scaffoldで何か作ってみました?ここまでOKなら、さっそく実際にアプリケーションを作っていきましょう。あ、でもその前に、ちょっと誤解を解いておく必要があるかもしれません。
■ RailsでJavaのn倍の開発効率?
以前Railsを使えばJavaのn倍の開発効率を得られるなんてことが噂になっていました。その真偽のほどは、未だ勉強中の身なのでなんとも言えませんが、Ruby on Railsを紹介するにあたって、まず始めに言っておきたいのは、Railsだからって「10分でTwitterもどきなんてつくれない」ということです。
今回作成したTwitterもどきは、非常に小さいアプリケーションですが、小さいとはいえ要件定義や設計はしているわけです。これだけで余裕で10分なんて超えてしまっています。アジャイル開発とは言いますが、設計をおろそかにすればまともなものを作れないのはRailsとて変わりはありません。そして、他のフレームワークと比べてRailsが格段に設計しやすいかというと、そうでもないと感じてます。
でもがっかりしないでくださいね。Railsがその本領を発揮するのは実装フェーズなんですから。「Ruby on Railsで10分で作るTwitterもどき」の中では、ノーカット10分で一つのアプリケーションを作っています。設計にあてた時間は別ですが、編集とか早回しはしてません。ちゃんと10分でコーディングを終えて、動作させるところまでやっています。練習はかなりしましたけどね!まぁそれでも、同じ品質のものを、他の言語やフレームワークで10分で作る自信は、僕にはありません。Ruby on Railsは、プログラマーが書かなくてはいけないコード量を劇的に少なくしてくれます。だからこそ、キータイプのあんまり早くない僕でもあの動画ができたんじゃないかなと思います。つまり、Ruby on Railsの開発効率アップの正体は、コードの量が減る=開発効率アップというわけですね!
■ はっぴーうれぴーよろぴくねー
短縮できるのは実装フェーズだけなの?とお思いかもしれませんが、それってとてもステキなことだと思いません?僕らプログラマーにとって、楽しい時間っていつでしょうか。人それぞれでしょうけど、僕は「何をどう作るか」を考えてる時と、それが動いた瞬間です。間のコーディング作業中って、プログラマーの脳はほとんど働いてないらしいですし、頭使わないことで時間とられたくないってのが本音です。
設計の楽しさを残しつつ、面倒なコーディング作業を軽減してくれるRuby on Railsは、いわば「楽しい開発」のためのフレームワークと言って良いんじゃないでしょうか。実装の手間が少なくなれば、余った時間はお茶するなり、合コンするなり、たまにはアプリケーションの品質向上にあててもいいかもしれません。
自分のアイデアを形にしやすいフレームワーク。そんなRuby on Rails使って、楽しく開発してみませんか?
■ やっとこさ第一回解説のはじまり
長い前置きになってしまいましたが、これで心置きなくTwitterもどきの作り方の解説に移れます。
最初にも書きましたが、Railsがアジャイルを売りにしているからといって、要件定義や設計はしっかり行う必要があります。やらないと後で後悔します。というかしてます。特にERDは必ず書いた方がいいでしょう。ERDの書き方は羽生章洋氏の「楽々ERDレッスン」が非常に参考になりますので一読をお勧めします。
Twitterもどきの機能としては、
・ユーザー登録して、ログインできる
・自分の状態をテキストで投稿できる
・他のユーザーを「友達」に設定できる
・自分と友達の投稿を一覧できる
・個人の投稿を一覧できる
この5つだけです。
そしてこれをもとにモデリングをしていくのですが、ここで小さな仕様変更を恐れる必要はありません。後ほど解説しますが、Railsのマイグレーションという機能が、多少の仕様変更であれば簡単に受け止めてくれます。なので細部まで気にするよりは、骨子だけしっかりした設計をして、さっさとコーディングを始めましょう。
テーブルは、ユーザー・誰と誰が友達なのかを表す関連・ユーザーの投稿の3つになります。次回からはこれをもとに、Railsでのコーディングをしていきます。押忍
※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。
- 次のエントリー: プロジェクト作成開始
「あとで読むRailsのススメ」 のバックナンバー
-
builder by ZDNet Japanに移行します
http://builder.japan.zdnet.com/member/u74891/blog/ZDNetが始めた技術者のためのポータル「builder」実はここのブログでプログラムのソースが含まれる記事を書いてるのって、私だけだったらしいですwで、builde... -
日時の表示フォーマット
-
acts_as_state_machine
-
restful_authentication
-
RSpecチュートリアルやってみる 最終回
- あとで読むRailsのススメ 一覧へ »
企画特集
-
安全で効率的なコンテンツ管理の実現
グローバルな情報活用基盤整備のためのイロハを学ぶ -
セキュリティとコスト削減(モバイルPC)
6万円台モバイルPCにセキュリティソフトをバンドル -
情報セキュリティ対策を考える
人がいるところにリスクありと心得る -
ワンランク上の液晶一体型PC、登場!
なぜワンランク上なのか、その7つの特長を緊急報告! -
クラウド戦略を実現するオープンソース
【事例セミナー】ドトール社に学ぶ最新 OSS 活用事例 -
三拍子揃ったビジネスPCが登場
日本のオフィスに合った、コンパクトPCをHPが提供 -
佐々木俊尚×日立のキーパーソンが語る
2010年 ビジネスニーズが企業のクラウド化を加速 -
セキュリティとコスト削減
相反する要素を兼ね備えたビジネスPCを選ぼう -
中堅中小企業のセキュリティ PC運用上手
モバイルPCのセキュリティを管理する -
安全・安心・安価なクラウド型ホスティング
キャリアならではのパフォーマンス--その信頼性に迫る
新着企業動向
-
ツイッターを使い新着情報を発信。エカイロ・湯たんぽ販売店
有限会社スリーズコム -
セキュリティ強化と利便性向上を両立する
ベリサインのワンタイムパスワードソリューションセ...
日本ベリサイン -
【アイル】共用サーバー全プランでマルウェア感染検知・通知機能を標準搭載
GMOホスティング&セキュリティ -
HitachiSoft NetInsightll Firewall Suite
アズジェント - 企業動向一覧へ»