理系ジン

しばらくPythonに力を入れる予定です。

HTML5アプリ用のクラウドサービスの検討

はじめに

作ろうと思い立ってから時間が経ったのに全然進んでませんが、HTML5アプリを開発しようと思っています。

HTML5アプリとは、HTMLやJavaScriptなどで実装したブラウザ上で動作する、AndroidiOSのアプリと同じようなソフトです。

多くのHTML5アプリでは、最初に一通りの(サーバーでリクエストに応じて動的に生成したのではない)静的なHTMLやJavaScriptなどをブラウザにダウンロードし、その後はブラウザでの処理が中心になり、サーバーとのデータの送受信が必要な場合はAjaxなどで通信します。

HTML5アプリは、Chrome Web StoreFirefox OSMarketplaceで公開することもできます。

理系ジンでは、先ずは、実行中にサーバーとの通信を行わないHTML5アプリを考えています。

そのようなHTML5アプリを配備するのに適当なクラウドサービスを、無料または低料金であることを重視して、検討しました。

静的ファイル配備サービス

HTML5アプリは、静的なHTMLやJavaScriptなどのファイルだけでも作成できるので、静的なファイルを置いて公開できるサービスを調べました。

GitHub Pages

GitHub Pagesは、最近はソフト開発の必須のツールになりつつあるらしいGitHub(ギットハブ)の提供する静的なWebサイトやファイルを提供する機能で、公開する場合は無料で使え、容量は無制限です。

GitやGitHubは機能が豊富過ぎて、調査が進んでないので今回はこれ以上書きません。近日中に記事を書きたいと思います。

その他

Googleサイトは、テンプレートやテーマを選択してWebページやお知らせなどを手軽に作れます。自由度は低いです。スマートフォン向けにすることもできます。ファイルキャビネットに、静的なHTMLやJavaScriptなどのファイルを置けます。Google Appsのヘルプによると、容量は100MBまでです。

Dropboxは、Publicフォルダを使えば、静的ファイルを公開できますが、URLがわかりにくいものになるので使わないことにします。

Google DriveDropbox同様に、静的ファイルを公開できますが、URLがわかりにくいものになるので使わないことにします。詳しくは、GoogleドライブにBloggerで使う外部CSSをホスティングさせてみる:たき備忘録を参照してください。

クラウドサーバーサービス

クラウドサーバーでは、HTMLなどの好きなファイルを置け、サーバーでJavaなどのプログラムで処理を行えます。

Google App Engine

Google App Engineは、Googleが提供するクラウドで、PythonJavaPHP(ベータ版)、Go(ベータ版)などの言語で開発ができます。Eclipseプラグインがあります。

Google Cloud PricingのApp Engineの項によると、毎日、1CPU分強の処理で、ストレージは5GBで、1GBのデータの入力と出力の通信量くらいは無料のようです。SQLは有料のものしかありません。

Googleサイトなどに静的ファイルを置いて通信料を減らせば、かなりの処理を無料で行えると思います。

Heroku

Herokuは、セールスフォース・ドットコムが提供するクラウドで、RubyJavaJavaScriptPythonPHPなどの言語で開発でき、PostgreSQLなどのデータベースをサポートしています。料金は、Heroku | Pricingを見ると、0.05ドル/dyno(CPU)時間ですが、(20141101修正)Usage & Billing | Heroku Dev CenterによるとApp毎に毎月750dyno時間の無料枠があるそうです。毎月1CPU分程無料ということになると思います。

ブログサービス

Webサイトをブログで作ることもよくあります。

無料で使えるものは、はてなブログBloggerWordPress.comTumblrなどが有名です。

静的ファイルを置く機能は、Tumblrでテーマのカスタマイズ用の静的ファイルをアップロードできる位なので、ブログ自体にHTML5アプリを置くのは難しそうです。

Googleサイトやサーバーサービスを使って配備したHTML5アプリや、Chrome Web StoreやFirefox OSのMarketplaceに公開したものを、ブログからリンクで参照することになります。

理系ジンはどうするか

Googleサイトも良さそうですが、デザインが自由なのと容量に制限がないことから、GitHub Pagesを利用してWebサイトまたはブログを作り、HTML5アプリを置くことにします。

いずれサーバーでの処理が必要になった場合は、Google App EngineまたはHerokuを使うことにします。

予定

最近は、GitやGitHubを調べるのに時間がかかっていて更新できなくなっています。今回の記事は、結局使わないものばかりの紹介になり、内容が薄くなりました。

次回は進捗により、AtomまたはNodeまたはGitの記事を予定しています。