アプリ開発を素早く進めていく上で大事なのは、ミーティングなどの内容を目の前で反映し、動作確認を進めていくというスピード感です。アニメーションなどの動きが肝になるアプリ開発では、持ち帰ってデザインに反映して…といったやり方では遅すぎます。逆にその場で「こんな動きですか?」と提示できれば話がどんどん進んでいくでしょう。
そこで試してみたいのが、ローカルの内容をインターネット上に公開できるサービスです。これらのサービスとMonacaを組み合わせると、ライブ感溢れる素晴らしいプロトタイピングが可能になることでしょう。
ngrok
ngrokはコマンド一つでローカルコンピュータ上で立ち上がっているHTTPサービスを公開できます。例えば以下のコマンドでローカルコンピュータの http://localhost:8080/ のアクセスを公開できます。
ngrok http -subdomain=baz 8080
基本的にサブドメインが毎回変わるのですが、課金することでサブドメインを固定にできます。
ngrok - secure introspectable tunnels to localhost
Serveo
Serveoも仕組みは同じですが、SSHでと明言しているところが特徴です(ngrokも同じ仕組みです)。SSHトンネルを使ってローカルコンピュータ上の特定のサービスを公開します。
例えば以下のようにSSHコマンドだけで使えます。
$ ssh -R 80:localhost:3000 serveo.net Hi there Forwarding HTTP traffic from https://gratia.serveo.net Press g to start a GUI session and ctrl-c to quit.
専用のソフトウェアをインストールしないで済むのが便利な点でしょう。
Serveo: expose local servers to the internet using SSH
Pagekite
Pagekiteはベース部分がオープンソースであるというのが特徴です。そのため、自分でサービスを立ち上げようと思えば、実現できます。例えば自社専用のローカルトンネルサービスが利用できます。SSHを使っているとは言え、悪意を持ったユーザの流入が怖いという企業は多いでしょう。そうした時に自社サーバであれば安心して利用できます。
Pagekite - The fast, reliable localhost tunneling solution
FORWARD
FORWARDはWebブラウザ機能拡張を使う点が特徴です。Webブラウザで開発を進めながら、気になった時にすぐにリモートにいる人たちにローカルコンピュータを見てもらうことができます。
Share a Link to localhost — Forward
Netlify Dev
静的サイトのホスティングとして有名なNetlifyがLive機能を実装しました。netlify.liveというドメインでローカルコンピュータ上のサービス(対象はNetlifyにデプロイしようとしているプロダクトになるでしょう)を公開できます。開発し、そのまますぐにデプロイもできるようになります。
まとめ
Monacaを使っている場合、ローカルコンピュータ上でさくさくとアプリ開発を行えます。その画面を誰かに見てもらいたいと思った時に、LAN内であればMonacaプレビューも使えますが、リモートではそうはいきません。そんな時に今回紹介したサービスを使って、スマートフォンからアクセスしてもらえばとても簡単に確認してもらえます。アプリ開発を高速に行っていく上でも見逃せないサービスです。