RadRailsをはじめよう
これまでRuby CGIをつくるため、EclipseにRDTを入れてやっていた。
このたび、Railsアプリをつくってみようということで調べたところ、RailsでのものづくりにはRDTよりRadRailsのほうが向いているとのこと。(後でわかったけど、RadRailsにはRDTが同梱されてた)
うーん。「以前RadRailsを入れたときは、何がなんだかわからずだったなぁ」と思いつつも、多少は自分も成長しただろうということで、導入に踏み切ることに。RadRailsはEclipse同梱になってて、インストールも楽チンそうだという計算もあった。
ダウンロードページにいってみると。。
なにー!
RadRailsはAptanaというWebオーサリングツールとセットになったのだそうな。。
うーむ。。メンドクサイ。
Aptanaもはじめてみよう
RadRails導入の障害として10分前にAptanaと出会ったわけだが、ちょっと評判等しらべてみると、Aptanaなかなか悪くなさそうな気配。Dreamweaverと比べられるようなWebオーサリングツールということで、JavaScriptなんかのデバッグも楽チンになるらしい。
Dreamweaverは5年前ぐらいに買ったことがあったような気もするが、「なんとなくHTML手打ちになってしまっている現状打破も悪くないかなー。」ということでAptanaもやってみようかという気になった。
RadRails/Aptanaいい感じ
こちらのサイト様を参考にテストアプリをつくってみたら。
http://www5f.biglobe.ne.jp/~jess/index.html
さくっとテストアプリが動きました。
Aptanaがやってくれていると思われるHTMLの補完もいい感じ。
もうちょっとRailsで遊ぶ
Railsの本家ページからリンクされたチュートリアルに沿ってRadRailでCookbookアプリをつくってみた。
バージョンが違うのか、ちょっと違うところ(単数形Recipeと複数形Recipesのあたりなど)があったように思えたが、まあ、だいたいこれに沿ってサンプルアプリがつくれた。
railsコマンドの代わりにRadRailsで操作してゆくので、作業中、RadRails上での操作がCUI的には何に対応するのか、仮説・検証繰り返し的に頭と手を動すことになり結構勉強になったかも。
このサンプルではodbc@localhost云々やってたけど、自分は普通にDBにユーザ作りました。ユーザの作成方法あたり、怪しかったので、以下を見ながら・・
http://dev.mysql.com/doc/refman/5.1/ja/create-user.html
一応こんなのも参考にしました。
http://akio.way-nifty.com/ja/2007/09/mysql_87a2.html
↑よく考えたら自分1-2ヶ月ほど前にMySQL触っていましたね。。すっかり忘れてた。
CGIからMySQLにアクセスする際は、OLD_PASSWORD形式でパスワード設定しなきゃいけなかったけど、Railsはどうだったのだろうか。とりあえずOLD_PASSWORDで作ったらすんなり動いちゃったので、その辺は??だけど、まあいっか。
つくってたら1年前ぐらいに見たデモを思い出しました。確かに、簡単にさくさく作れちゃうのは魅力かも。でも、できるもののデザインが、そのままだと超しょぼいのが少しやる気をそいじゃうな。自分的には。いつも、デザインを先に固めてから中身つくってたからかな。。(まあ、スタイルシート用意すればいいだけだけどね。)
「Railsはオモチャ以上の何者でもない」といっていた人が身近にいて、少しひっかかってる。個人的にはそうじゃないと信じてるけど、まだ自分は今日の時点ではオモチャレベルしか使えてないので、なんともまだわからない。
なぜここにきてRailsやりたくなったのかというと、AtomPubとかAjaxとかそういう世界をやってくにあたっての裏側のサーバサイドを、さくさく簡単にやっちゃいたかったから。
RESTfulなサービス群がCRUDを担っていて、フロントのWebアプリは1枚HTML+JavaScriptという世界をつくってみたくてね。
だって、1アプリ1URL。とかってわかりやすいじゃん。
#というか、AJAXの何がいやって、最初のJavaScriptの評価時間。
#そこをSplashペイン出して待たせるのは1回にしたいからというのが本当の理由。
そういうの考えるにあたって、一応、なんかサンプル実装がないと、自分は発想が行き詰まりそうだったので、Blogなのか何なのかわからないけど、サンプルを作ろうと思ってる。
サーバサイドはCRUDだけ。難しいプレゼンテーションまわりはすべてJavaScriptに担わせる。そういう世界を想像したとき、CRUD操作を特別視している感じのRailsはなんか親和性が高い気がするので、今試してみてるって感じかな。
まあいいや、脱線したけど、Rails勉強するのは、なんか大事そうな気がするので、これからちょっと深く勉強してみようかな。