ここ数年、ハッカソンがあちらこちらで行われています。加えてアプリやWebサービスなどを開発するコンテストも数多く行われています。
ハッカソンは多くの場合12〜48時間程度で、開発できる時間は限られています。最初のアイディア出しから最後の見せ場であるプレゼン資料の作成まで一気にこなさなければならず、時間はまったく足りません。そんな限られた時間の中でも最高のパフォーマンスを発揮するには、何を削れるかを考える必要があります。
そこでお勧めしたいのがサーバサイドにmBaaSを使う方法です。
mBaaSでは主に以下の機能を提供しています。
- データストア:スキーマレスなデータベース。
- ファイルストア:バイナリデータの保存場所。写真やファイル、HTML、JavaScript、スタイルシートなど。
- 会員管理:ユーザ管理機能。メールアドレス確認メール送信も可能。
- プッシュ通知:iOS/Androidアプリに対してプッシュ通知を送信。
mBaaSと簡単に連携するための開発キット(SDK)はiOS/Android/Unity/JavaScript(Node.js) に対応しています。コミュニティベースではRuby/Python向けのライブラリがあります。また、RESTfulなAPIを提供していますので自作も可能です。
これだけの機能があれば、ハッカソンで求められる機能の決して多くないアプリやサービスであれば十分にこなせるはずです。サーバサイドの開発がなくなる分、素早く開発に着手できるようになるでしょう。
データやファイルをクラウド上に保存できれば、アプリを作り直す中でのデータの再現も簡単にできます。意外と面倒な一覧系のデータは管理画面を使って作ることもできるでしょう。さらにゲームなどの場合は最高得点を記録し、ランキング機能を作るだけでもぐっと完成度が高くなります。
ニフティクラウドmobile backendであれば月間200万APIアクセスまで無料で使えます。ハッカソンの間はもちろんのこと、開発中であれば無料枠で十分に開発を続けられるはずです。さらに開発時のアーキテクチャとリリース後のアーキテクチャを変えずに済むというのもメリットです。バックアップやスケールも考えないで済むので、ハッカソンで作り上げた作品をそのままリリースまでmBaaSを使い続けられるようになります。
ハッカソンは時間との勝負でもあります。いつもやっているようなことに時間を取られないよう、mBaaSを使って開発を高速化してください!
画像はTechCrunch Hackathon SF 2011 #tcdisrupt | Flickr - Photo Sharing!より