モバイルアプリケーションとは

モバイルアプリケーションとは、スマートフォンやタブレットなどのモバイルデバイス専用に開発されたソフトウェアアプリケーションのことです。モバイルアプリと言うと、21世紀のWebベースのスマートフォン用のものを思い浮かべる人が多いでしょう。しかし、その歴史は1980年代まで遡ります。

  • 1984年、Psion Organiserが発売されました。この「世界初の実用ポケットコンピュータ」には計算機や時計などのアプリが搭載されていました。
  • 1994年には、IBMが「Simon」を発表しました。このPDA(Personal Digital Assistant)はFAXとメールの送受信を行うことができました。また、アドレス帳、カレンダー、スケジュール帳などのアプリケーションも搭載されていました。多くの人がこれを世界初のスマートフォンだと考えています。
  • 2002年、Blackberryがスマートフォンを発売しました。メール機能を搭載したこのデバイスは、社外で活動するビジネスパーソンにとって「必携」のアイテムになりました。
  • 2007年には、AppleがiPhoneを発売しました。その翌年には、App Storeが誕生しました。2007年には、AppleがiPhoneを発売しました。App Storeは好評を博し、最初の72時間でアプリのダウンロード回数が1,000万回を超えました。Google Playストアが登場したのはそれから数か月後のことです(当初はAndroid Marketというブランド名でした)。これが、私たちが今日知るモバイルアプリ時代の幕開けです。

これまでに開発されたモバイルアプリは900万個以上にのぼります。2020年のモバイルアプリの総ダウンロード回数は2,180億回に達しました。最もよく利用されたカテゴリは、チャットアプリ(モバイルユーザーの90.7%がダウンロード)とソーシャルメディアアプリ(同88.4%)でした。ほかにも、モバイルコマース(同69.4%)、エンターテイメント/ビデオ(同67.2%)、地図(同61.8%)などのモバイルアプリが上位にランクインしました。音楽(同52.9%)やゲーム(同50%)も人気があります

ビジネスアプリのタイプ

モバイルアプリケーション開発を検討する場合、アプリには主に3つのタイプがあることを知っておくとよいでしょう。

  • ネイティブアプリ
  • プログレッシブWebアプリ
  • ハイブリッドアプリ

それぞれが異なるユーザーエクスペリエンスとユーザーインターフェイスを提供します。

ネイティブアプリケーション

ネイティブアプリは、特定のプラットフォームやデバイス向けに作成されたアプリです(AppleのiOSとGoogleのAndroidでモバイルデバイスの99%を占めます)。そのため、ネイティブアプリはデバイス固有のハードウェアやソフトウェア(カメラなど)を利用することができます。通常、こうしたアプリは高性能で、モバイルユーザーにリッチなエクスペリエンスを提供します。

ただし、ユーザーはストアからアプリをダウンロードする必要があります。このことが導入の障壁となることも少なくありません。また、定義からもわかるとおり、ネイティブアプリはクロスプラットフォームではありません。開発プロセスがプラットフォームごとに異なります。たとえば、 iOSアプリではObjective-CまたはSwift、AndroidアプリではJavaといったモバイルプラットフォーム固有のコーディング言語を使用して記述されます。このことが、モバイルソフトウェア開発の複雑さ、そして専門開発者の不足や報酬高騰とも相まって、開発の障壁となっています。

プログレッシブWebアプリケーション

Gartnerの定義では、モバイルWebアプリケーションはWebブラウザさえあれば動作します。したがって、ネイティブアプリと異なり、プログレッシブWebアプリ(PWA)どのモバイルプラットフォームでも動作します。PWAはネイティブアプリと同様に、オフライン機能、プッシュ通知送信、カメラやGPSなどデバイスハードウェアへのアクセスといった機能を備えています。モバイルデバイスでもデスクトップデバイスでも、ネイティブデバイスに引けを取らないユーザーエクスペリエンスを提供できます。また、ダウンロードやアップデートの手間がかからず、接続状態の悪い環境でも十分動作するという点で大きなメリットがあります。

