HTML5アプリ用のクラウドサービスの検討
はじめに
作ろうと思い立ってから時間が経ったのに全然進んでませんが、HTML5アプリを開発しようと思っています。
HTML5アプリとは、HTMLやJavaScriptなどで実装したブラウザ上で動作する、AndroidやiOSのアプリと同じようなソフトです。
多くのHTML5アプリでは、最初に一通りの(サーバーでリクエストに応じて動的に生成したのではない)静的なHTMLやJavaScriptなどをブラウザにダウンロードし、その後はブラウザでの処理が中心になり、サーバーとのデータの送受信が必要な場合はAjaxなどで通信します。
HTML5アプリは、Chrome Web StoreやFirefox OSのMarketplaceで公開することもできます。
理系ジンでは、先ずは、実行中にサーバーとの通信を行わないHTML5アプリを考えています。
そのようなHTML5アプリを配備するのに適当なクラウドサービスを、無料または低料金であることを重視して、検討しました。
静的ファイル配備サービス
HTML5アプリは、静的なHTMLやJavaScriptなどのファイルだけでも作成できるので、静的なファイルを置いて公開できるサービスを調べました。
GitHub Pages
GitHub Pagesは、最近はソフト開発の必須のツールになりつつあるらしいGitHub(ギットハブ)の提供する静的なWebサイトやファイルを提供する機能で、公開する場合は無料で使え、容量は無制限です。
GitやGitHubは機能が豊富過ぎて、調査が進んでないので今回はこれ以上書きません。近日中に記事を書きたいと思います。
その他
Googleサイトは、テンプレートやテーマを選択してWebページやお知らせなどを手軽に作れます。自由度は低いです。スマートフォン向けにすることもできます。ファイルキャビネットに、静的なHTMLやJavaScriptなどのファイルを置けます。Google Appsのヘルプによると、容量は100MBまでです。
Dropboxは、Publicフォルダを使えば、静的ファイルを公開できますが、URLがわかりにくいものになるので使わないことにします。
Google DriveもDropbox同様に、静的ファイルを公開できますが、URLがわかりにくいものになるので使わないことにします。詳しくは、GoogleドライブにBloggerで使う外部CSSをホスティングさせてみる:たき備忘録を参照してください。
クラウドサーバーサービス
クラウドサーバーでは、HTMLなどの好きなファイルを置け、サーバーでJavaなどのプログラムで処理を行えます。
Google App Engine
Google App Engineは、Googleが提供するクラウドで、Python、Java、PHP(ベータ版)、Go(ベータ版)などの言語で開発ができます。Eclipseプラグインがあります。
Google Cloud PricingのApp Engineの項によると、毎日、1CPU分強の処理で、ストレージは5GBで、1GBのデータの入力と出力の通信量くらいは無料のようです。SQLは有料のものしかありません。
Googleサイトなどに静的ファイルを置いて通信料を減らせば、かなりの処理を無料で行えると思います。
Heroku
Herokuは、セールスフォース・ドットコムが提供するクラウドで、Ruby、Java、JavaScript、Python、PHPなどの言語で開発でき、PostgreSQLなどのデータベースをサポートしています。料金は、Heroku | Pricingを見ると、0.05ドル/dyno(CPU)時間ですが、(20141101修正)Usage & Billing | Heroku Dev CenterによるとApp毎に毎月750dyno時間の無料枠があるそうです。毎月1CPU分程無料ということになると思います。
ブログサービス
Webサイトをブログで作ることもよくあります。
無料で使えるものは、はてなブログ、Blogger、WordPress.com、Tumblrなどが有名です。
静的ファイルを置く機能は、Tumblrでテーマのカスタマイズ用の静的ファイルをアップロードできる位なので、ブログ自体にHTML5アプリを置くのは難しそうです。
Googleサイトやサーバーサービスを使って配備したHTML5アプリや、Chrome Web StoreやFirefox OSのMarketplaceに公開したものを、ブログからリンクで参照することになります。
理系ジンはどうするか
Googleサイトも良さそうですが、デザインが自由なのと容量に制限がないことから、GitHub Pagesを利用してWebサイトまたはブログを作り、HTML5アプリを置くことにします。
いずれサーバーでの処理が必要になった場合は、Google App EngineまたはHerokuを使うことにします。
予定
最近は、GitやGitHubを調べるのに時間がかかっていて更新できなくなっています。今回の記事は、結局使わないものばかりの紹介になり、内容が薄くなりました。
次回は進捗により、AtomまたはNodeまたはGitの記事を予定しています。