Summary
各種センサーや監視カメラなどと連携してデータのやりとりのハブとなるLINE風インターフェースのスマホアプリを開発しました。
投稿状況や管理をPCでも行えること、投稿情報を地図でも確認できること、連携するデバイスやAPIに制限はないことが特徴のtoB向けシステムです。
Technology
Ionic Framework
アプリはIonicを使って全て作られています。IonicはCordovaをベースに、独自のUI、Angularを内包しており、Ionic NativeというプラグインをAngularで使いやすく提供する機能などがあります。
Firebase Cloud Messaging (FCM)
通知は全てFCMで行っており、チャットルーム内の更新も、FCMでの配信をトリガーに最新のデータを取得しています。
FCMでは、以前はiOSやAndroidを別々に用意しなければならなかった通知周りの機能・インフラを非常に定額でラッピングしてくれているサービス。Androidが通知の仕組みとして使っていたGoogle Cloud Messagingが置き換わって現在はFCMになっています。
全てFCMが管理してくれているので、使う側としてはiOSとAndroidの差異を意識することなく使える。Ionic、CordovaのようなOSをあまり意識することのないモバイルアプリ制作に、非常にマッチしています。
Google Cloud Datastore
DBはGAEと相性の良いGCDを使っており、こちらもMySQLのインスタンス(Cloud SQL)を建てることに比べれば、非常に低額で運用することができ、性能もCloud SQLのスタンダードインスタンスに比べても何の遜色もない印象です。
Mapbox
アプリ側での地図はOSMをベースにしたMapboxを利用しています。
OSMの弱点でもある、地図のデザイン・みやすさ、APIの使いやすさを全て吸収してくれています。