モバイル アプリ開発とは、1 台以上のモバイル デバイス(パーソナル デジタル アシスタント(PDA)、エンタープライズ デジタル アシスタント(EDA)、携帯電話など )向けにモバイル アプリを開発する行為またはプロセスです。[1]このようなソフトウェア アプリケーションは、多数のハードウェア制約を考慮して、モバイル デバイスで実行するように特別に設計されています。一般的な制約には、CPU アーキテクチャと速度、使用可能なメモリ (RAM)、限られたデータ ストレージ容量、ディスプレイ (テクノロジ、サイズ、寸法、解像度) と入力方法 (ボタン、キーボード、タッチ スクリーン (スタイラスあり、なし)) の大幅なバリエーションなどがあります。[2]これらのアプリケーション (または「アプリ」) は、製造時に電話にプリインストールすることも、サーバー側またはクライアント側の処理 (JavaScript など) を使用して Web アプリケーションとして配信し、 Web ブラウザー内で「アプリケーションのような」エクスペリエンスを提供することもできます。[3]
モバイルアプリ開発部門はヨーロッパで著しい成長を遂げています。2017年のProgressive Policy Instituteのレポートによると、 2017年1月までにEU全体のアプリ経済における雇用は189万件に達し、前年比15%の増加を記録しました。これらの雇用には、モバイルアプリ開発者やアプリ経済を支えるその他の職種が含まれます。[4]
概要
モバイル デバイス向けアプリケーションの開発とその一貫性を容易にするために、さまざまなアプローチが採用されてきました。
製品を出荷するほとんどの企業 (Apple、iPod/iPhone/iPad など) は、公式のソフトウェア開発キット (SDK) を提供しています。また、何らかのテストや品質保証 (QA) を提供することも選択できます。SDK やその他のツールの提供と引き換えに、潜在的な開発者は機密情報の共有を制限する何らかの秘密保持契約 (NDA) に署名する必要がある場合があります。
開発プロセスの一部として、モバイルユーザー インターフェイス(UI) の設計は、モバイル アプリの作成に不可欠なステップです。モバイル UI デザイナーは、制約、コンテキスト、画面スペース、入力方法、モビリティを設計のアウトラインとして考慮します。モバイル UI 設計の制約には、ユーザーの注意力が持続する時間が限られていることや、ユーザーの手に合わせたモバイル デバイスの画面サイズなどのフォーム ファクターが含まれます。モバイル UI コンテキストには、モバイル アプリ内でのユーザー操作から観察できる、デバイスが使用されている場所や時間などのユーザー アクティビティからのシグナル キューが含まれます。このようなコンテキスト ヒントを使用して、予定やアクティビティをスケジュールするときに自動提案を提供したり、ユーザー向けのさまざまなサービスのリストをフィルター処理したりできます。
多くの場合、デバイスとのやり取りの中心はユーザーであり、インターフェースにはハードウェアとソフトウェアの両方のコンポーネントが含まれます。ユーザー入力により、ユーザーはシステムを操作でき、デバイスの出力により、システムはユーザーの操作の効果を示すことができます。
全体的に、モバイル UI デザインの目標は、主に理解しやすくユーザーフレンドリーなインターフェースを実現することです。機能は、モバイル エンタープライズ アプリケーション プラットフォームまたは統合開発環境(IDE) によってサポートされます。
モバイル アプリケーションの開発者は、モバイル ハードウェアの熾烈な競争と各プラットフォーム内の変更により、画面サイズ、ハードウェア仕様、構成が異なるさまざまなデバイスも考慮する必要があります。
現在、モバイル アプリは通常、公式のオンライン アウトレットまたはマーケットプレイス (例: Apple - The App Store、Google - Google Play) を通じて配布されており、開発者がアプリを申請して承認を受け、それらのマーケットプレイスに組み入れられる正式なプロセスがあります。ただし、歴史的には、必ずしもそうではありませんでした。
モバイル UI (フロントエンド) は、モバイル バックエンドを利用してエンタープライズ システムへのアクセスをサポートします。モバイル バックエンドは、データ ルーティング、セキュリティ、認証、承認、オフライン作業、およびサービス オーケストレーションを容易にします。この機能は、モバイル アプリ サーバー、モバイル バックエンド アズ ア サービス (MBaaS)、およびサービス指向アーキテクチャ(SOA) インフラストラクチャ を含むミドルウェアコンポーネントの組み合わせによってサポートされます。
プラットフォーム
モバイル アプリの開発、展開、管理に必要なソフトウェア開発パッケージは、開発者が 1 つ以上のターゲット プラットフォーム向けにアプリケーションを作成、テスト、展開できるようにする多くのコンポーネントとツールで構成されています。
フロントエンド開発ツール
フロントエンド開発ツールは、ユーザー インターフェイスとユーザー エクスペリエンス (UI-UX) に重点を置いており、次の機能を提供します。
- UIデザインツール
- デバイス機能にアクセスするためのSDK
- クロスプラットフォームの対応/サポート
注目すべきツールを以下にリストします。
ファーストパーティ
ファーストパーティ ツールには、特定のハードウェア プラットフォームの設計を担当する企業 (Apple、Google など) によって、またはその企業の代理で公開された公式SDKや、そのハードウェア用のモバイル アプリを開発する目的で公式にサポートされているサードパーティ ソフトウェアが含まれます。
セカンドパーティ
第三者
バックエンドサーバー
バックエンド ツールは、フロントエンド ツールが終了したところから処理を開始し、集中管理および制御される再利用可能な一連のサービスを提供します。これらのサービスには、次の機能があります。
- バックエンドシステムとの統合
- ユーザー認証-承認
- データサービス
- 再利用可能なビジネスロジック
利用可能なツールは以下のとおりです。
セキュリティアドオンレイヤー
BYOD(個人所有デバイスの持ち込み)が多くの企業で標準となりつつある中、IT部門は既存のアプリ、電話、プラットフォームコンポーネントの上に重ねる暫定的な戦術的ソリューションを必要とすることがよくあります。機能には以下が含まれます。
- セキュリティのためのアプリラッピング
- データ暗号化
- クライアントのアクション
- レポートと統計
システムソフトウェア
モバイル アプリを開発するための機能的なプラットフォームを実現するには、多くのシステム レベルのコンポーネントが必要です。
開発プラットフォームを選択するための基準には、通常、対象のモバイル プラットフォーム、既存のインフラストラクチャ、開発スキルが含まれます。クロスプラットフォーム開発で複数のプラットフォームをターゲットにする場合、ツールがユーザー エクスペリエンスに与える影響も考慮することが重要です。モバイル アプリの調査では、アプリケーションのパフォーマンスとユーザー満足度の間に強い相関関係があることが示されているため、パフォーマンスも重要な基準の 1 つです。パフォーマンスやその他の基準に加えて、テクノロジの可用性とプロジェクトの要件によって、ネイティブ環境とクロスプラットフォーム環境の間で開発が左右されることがあります。ネイティブ環境とクロスプラットフォーム環境の選択を支援するために、いくつかのガイドラインとベンチマークが公開されています。通常、クロスプラットフォーム環境は複数のプラットフォームで再利用でき、ネイティブ コンテナーを活用しながら、ユーザー インターフェイスに HTML、CSS、JavaScript を使用します。対照的に、ネイティブ環境は、それぞれの環境に対して 1 つのプラットフォームを対象としています。たとえば、Android 開発は Android Developer Tools (ADT) プラグインを使用して Eclipse IDE で行われ、Apple iOS 開発は Objective-C や Swift を使用した Xcode IDE を使用して行われ、Windows と BlackBerry にはそれぞれ独自の開発環境があります。
モバイルアプリのテスト
モバイル アプリケーションは、まずエミュレータを使用して開発環境内でテストされ、その後、フィールド テストにかけられます。エミュレータを使用すると、開発者が物理的にアクセスできない携帯電話でアプリケーションをテストするための安価な方法が得られます。以下は、最も一般的なモバイル オペレーティング システムでアプリケーションをテストするために使用されるツールの例です。
- Google Android エミュレーター-完全で複雑なAndroid SDK をダウンロードしてインストールすることなく、Windows PC 上でスタンドアロン アプリとして実行できるようにパッチが適用されたAndroidエミュレーターです。インストールして、Android 対応アプリをテストできます。
- 公式 Android SDK エミュレーター- 一般的なモバイル デバイスのハードウェアとソフトウェアのすべての機能を模倣するモバイル デバイス エミュレーター (呼び出しなし)。
- TestiPhone - iPhone Web アプリケーションを迅速にテストするためのWeb ブラウザーベースのシミュレーター。このツールは、 Internet Explorer 7、Firefox 2、Safari 3 を使用してテストされ、動作します。
- iPhoney -ピクセル精度の Web ブラウジング環境を提供し、Safariを搭載しています。iPhone用のWeb サイトを開発する際に使用できます。iPhone シミュレーターではなく、 iPhoneで使用する 320 x 480 (または 480 x 320) の Web サイトを作成したい Web 開発者向けに設計されています。iPhoney はOS X 10.4.7 以降でのみ動作します。
- BlackBerry シミュレーター- 実際の BlackBerry 製品の機能をエミュレートし、デバイス ソフトウェア、画面、キーボード、トラックホイールがアプリケーションでどのように動作するかをテストできる、さまざまな公式 BlackBerry シミュレーターが用意されています。
- Windows UI オートメーション- Microsoft UI オートメーション テクノロジを使用するアプリケーションをテストするには、Windows オートメーション API 3.0 が必要です。これは、Windows 7、Windows Server 2008 R2、およびそれ以降のバージョンの Windows にプレインストールされています。その他のオペレーティング システムでは、Windows Update を使用してインストールするか、Microsoft Web サイトからダウンロードできます。
- MobiOne Developer - Windows用のモバイルWeb 統合開発環境(IDE)で、開発者がiPhone、BlackBerry、Android、Palm PreなどのデバイスにモバイルWebアプリケーションをコーディング、テスト、デバッグ、パッケージ化、展開するのを支援します。MobiOne Developerは2014年末に正式にサポート終了が宣言されました。[8]
ツールには以下が含まれます
- eggPlant : すべてのオペレーティング システムとデバイスにわたるモバイル アプリ用の GUI ベースの自動テスト ツール。
- Ranorex : モバイル、Web、デスクトップ アプリ向けのテスト自動化ツール。
- Testdroid : モバイルおよび Web アプリをテストするための実際のモバイル デバイスとテスト自動化ツール。
成功するモバイルアプリを作成するための設計原則
2020年のアプリケーション業界レポートによると、モバイルアプリユーザーの46%が、パフォーマンスが低いためにアプリの使用を中止したりアンインストールしたりしたと述べています。[9]デザインの専門家は、成功する効果的なモバイルアプリを作成するために、次のデザイン原則を提唱しています。
乱雑さのない画面:操作を素早くシンプルに保ち、ユーザーが複数の機能やタスクに圧倒されることなく、特定のタスクに集中できるようにします。デザインの専門家は、1画面につき1つのタスクを強く推奨しており、乱雑さを最小限に抑えるために、長いフォームをページに分割し、新しいタスクやフィールドを段階的に表示することを推奨しています。[10]
認知負荷を軽減:アプリ内でのユーザーの行動をシームレスにし、アプリ内の自然な流れを維持します。デザインの専門家は、認知負荷を軽減するために、オートコンプリート、スペルチェック、予測テキストアシスタンス、ドロップダウンメニューを組み込むことを提案しています。また、デザインの専門家は、ユーザーが一時的にアプリを離れて再度ログインしたときにアプリの状態が保持され、ユーザーが中断したところから行動を再開できることを推奨しています。[10] [11]
シンプルなナビゲーション:約11%の人が、複雑なインターフェースが原因でアプリをアンインストールしています。[9]デザインの専門家は、ユーザーが頻繁に使用する画面や優先度の高い画面に瞬時に移動できるように、アプリ内でナビゲーションバーを目に見える形で表示することが最も重要であると述べています。彼らは、ユーザーがメニューを開いたり、設定を変更したり、画面を戻ったり、ページ内で検索したりするなどのアクションを簡単に実行できるように、デバイスのオペレーティングシステムに固有の認識可能なアイコンを使用することを提案しています。彼らによると、ユーザーがアプリをナビゲートする際に混乱してはならないため、整然とした明確で論理的なナビゲーションフローがアプリでのエンゲージメントと発見を促進します。[10] [11]
通知:頻繁なプッシュ通知が原因で、約 19% のユーザーがアプリをアンインストールすると報告されています。[9]デザインの専門家によると、通知は慎重に計画して送信する必要があります。専門家は、通知はユーザーのタイムゾーンで最も都合の良い時間に送信され、メッセージはパーソナライズされてユーザーにとって大きな価値をもたらす必要があると述べています。[10]
スピードの外観:約 19% の人がハングアップの問題でアプリをアンインストールしています。[9]デザインの専門家は、ユーザーがコンテンツを待たなくて済むように、アプリが高速で応答性が高いことを確認することが重要であると述べています。開発者はコンテンツをより速く配信するか、進行状況を認識させる必要があると述べています。専門家が提案するアプローチには、アプリのレイアウトをグレー表示したコンテンツを表示するスケルトン スクリーンの使用、進行状況バーまたは読み込みスピナー、バックグラウンドで実行されているタスクを使用してユーザーが要求したときにコンテンツをすばやく配信、またはページの読み込みを待っている間にユーザーにタスクやコンテンツを提供するなどがあります。[10]
ユーザビリティ:モバイルユーザーの約85%は片手で携帯電話を使用しているため[9]、デザインの専門家は、トップレベルのメニュー、頻繁に使用するコントロール、一般的なアクション項目がユーザーの親指の届く範囲にあることが重要であると述べています。また、読みやすさの重要性も強調しており、ユーザーが通常の読書距離でズームインせずに読めるように、テキストサイズは少なくとも11ポイントのフォントにすることを推奨しています。[10]アプリ画面のヘッダーとタイトルは、iOSの場合はSan Francisco 17pt 、Android OSの場合はRoboto 16spにすることをお勧めします。[11]また、専門家は、テキストと背景色のコントラスト比は最低4.5:1であるべきだと述べています。 [10]デザインの専門家は、障害者を含むすべてのユーザーがアプリにアクセスできるようにすることを開発者に強く推奨しているため、モバイルアプリでは音声ナビゲーション、スクリーンリーダーの互換性、ユーザーインターフェイスの適応性などの機能を提案しています。 [11]
特許
新しい携帯電話アプリに関する特許出願が多数保留中である。そのほとんどは、ビジネス方法、データベース管理、データ転送、オペレータインターフェースなどの技術分野のものである。[12]
参照
- モバイルアプリ配信プラットフォーム一覧
- 怠惰なユーザーモデル
- モバイルアプリケーション管理
- モバイルバックエンドサービス
- モバイルビジネスインテリジェンス
- モバイルコンピューティング
- モバイルデバイスのテスト
- モバイルエンタープライズアプリケーションプラットフォーム
- モバイルゲーム
- モバイルインタラクション
- モバイルマーケティング
- モバイルウェブ開発
- モバイルワークフロー
- マルチチャネルアプリ開発
- MoSoSo、モバイルソーシャルソフトウェア
- デバイス上のポータル
- WURFLとWALL
- JQueryモバイル
- HTML5
参考文献
- ^ 「モバイルアプリケーション開発入門 | IBM」www.ibm.com 。 2023年6月24日閲覧。
- ^ 「モバイルアプリの設計時に考慮すべき重要な側面 | GlobalLogic UK」GlobalLogic 2016年10月3日2023年6月24日閲覧。
- ^ 「モバイルアプリ(モバイルアプリケーション)とは何ですか? – TechTargetの定義」。WhatIs.com 。 2023年6月24日閲覧。
- ^ アトキンソン、ロバート・D. (2017年10月)。「ヨーロッパのアプリ経済:主要国と都市、2017年」(PDF)。プログレッシブ・ポリシー・インスティテュート。2024年10月3日閲覧。
- ^ 「デバイス上でアプリを起動する」。Apple Developer 。 2016年4月30日閲覧。
- ^ Linev, Roman (2016年11月14日). 「Microsoft、Xamarin StudioをVisual Studio for Macとしてブランド変更」. Winaero . 2023年3月5日閲覧。
- ^ Foley, Mary Jo (2017 年 5 月 10 日). 「Microsoft が Visual Studio for Mac を一般提供開始」. ZDNet . 2023 年4 月 2 日閲覧。Microsoft
は、Mac 向け Xamarin Studio のブランド名を変更したバージョンである Visual Studio for Mac を一般提供開始します。
- ^ 「MobiOne Developer 1.0 M4: App Store 対応のモバイル Web アプリケーションを作成し、Windows で実際のデバイスの動作を体験」。PRWeb。2009年 10 月 8 日時点のオリジナルよりアーカイブ。2021年5 月 31 日閲覧。
- ^ abcde 「アプリの統計、使用状況、ダウンロード数(2020年レポート)」。SaaS Scout(旧SoftwareFindr)。2020年1月6日。 2024年2月20日閲覧。
- ^ abcdefg 「15 のモバイル アプリ設計のベスト プラクティス」。ThoughtSpot。2024年2 月 20 日閲覧。
- ^ abcd Cordini, Marcelo (2021年1月6日). 「最高のモバイルアプリデザイン:例」. Qubika . 2024年2月20日閲覧。
- ^ Nowotarski 他「特許クラスを選択的にターゲットにして許可率を上げる」IPwatchdog、2011 年 4 月 6 日
