BT

RailsKitsを理解して、冗長なコードを書くのを止めよう

| 作者 Robert Bazinet フォローする 0 人のフォロワー , 翻訳者 長部 広太 フォローする 0 人のフォロワー 投稿日 2009年2月16日. 推定読書時間: 7 分 |

近年Ruby on Railsは、ウェブアプリケーションを作成するのにとても人気のあるRubyのフレームワークとなった。ウェブアプリケーションの作成の特徴としては、繰り返し同じベースの機能を何年も作成する必要があるが、RailsKits(リンク)は、この苦痛を和らげるために現れた。

これらは、開発者がアプリケーションの根本的な部分に取りかかる前に終えておく必要があるタスクです。Ruby on Railsを使用しているほとんどのアプリケーションは、認証、支払い、自動化された請求書作成機能、ビジネスアプリケーション開発で繰り返し現れる他のアスペクトを実装している。RailsKitsは、これらの問題を非常に簡単に解決出来るように設計されている。

RailsKitsの概念、利用可能な様々な種類のRailsKits及びそれらの利用に関してより多くのことを学ぶために、InfoQは、RailsKitsの作者であるBenjamin Curtis氏から話しを伺う機会を得ました。 

Robert Bazinet (RB):Benjamin Curtis氏さん、まず自己紹介をお願いします。

Benjamin Curtis (BC): 私は、ワシントン州シアトルを本拠地として活動している起業家、スタートアップジャンキー、そしてRails開発者です。コンセプト作り、開発、プロモーションと多岐にわたったオンラインビジネスに関するあらゆることを楽しんでいます。一般的なウェブ開発、特にRailsに関してブログに記事を投稿しています。またRailsプラグインのディレクトリを管理しています。そして時間を得て、楽しみながらオープンソースプロジェクトに貢献しています。私が特に興味を持っているオンラインビジネスの分野は、eコマースです。Railsの草分け時代から今日まで大規模店舗を構築してきました。そして今もまだ大規模店舗でNextProofのようなeコマースソリューションを構築しています。NextProofは、セルフサービスのeコマースサイトです。NextProof(リンク)でプロの写真家は、eコマースサイトを構築することが出来ます。

RB:RailsKitとは何ですか?

BC: RailsKitsは、Ruby on Railsアプリケーションのスターターです。開発者が自分達が構築しているアプリケーションに対してクイックスタートするのを助けてくれます。また請求書作成のような定型作業を自動的に行ってくれる機能が含まれています。基本的に、そのアイデアは、例えば安全にクレジットカードの番号を保管して、月単位で請求したりするような問題が幾つかあります。またかなり一般的で、あなた特有のアプリケーションに付加価値を与えません。だから何故あなたの時間を車輪の再発明に費やすのか?RailsKitを手に入れて、繰り返し現れる問題に解決策を提供し、より興味深い事に着手した方が良いのではないか。

RB:RailsKitsのアイデアは、どのようにして浮かんだのでしょうか?

BC: RailsKitsのアイデアが浮かんだのは、SaaSのウェブアプリケーションを幾つか構築した後でした。私は主にフリーミアムモデルに基づいたB2Bアプリケーションに取り組んでいるので、新しいプロジェクトを始めるときプロジェクトの最初の方に書いた請求書のコードを再利用していることに気がつきました。この手のコードを書いているとき、楽しみながらコードを書いていない自分に気がつきました。本当に楽しくないんです。そして自分と同じ考えを抱いている開発者がいることに気がつきました。選択肢があれば、彼らは、自動更新の請求書作成を既に実装したコードを買って満足になるだろう。その場合わずかなお金を費やして、多くの時間を節約出来、アプリケーションをより早く納品することが出来る。だから私は請求書作成のコンポーネントを抽出し、それを幾つかのプロジェクトの間に磨きあげ、パッケージ化し、そして製品として提供しました。

RB:RailsKitsが解決しようとしている特有の問題はなんですか?

