iOS/Android/Windows8に業務アプリを配布する方法について調べた

スマートフォンやタブレット向けの業務アプリを開発することが一般的になってきました。

一般向けのアプリなら、AppStore、Google Play、Windows Storeといった、各プラットフォーム向けに準備されている公式のマーケットに登録すれば配布できます。むしろ、そうしたマーケットが準備されていることで、個人や小規模企業の開発したアプリが世界市場で勝負できるわけです。

ただ、企業向けの業務アプリとなると、そうしたマーケットに登録して一般に公開するというわけにはいきません。では、どうすれば良いのでしょうか?iOS、Android、Windows8(Modern UIアプリ)について、調べてみました。

iOSではAdHocかiOS Developer Enterprise Program

iPhoneとiPadに搭載されているiOS向けのアプリを公開するには、一般的にはApple公式のマーケットであるAppStoreを使います。というか、これ以外の方法はありません。Appleですから。

ただ、企業向けの場合は、AdHocとiOS Developer Enterprise Programの2つの方法が準備されています。

AdHocは、1つのDeveloper Programの登録ごとに100台のiOSデバイスを登録し、そのデバイスに対してWebからのダウンロード、iTunesの使用、iPhone構成ユーティリティを使用の3つの方法でアプリをインストールできます。
Appleを介す必要が一切ないのでとても簡単なのですが、100台までというのがネックになるでしょうか。

<参考記事>

iOS Developer Enterprise Programは、あらかじめAppleに対してEnterprise Programの登録をしておくことによって、AppStoreを介さずに台数無制限でアプリの配布ができます。
Enterprise Programに登録するには、世界標準の企業識別コードであるDUNS番号が必要になります。また、年間24,800円の費用がかかります。

<参考記事>

Androidでは野良アプリか・・・

Androidは、その自由さが信条というか、アプリの配布もおおらかです。
各Androidデバイスで、 設定>セキュリティ>提供元不明のアプリ をONにすると、あとはWebサイトからダウンロードだろうが、メール添付だろうが、microSDカードでの配布だろうが、どんな方法でもapkファイルをインストール出来るようになります。いわゆる野良アプリと言われている方法ですね。

Android Security 01

会社から配布するようなAndroidデバイスでは、その設定ではあんまり・・・というのであれば、セキュアに解決できるソリューションもあるようです。

あとは、Androidでは独自マーケットを構築できるので、業務アプリの配布専用のマーケットを自社で立ち上げてしまうという荒技もあるかもしれません。

Windows8

Windows8では、いままでのWindowsと互換性のあるデスクトップアプリ(Windows8 RTでは動作しない)と、Windows8でしか動作しないModern UIアプリ(RTでも動作する、旧Metro UI)の2種類のアプリがあります。
ここでは、Modern UIアプリについて、説明します。

Modern UIアプリは、デスクトップアプリと違い、原則としてWindows Store経由でしかインストールできません。Windows Storeが、AppStoreやGoogle Playと同じ位置づけになるわけです。

企業向けの業務アプリでは、サイドローディングという方法が準備されており、Windows Storeを介さないアプリの配布が可能となっています。

社内専用の Windows ストア アプリを開発し、サイドローディングと呼ばれるプロセスによって管理下にある Windows デバイスに追加することもできます。サイドローディングが行われたアプリは、Windows ストアを通じて認定を受けたりインストールしたりする必要がありません。

Windows ストアによって署名されていないアプリは、サイドローディング対応のデバイスでのみインストールできます。Windows(R) 8 Enterprise または Windows Server(R) 2012 では、コンピューターをドメインに参加させることによってサイドローディングを有効にすることができます。ドメインに参加していない Windows 8 Enterprise コンピューターや Windows(R) 8 Pro コンピューターでサイドローディングを有効にするには、サイドローディング プロダクト キーのライセンス認証を行う必要があります。Windows(R) RT デバイスでサイドローディングを有効にするには、サイドローディング プロダクト キーのライセンス認証を行う必要があります。サイドローディング プロダクト キーのライセンス認証については詳しくは、マイクロソフト ボリューム ライセンスに関するページをご覧ください。

まとめ

3大プラットフォームの対応状況を見てきました。
Androidの簡便さはセキュリティの危惧はあるものの魅力的には見えます。iOSはいかにもAppleだなという対応ですが、AdHocで100台までインストールできるのは管理の煩雑さはあるものの手軽です。Windowsは結局ActiveDirectoryにデバイスを登録させるという方法なので、やはりMicrosoftっぽい解決策だと思います。

ところで、スマートフォンやタブレット向けの業務アプリの開発方法は、ネイティブアプリだけに限られているわけではありません。最も有力なのはHTML5のWebアプリとして開発する方法です。Webアプリならマーケットは関係ないし、認証は独自でかければ良いでしょう。複数のプラットフォームを跨いで使用することも実現出来ます。
(複数のプラットフォームに対応することを諦めれば、Windows8のModern UIアプリでは、JavaScriptからネイティブAPIを叩くことも出来るので、魅力的です。)

また、業務アプリも一般のマーケットを使って配布し、アプリ内部で認証をかけることによって、企業外からは使わせないという方法もなくはありません。

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。画像認識モデルを活用したアプリや、生成AIを業務に組み込むためのサービス「Gen2Go」の開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。