そのうえ、エンドユーザーにとって、PWAはモバイルデバイスで利用しやすく(アプリストアが不要)、軽量です。開発者からすると、ネイティブアプリよりもすばやく変更することができ、保守も簡単です。さらに、ネイティブアプリと異なり、コードベース1つですべてのデバイスに対応できます。検索エンジンでの検索も可能で、軽量です。

ハイブリッドアプリケーション

名前が示すとおり、ハイブリッドアプリはネイティブアプリとWebアプリの要素を兼ね備えています。ハイブリッドアプリは、ネイティブアプリのシェル(コンテナ)の中に格納されたWebアプリのようなものです。ネイティブアプリと同様、アプリストアからダウンロードする必要があります。モバイルデバイスにインストールすると、シェルは埋め込みブラウザを使用してネイティブプラットフォームの機能にアクセスします。ハイブリッドアプリにもメリットと制約があります。

まず、Webアプリと同じくネイティブアプリよりも開発が簡単です。プラットフォームごとに書き直す必要もありません。そのため、ハイブリッドアプリの作成に必要な開発スキルはごく簡単に低コストで確保することができます。世界的に開発者が不足している現状を考えると、これが大きな利点となるかもしれません。ハイブリッドアプリの重要なメリットは、一度アプリストアへの登録が承認されるとその後の承認が不要になる点です。これは、アップグレードの際にネイティブコードが変更されないことが前提になっています。

しかし、ハイブリッドアプリではネイティブアプリのようにリッチなユーザーエクスペリエンスは提供できません。また、モバイルプラットフォームの機能をすべて利用できるわけでもありません。埋め込みブラウザの速度が足かせとなり、ネイティブアプリよりも実行が低速になってしまいます。さらに、アプリストアでアプリをダウンロードする必要があるため、導入を避けるユーザーもいます。

モバイルアプリの配布

ハイブリッドアプリとネイティブアプリは、モバイルアプリの作成後、アプリストアへの登録承認を受ける必要があります。当然ながら、すべてのアプリが承認されるわけではありません。たとえば、Appleは2020年に100万個近くのアプリケーションを却下したそうです。

アプリストアの主流となっているのが、Google PlayとAppleのApp Storeです。Amazon(Kindleデバイス用)とSamsungのアプリストアもありますが、これらで提供されているアプリはごくわずかです。

アプリストアへの登録が承認されたら、次はプロモーションを行います。アプリストアでアプリがすぐ見つかるようにする必要があるのです。ただし、ブログやソーシャルメディアで宣伝するという方法もあります。

OutSystemsでのモバイルアプリ構築

OutSystemsは、Web/モバイルアプリを迅速かつ最適に、将来を見据えて開発できるモダンローコードアプリケーション開発プラットフォームです。モバイル向けのOutSystemsでできることは次のとおりです。

  • モバイルアプリの構築: モバイルアプリは、ユーザーが自らの端末にインストールできるアプリケーションです。デバイスのセンサーにアクセスでき、オフラインでの実行も可能で、ネイティブ感覚のUXを得られるよう設計されています。

  • レスポンシブWebアプリの構築: レスポンシブWebアプリは、ユーザーがモバイルブラウザからインストールなしでアクセスできるアプリケーションです。Webレスポンシブ技術を使用して、各種デバイスやブラウザに自動的に対応できるよう設計されています。

  • モバイルバックエンドのみの構築: カスタム構築されたネイティブモバイルアプリのバックエンドとしてOutSystemsを使用します。XCode、Android Studio、Visual Studioなどの従来型ツールと、それらに対応するネイティブ言語を使用します。

OutSystemsを実際に操作してみたい方は、サインアップして無償版をお試しください(費用は一切かかりません)。