BC: 自動更新の請求書作成と顧客会員登録管理をRailsKitで解決出来る領域の一つして言及しました。最近リリースされた別のRailsKitは、マッピングアプリケーションを構築のプラットフォームを提供しています。それは、Google Map APIを実装して、あなたの代わりにジオコーディングと地図へのマーキング処理を行ってくれます。三番目のRailsKitのOpenID Kitは、私は無料で提供しており、OpenID Kitは、OpenIDログインと同様にユーザネームとパスワードの両方を使用するアプリケーションを構築するためのスターティングポイントを与えています。だから開発者として、OpenID APIのことや、OpenID Railsプラグインを統合したりする心配をする必要がなく、単にKitをダウンロードし、配置済みのログインメソッドを使ってアプリケーションの構築を開始しすれば良いのです。

RB:RailsKitsを使うのに相応しいプロジェクトとしてどんなものがありますか?

BC: もしあなたが、共通のニーズ例えば、自動更新の請求書発送やOpenIDによる認証機能などを開発するアプリケーション開発者なら、それらのアプリケーションは、出発点としてRailsKitを使うのに相応しいアプリケーションです。新しい問題を完全に解決するアプリケーションは、あまり相応しくないでしょう。

RB:複数のRailsKitsを提供していますが、それらの用途を教えて下さい。

BC: 最初のRails Kitは、SaaS Rails Kitです。それは、予約登録ベースのウェブアプリケーションを構築する際ののスターティングポイントを提供します。毎月顧客にクレジットカードの請求書を送るマルチテナントのWebアプリケーションを構築したいなら、このKitは、請求書作成のような定型作業を自動的に行ってくれる機能と顧客がアカウントを作成したり、アップグレードまたはダウングレード出来るような機能を提供してくれます。またそれは同様にあなたに対して、顧客間のプライバシーデータを保守し、多くのユーザのアカウントや、使用済みのストレージスペースの量などのような制限に基づいた製品計画を実施するフレームワークを提供してくれます。他のKitには、PayPal APIのサンプル実装、OpenIDの実装、そしてRadiantで構築したサイトに対して会員のみのセクションを設けられるRadiantの拡張機能が含まれています。

RB:RailsKitsに対して、どのようなサポートを提供していますか?

BC: RailsKitsベースのアプリケーションの実装、カスタマイズ及びデプロイに関するどんな質問に対しても、Eメールによるサポートを行っています。また同様に顧客同士が質問して問題解決が出来るようにメーリングリストも管理しています。

RB:RailsKitsはオープンソースなので、どんなライセンスの元でリリースされ、そしてどのように開発者はRailsKitsを強化し配布することが出来るのですか?

BC:購入時にRailsKitsのソースを取得出来ますが、ソースコードのライセンスはオープンソースライセンスではありません。RailsKitsのライセンス下で、ソースコードを使用したり修正は出来ますが、それを再配布することは許可されていません。但し例外があり、RailsKitsをスターティングポイントして使用しているクライアントに対してソリューションを構築している場合は除きます。その場合は、もちろんコードをクライアントと共有することは許可されています。

RB:顧客がどうやってRailsKitsを使っているかという例を、InfoQ読者へ教えて頂くことは可能ですか?例えば、読者はRailsKitsを使用して構築されたサイトを面白いなと思うかもしれません。

BC: SaaS Rails Kitを使用してデプロイされた一番最初の顧客のアプリケーションは、NextProof(リンク)というサイトです。そのサイトは、プロの写真家のためのeコマースプラットフォームです。このサイトは私のクライアントのプロジェクトでした。私が元々は、Catch the Best(リンク)というサイトに向けて作り、そしてそれを幾つかのプロジェクトで簡単に再利用が可能なフレームワークに取り入れた請求書のコードを取り込んだのは、このプロジェクトだったのです。Sifter(リンク)は、SaaS Rails Kitを使用したもう一つのサイトです。

RB:地元のオフィスを見つ

 

原文はこちらです:http://www.infoq.com/articles/discover-railskits
(このArticleは2008年10月7日に原文が掲載されました)

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT