Mikimemo

個人的な技術・開発メモやポエム

第5回ハッカソン:審査なしにiOSアプリぽいものを配布してみる

年も無事あけました。今年もよろしくお願い致します。

去年の11月のことになってしまったのですが
前々回から運営をまかされましたソネットグループ合同ハッカソンに参加したので、
なにやったかを一応書いとこうかとおもいます。

ちなみに、普通のハッカソンは何かしらのテーマを決めるんですが、
ソネットハッカソンはテーマ超フリーです。
iOSAndroidアプリ、Node、Rails、Unity、EnchantJS、ArduinoRaspberry Piなどなど、なんでもアリです。

さて、前回は「審査なしにiOSアプリぽいものを配布する」ということをテーマに取り組んでみました。
仰々しく、いかにもハックな感じですが別にたいしたことはしてないです。
iOSアプリっぽい」ものでiOSアプリじゃないです。

キーアイディア

  • SafariのWeb Clip機能をつかってアプリアイコンをホームに表示
  • SafariのWebアプリモードを使ってアプリを全画面化
  • コンテンツ自体はJQuery MobileなどのJSフレームワークで構成する
  • HTML5のWebアプリケーションキャッシュを使ってオフラインでも動作可能にする

誰でも簡単にできるようにする

上記のことを一つ一つ組み込んでいけばそれっぽいことが可能なのですが、いかんせんめんどくさいです。
実際にはサイトを設置するサーバーが必要ですし、
特にWebアプリケーションキャッシュのマニフェストを定義したりするのが煩雑です。

ということで、それを簡単に統合的にやってしまえるようなプラットフォームをつくろうと思い立ちました。
その名も

Gomafu

ゴマフです。名前はぱっとおもい浮かんだだけです。深い意味はないです。
実態はRailsプロジェクトです。githubにあげました。
https://github.com/mikito/gomafu

こいつはただのRailsプロジェクトなので、どこかのサーバーに設置する必要がありますが、
設置後は複数のアプリが登録可能です。

どうつかうんですか

デモサイトも設置しました。(一定時間でリセットされます)
http://gomafu.herokuapp.com

  1. HTML、JavascriptCSSなどで静的コンテンツをローカルでつくる
  2. 作ったコンテンツをzipで圧縮
  3. 管理画面でzipを送信
  4. アプリのアイコンやタイトルを設定

以上の手順をふむだけで、
ダウンロードページやWebアップモードの設定、アイコンの設定、キャッシュマニフェストの生成などを自動でおこないます。

アプリをダウンロードするURL(実際にはWebクリップするページ)も
http://gomafu.herokuapp.com/azarashi.app
のようなそれっぽい感じになります。

また、管理用のJavascriptが自動でうめこまれ、
保存手順の表示や最新版の更新処理などをなにも考えずにやってくれます。

所感

HTMLをつかったハイブリッドアプリケーションを生成するツールやサービスにはPhoneGapやMonacaがありますが、
このGomafuはiOSの開発者登録してなくてもそれっぽいことができるのが利点でしょうか。

用途としては本当に簡単なもの、写真ギャラリーアプリ、何かの紹介アプリ、EnchantJS等で作ったゲームなどがあるかとおもいます。
開発者ライセンスとるほどでもないけど、すこしアプリっぽく配布したい!ってときには使えなくもなさそうです。

ただ、なんかもうキャッシュのまわりの挙動がよくわかんなくて
ちゃんと使えるようにするにはまだまだ調整が必要そうです。

可能性はあるような気はするんですが...


長文になってしまいました。
とりあえず、今年も頑張っていこうとおもいます。