RailsInstallerを使うとWindowsの開発者は簡単にRuby on Rails 3のアプリケーションを構築できる。今まで、Windowsの開発者はRailsアプリケーションを初めて作るとき、Ruby、RubyGems、RailsそしてSQLiteをセットアップする必要があった。しかし、Nic Williams博士のEngine Yardと氏のチームのおかげで、今ではとても簡単になった。
現在のRailsInstallerが開発者に提供するのは、
- ウィザード形式のインストール
- Rails 3.0.3
- Ruby 1.8.7-p330
- SLQite 3.7.3
- Git 1.7.3.1
- 開発キット
InfoQはRailsInstallerプロジェクトを詳しく知り、開発者が今後どんなことを期待できるのか理解するためにNic Williams博士と話をする機会を得た。
まず始めに考えたのは、なぜコンポーネントを個別にインストールできるのに、RailsInstallerが必要とされるのか、ということだ。
新しいRailsユーザにWelcome Kitが必要です。すぐに開発が始められるためのワンクリックインストーラです。Ruby on Railsに興味がある友達がいたら、その友達がRailsを始めるのを優れた体験として享受できるためのURLを教えられますか。Railsのトレーニングコースを実施する場合、すぐに授業を始めるにはどうすればいいのでしょう。RailsInstallerはこのような問題の解決を支援してくれます。Railsを開始するためのワンストップソリューションです。
このプロジェクトのほとんどの活動のスポンサーシップがEngine Yardの人々によってなされている。したがって疑問なのは、このプロジェクトはNic Williams博士個人が行っているのか、それともEngine Yardが手がけているのかだ。
私たちはRubyとRubyistを愛しています。私たちは皆Engine YardのRubyユーザで、開発者やコンサルタントが皆、Java/PHP/.NETをやめてRuby on Railsを使い始めれば、世界がもっと良くなると思っています。
私たちがこの移行を支援すれば、ひょっとしたら皆がRailsを使い始めてくれるかもしれません。これが私たちの望みです。
このプロジェクトはEngine Yardのオープンソースを支援し、Rubyコミュニティに貢献するというコミットメントの一部分なのです。
このようなプロジェクトの動きは激しく、ひとりで成果を上げるのは難しい。誰がこのプロジェクトに参加しているのか尋ねたところ、博士はオープンソースコミュニティで良く知られている人物を挙げた。
Wayne E Seguin氏とLuis Lavena氏がWindows向けのバージョン1.0.0をビルドしました。Wayneが2週間のスプリントを行い、Luisが案内をしました。
WayneはRVM(Ruby Version Manager)という成功したプロジェクトによって名が知られています。最近Engine Yardに戻ってきたんです。Rubyには複数の実装系があります。RVMを使うと、プラットフォームを問わずどのような実装系のRubyでも矛盾無く簡単にインストールして利用できます。RVMのユーザは利用したいRubyを選択するだけです。
LuisはRuby on Windowsの名付け親で、優しいしゃべり方をする人物です。彼はひとりでワンクリックインストーラを育てて、さらにその代替となる新しいRubyInstaller("RubyInstaller for Windows")を作成しました。Ruby用のワンクリックインストーラは過去5年間に500万回ダウンロードされました。信じられない数です。
Ruby 1.9.2が最新の素晴らしい実装だということはRubyコミュニティに属する多くの人が知っている。なので、RailsInstallerに含まれているのがRuby 1.8.7というのは不思議に思っていた。
RailsInstallerのインストーラ(今週Windows向けにリリースしました)にはふたつの目的があります。5分でRailsアプリケーションの開発を開始でき、既存のRuby開発者が使っているツールを使えること。これが第一ステップです。つまり、RailsとRubyを大好きになってもらうことです。そして、新しいRubyユーザが既存の情熱的なRubyコミュニティに参加できること。これが第二ステップです。
プロジェクトのすべての決定はこのふたつの目的に基づいています。WindowsインストーラにRuby 1.9.2ではなくRuby 1.8.7を選んだのもこれが理由です。Windowsの世界では今はまだRuby 1.8.7を使った方がバグの少ないより良い開発ができます。Ruby on Railsの新しいユーザとRubyの新しいユーザはこのことを知りません。なので私たちが新しいユーザのために決定を下し、仕事のための最適なRubyを梱包しました。
RailsInstallerのユーザがRubyを気に入ったら、Ruby 1.9.2について勉強して、"なんで私はRuby 1.9.2を使っていないんだ"と思ってRuby 1.9.2を試したくなります。彼らはこの決定に大きな労力を割くでしょう。Ruby 1.9.2をダウンロードして、DevKitをダウンロードして、Gemをダウンロードして、バグを見つけて、チケットを発行して、Rubyコミュニティの素晴らしいメンバになってくれるでしょう。
いつかRuby 1.9.2を配布するつもりです。RubiniusやJRubyも配布するかもしれません。どれでもインストールすればすぐに最高の開発体験を得られます。
でも、まずはRubyとRailを愛してくれさえすでばいいのです。
Windowsの開発者がWindowsを使いながらにRuby on Railsを始めるためには、InstantRailsは信頼できる環境だ。InstantRailsはコマンドラインツールでRailsを扱うのに慣れていないWindowsのユーザを助けてくれるGUIを提供する。博士はこの点について将来のRailsInstallerを踏まえて、開発者用にGUIを提供するかどうか説明をしてくれた。
読者の皆さんに知っておいてほしいのは、インタビューアであるRob Bazinet氏はInstantRailsのメンテナであり、私とふたりでInstantRails 2011(今はRailsInstallerと名付けられている) について長々とおしゃべりしました。なのでこれは誘導尋問です!
2005年から2008年までInstantRailsがありました。私がRailsを始めたのも2005年です。残念なことに開発は2007年に終わってしまいました。最後のリリースにはRails 3が動かないRuby 1.8.6をパッケージしました。InstantRailsのコードベースも古かったです。2005年より前からあったはずです。新しいコードベースを作るのが最短経路だと思いました。
Rob、あなたのおかげで、InstantRailsのサイトにInstantRailsの"次のリリース"としてRailsInstaller 1.0のリンクを貼ることができました。
GUIについては私はまだどのようなアプローチを取るべきかわかっていません。スタンドアロンのGUIを構築するべきか。Windowsユーザにだけ提供するべきか。それともOS/X向けのRailsInstallerのGUIを作成するべきか。それともWindowsやOS/Xのユーザが使っていて、Railsを学習してWelcome Kitを試してみるのにも使うであろう人気のIDEやテキストエディタと統合するのに注力するか。つまり、Visual StudioとXCodeへの統合に注力するべきか。
いい質問ですが、すいません。うまく答えられません。
RailsをLinuxで動かすのに慣れている開発者は、Apacheのことを熟知しているが、それはWindowsの開発者には必要ない。たいていの場合、IISを利用しているWindowsでのホスティングについて話を聞いた。
RailsInstallerのすごいところはすぐにこのようなトピックについて"いろいろと知っている人"と話ができることです。例えば、IISとRackを合わせてうまく動かすこと(Railsアプリの低いレベルのインターフェイス)について議論がなされています。
Brian Hogan氏はWindowsのユーザがRubyに関心を持ち始めたときに気にすることを一覧にしました。
* "ActiveDirectoryをどうやって扱うのか。"
* "今使っている.Netのライブラリをどうやって使うのか。"
* "SharePointとどうやって統合するのか。"
* そして最後に"IIS"の問題。Windowsへの配置についての素晴らしい解決策を思いついたら、RailsInstallerそのものか拡張パッケージに梱包するかもしれません。
開発者がプロジェクトを支援することについて話が及ぶと、
インストーラもウェブサイトもすべてオープンソースで、GitHubにホストされています。Windows向けRailsInstallerのリリーススケジュールはPivotal Trackerに掲載してあります。
どんなプロジェクトにとっても、開発者がサポートを受けたり、質問したり、バグを報告したり、提案をしたりする場所を持つことは重要だ。特に新しいプロジェクトにとってはとても重要である。
The RailsInstaller Google Groupは現在、開発者の議論の場所として使われています。
発見された"バグ"のほとんどは、最終的には個々のプロジェクトの再報告されます。例えば、RubyInstallerやRubyそのもの、Rails、Bundlerなどです。グループ&チケットシステムは"私、話したいことがあるんだけど"というユーザへ入口を提供します。コミュニティはそうした人の問題が解決するように導くことができます。新しいRailsのユーザに対してもこの方法がうまくいくことを願っています。
インストーラに何を含むのか決めてパッケージングに成功したら、"バグ"関連の質問に対処する必要が最小化できるのが、私の夢です。
RailsInstallerをリリースして積極的なフィードバックを受けられるのは素晴らしいことです。夢みたいですよ。いままでのところ、いい夢みたいです。
このプロジェクトについての更なる情報を得るにはRailsInstallerのウェブサイトを見ていただきたい。