モバイルアプリ開発

モバイルアプリ開発とは、 1台以上のモバイルデバイス PDA、EDA、携帯電話など)向けにモバイルアプリを開発する行為またはプロセスです[1]このようなソフトウェアアプリケーションは、多くのハードウェア制約を考慮した上で、モバイルデバイス上で動作するように特別に設計されています。一般的な制約としては、中央処理装置(CPU)のアーキテクチャと速度、利用可能なランダムアクセスメモリ(RAM)、限られたデータストレージ容量、ディスプレイ(技術、サイズ、寸法、解像度)や入力方法(ボタン、キーボード、タッチスクリーン(スタイラス付きまたはなし))の大きなばらつきなどが挙げられます。[2]これらのアプリケーション(または「アプリ」)は、製造時に携帯電話にプリインストールされるか、サーバー側またはクライアント側の処理(JavaScriptなど)を使用してWebアプリケーションとして配信され、 Webブラウザ内で「アプリケーションのような」エクスペリエンスを提供します[3]

モバイルアプリ開発分野はヨーロッパで著しい成長を遂げています。プログレッシブ・ポリシー・インスティテュートの2017年の報告書によると、 2017年1月時点で欧州連合(EU)全体のアプリ経済における雇用数は189万件と推定されており、前年比15%増加しています。これらの雇用には、モバイルアプリ開発者やアプリ経済を支えるその他の職種が含まれます。[4]

概要

モバイル デバイス向けのアプリケーションの開発を容易にし、一貫性を保つために、さまざまなアプローチが採用されてきました。

製品を出荷する企業(例:Apple、iPod/iPhone/iPad)のほとんどは、公式のソフトウェア開発キット(SDK)を提供しています。また、何らかの形でソフトウェアテスト品質保証(QA)を提供する場合もあります。SDKやその他のツールの提供と引き換えに、開発者候補者は機密情報の共有を制限する秘密保持契約(NDA)に署名する必要がある場合があります。

開発プロセスの一環として、モバイルユーザーインターフェース(UI)設計は、モバイルアプリ開発における重要なステップです。モバイルUIデザイナーは、制約、コンテキスト、画面スペース、入力方法、モビリティなどを設計の枠組みとして考慮します。モバイルUI設計における制約には、ユーザーの集中力の持続時間や、ユーザーの手の大きさに合わせたモバイルデバイスの画面サイズといったフォームファクターが含まれます。モバイルUIのコンテキストには、モバイルアプリ内でのユーザーインタラクションから観察できる、デバイスの使用場所や使用時間といったユーザーアクティビティからのシグナルキューが含まれます。このようなコンテキストの手がかりは、予定やアクティビティのスケジュール設定時に自動提案を提供したり、ユーザー向けの様々なサービスリストをフィルタリングしたりするために使用できます。

デバイスとのインタラクションの中心となるのは多くの場合ユーザーであり、インターフェースはハードウェアとソフトウェアの両方のコンポーネントで構成されます。ユーザー入力によってユーザーはシステムを操作でき、デバイスの出力によってシステムはユーザーの操作の効果を示すことができます。

モバイルUIデザインの目標は、主に分かりやすくユーザーフレンドリーなインターフェースを実現することです。これらの機能は、モバイルエンタープライズアプリケーションプラットフォームまたは統合開発環境(IDE)によってサポートされます。

モバイル アプリケーションの開発者は、モバイル ハードウェアの熾烈な競争と各プラットフォーム内の変更により、画面サイズ、ハードウェア仕様、構成が異なるさまざまなデバイスも考慮する必要があります。

今日では、モバイルアプリは通常、公式のオンラインストアまたはマーケットプレイス(例:Apple:App Store、Google:Google Play)を通じて配布されており、開発者がアプリを申請して承認を得てこれらのマーケットプレイスに掲載されるまでの正式なプロセスが存在します。しかし、歴史的には必ずしもそうではありませんでした。

モバイルUI(フロントエンド)は、企業システムへのアクセスをサポートするためにモバイルバックエンドに依存しています。モバイルバックエンドは、データのルーティング、セキュリティ、認証、認可、オフライン作業、そしてサービスオーケストレーションを容易にします。この機能は、モバイルアプリサーバー、モバイルバックエンド・アズ・ア・サービス(MBaaS)、サービス指向アーキテクチャ(SOA)インフラストラクチャなど、複数のミドルウェアコンポーネントの組み合わせによってサポートされています。

プラットフォーム

モバイル アプリの開発、展開、管理に必要なソフトウェア開発パッケージは、開発者が 1 つ以上のターゲット プラットフォーム向けにアプリケーションを作成、テスト、展開できるようにする多くのコンポーネントとツールで構成されています。

フロントエンド開発ツール

フロントエンド開発ツールは、ユーザー インターフェイスとユーザー エクスペリエンス (UI-UX) に重点を置いており、次の機能を提供します。

  • UIデザインツール
  • デバイス機能にアクセスするためのSDK
  • クロスプラットフォームの宿泊施設/サポート

注目すべきツールを以下にリストします。

ファーストパーティ

ファースト パーティ ツールには、特定のハードウェア プラットフォームの設計を担当する企業 (Apple、Google など) またはその代理企業が公開した公式SDKや、そのハードウェア用のモバイル アプリを開発する目的で公式にサポートされているサードパーティ ソフトウェアが含まれます。

プラットフォームプログラミング言語利用可能なデバッガーエミュレータが利用可能統合開発環境が利用可能クロスプラットフォーム展開インストーラーのパッケージオプション開発ツールのコスト
アンドロイドJavaですが、コードの一部はCC++

コトリン

Eclipseに統合されたデバッガ、スタンドアロンのデバッグモニターが利用可能はいEclipseIntelliJ IDEAAndroid Studio、Project Kenai、NetBeans 用 Android プラグインAndroidのみ、Dalvik VMのため、2009年3月apk無料、IntelliJ IDEAコミュニティエディション - 無料
ブラックベリージャワIDEに統合されたデバッガはいEclipse、BlackBerry JDERIM APIのため、BlackBerryのみalx、タラ無料
iOS SDKObjective-CSwiftXcode IDEに統合されたLLDBデバッガーiPhone SDK にバンドルされ、Xcode IDE に統合されていますエックスコードiPhoneiPadiPod TouchApp Store経由のみで利用可能。Apple Inc.による審査と承認が必要です。AppleのツールはMacでの開発に無料で利用できます。アプリケーションはシミュレーターまたはデバイス上で実行できます。一部の高度な機能には有料の開発者アカウントが必要です。[5]
iOS SDKオブジェクトパスカルXcode IDEに統合されたデバッガーDelphi XE2 Professional 以降に含まれていますエンバカデロ Delphi XE2iPhoneiPadiPod TouchApp Store経由のみで利用可能。Apple Inc.による審査と承認が必要です。開発には、WindowsのIDEに加えてIntelベースのMacが必要です。設計はWindowsで、コンパイルとデプロイはMacで行います。シミュレーターによるテストは無料ですが、デバイスへのインストールには開発者署名キーの料金が必要です。

第二当事者

プラットフォームプログラミング言語利用可能なデバッガーエミュレータが利用可能統合開発環境が利用可能クロスプラットフォーム展開インストーラーのパッケージオプション開発ツールのコスト
Java MEジャワはい無料エミュレータ、Sun Java Wireless Toolkit、mpowerplayerEclipse、LMA NetBeansモビリティパックはい、多くのVM実装にはデバイス固有のバグがあり、別々のビルドが必要になります。Jad / Jarパッケージ; Palm OS の PRC ファイル無料

第三者

プラットフォームプログラミング言語利用可能なデバッガーエミュレータが利用可能統合開発環境が利用可能クロスプラットフォーム展開インストーラーのパッケージオプション開発ツールのコスト
アクセルHTML5C#はいはいMicrosoft Visual Studio
(ロックインなし)
すべてのプラットフォーム、モバイルアプリはブラウザベースですモバイルウェブ商用ライセンスも利用可能
モバイルトゥゲザーXPath / XQuery、アクションツリービジュアルプログラミング言語はいはいWindows 専用の IDE のみAndroid、iOS、Windows、ブラウザ各フォーマットのネイティブディストリビューション無料
Android 用 App Inventorインターフェースデザイナーを備えたビジュアルブロックベースのプログラミング言語IDEに組み込まれたデバッグツールが限られているはいブロックプログラミング用の Java Web スタート プログラムに接続できる Web ベースのインターフェース デザイナーAndroidデバイスapk無料
アプリアクセラレーターJavaScriptはい、Titanium Studio で可能です。エミュレータはネイティブエミュレータを使用して利用可能EclipseベースのTitanium StudioAndroid、iPhone、BlackBerry、Tizen、モバイルウェブ各プラットフォームのネイティブ配信形式無料のオープンソースApache 2.0ライセンス、商用およびエンタープライズライセンスが利用可能
ベーシック4アンドロイドVisual Basicの類似構文はいエミュレータはネイティブエミュレータを使用して利用可能独自のIDEアンドロイド各プラットフォームのネイティブ配信形式商用ライセンスも利用可能
コードネームワンジャワはいはいEclipse、NetBeansAndroid、iPhone、BlackBerry、Windows Mobile、J2ME各プラットフォームのネイティブ配信形式オープンソース GPLv2 およびサブスクリプションベースのビルドサーバー
ソーラー2DルアはいはいエックスコードAndroid、iOS、ヌークカラー各プラットフォームのネイティブ展開MITライセンスで無料
ドラゴンRADビジュアルドラッグ&ドロップタイルはいサードパーティのエミュレータを使用する独自のIDEAndroid、BlackBerry、Windows MobileOTA展開無料および商用ライセンスあり
モバイルおよびスマートデバイス向けGeneXus知識表現宣言型プログラミング- 開発を容易にするモデリング、そして各プラットフォーム用のコードが自動的に生成されるGeneXus は、事前にテストされたコード ライブラリを利用し、コード生成後にユーザーがコードをデバッグする必要がなくなります。クラウドで公開し、デバイスでネイティブテスト、エミュレータは不要独自のIDEAndroidiOS(iPhone、iPad)、BlackBerry OS 、必要に応じてHTML5もサポート各プラットフォームのネイティブ配信形式とクラウドブラウザベース無料でお試しいただけます。商用ライセンスとエンタープライズライセンスもご利用いただけます。
IBM MobileFirst StudioHTML5CSS3JavaScript、ネイティブ SDK 言語 (ネイティブ Worklight API 付き)はい、モバイルブラウザシミュレーターまたはネイティブSDKデバッガーとの統合エミュレータはネイティブエミュレータまたはCordovaプラグイン付きブラウザシミュレータを使用して利用できます。Eclipseプラグイン、EclipseベースのスタンドアロンAndroidiOSBlackBerry 6、7、10、Windows Phone 7.5 および 8、Windows 8(デスクトップ、タブレット)、Adobe AIR、モバイル Web アプリ、デスクトップ ブラウザーの Web ページ各プラットフォームのネイティブ配信形式Eclipse Marketplaceから開発者版を無料で入手、デプロイメント用の商用ライセンスを提供
ラザロオブジェクトパスカルはい、Windows CEのActiveSync経由でIDEでデバッグできますプラットフォームのエミュレータを使用する統合されたGUIデザイナーとデバッガーを含むLazarus IDEコンパイル言語はWindows CE、Linux ベースのデバイスで利用可能、 Symbianポートは開発中各プラットフォームのネイティブ配信形式無料
ラムダネイティブスキームいいえいいえ、ただしローカルホストでビルドしてテストすることはできますEclipse(ソフトウェア)(オプション)すべてのネイティブバイナリ: AndroidiOSBlackBerry 10WindowsOS XLinuxOpenBSDOpenWrt各プラットフォームのネイティブ配信形式無料(BSDライセンス
ライブコードライブコードはい(IDEに統合)はい(iOSおよびAndroidエミュレーターを使用できます)はいiOS、Android、macOS、Windows、Linux、サーバー、HTML5。インストーラーパッケージ各プラットフォームのネイティブ配信形式無料のオープンソース版、商用版、エンタープライズ版が利用可能
マクロメディアフラッシュライトアクションスクリプトはいIDEにバンドルマクロメディア Flash MX2004/8、EclipseはいSIS-CAB 展開またはOTA -IR-Bluetooth SWF ファイル様々、無料だがMTASCに制限あり
マーマレードCC++はいはいVisual StudioXcodeすべてネイティブ: Android、BlackBerry、BREW、iOS (iPhone)、Maemo、Palm-webOS、Samsung bada、Symbian、Windows Mobile 6.x およびデスクトップ、OS X各プラットフォームのネイティブ配信形式商用ライセンスも利用可能
ミームIDEミームスクリプト問題ビューで検証が提供されますはい、Androidエミュレータを統合できますエクリプスRCPAndroidWindows Mobile各プラットフォームのネイティブ配信形式開発は無料
モナカHTML5CSSJavaScriptはいプレビューはクラウドIDEとローカルツールで利用可能クラウドベースの IDE、Visual Studio、サードパーティの IDE/エディターAndroid、iOS、Windows8.1、10各プラットフォームのネイティブ配信形式最大3つのプロジェクトまで無料。商用およびエンタープライズライセンスも利用可能
Android用モノC#はいはいVisual Studio 2005 と MonoDevelopアンドロイドプラットフォームのネイティブ配信形式
モノタッチC#はいはいVisual Studio 2005 と MonoDevelopiOSプラットフォームのネイティブ配信形式
モシンクCC++Lua、HTML5、CSS、JavaScriptはいはいEclipse、Visual Studio 2005以降、テキストエディタ付きMoBuildAndroid、iOS (iPhone)、Java ME、Moblin、Smartphone 2003、Symbian、Windows Mobile (Pocket PC)、Blackberry (試験的)SIS、CAB、JAD、JAR、APK、OTA展開無料、GPL 2.0、無料インディーサブスクリプション、商用サブスクリプションあり
ネットビーンズC++JavaはいはいJava開発ツールAndroid (モバイルおよびタブレット)、Nokia (Symbian、Seria 60 – 40 – 80) など無料
オープンプラグアクションスクリプトXMLはいはいAdobe Flash Builder用の OpenPlug ELIPS プラグインAndroid、iOS(iPad、iPhone、iPod Touch)、Symbian、Windows Mobile各プラットフォームのネイティブ配信形式無料および商用ライセンスあり
アウトシステムズOutSystems、CSSJavaScriptはいブラウザで直接テストOutSystemsサービススタジオAndroid、iOS、Windows Phone 7該当なし個人利用の場合は無料のコミュニティエディション、商用利用の場合はサブスクリプションライセンス
PhoneGapApache CordovaHTMLCSSJavaScriptはいはい、多くの機能をブラウザで直接テストできます。iOSとAndroidのネイティブエミュレーターを実行することも可能です。はい、 Ionic StudioAppery.ioのようなCordovaベースのツール用のIDEは数多く存在します。iPhone、Android、Tizen、Windows Phone、BlackBerry、Symbian、Palm、Bada各プラットフォームのネイティブ配信形式アパッチ2
Qt SDKC++QMLはいはいQt クリエイターAndroid (テクノロジー プレビュー)、iOS (テクノロジー プレビュー)、SymbianMaemoMeeGoLinuxWindowsOS X各プラットフォームのネイティブ配信形式無料および商用ライセンスが利用可能
ロモビルインタプリタを介してネイティブアプリケーションにコンパイルされたHTMLインターフェース機能を備えたRubyはい該当なし。アプリケーションは Win32 ランナー、またはサポートされているプラ​​ットフォームのデバイス エミュレーターで実行できます。XcodeまたはEclipse、オンデマンドの RhoHub バージョンには完全な IDE が含まれていますはい、Android 1.6+、iOS 3.0+(iPhone、iPad)、Windows Mobile 6.1 Professional、Windows Mobile 6.0 Standard、BlackBerry 4.6、4.7、5.0、6.0(4.2および4.5はサポートされていますが、これらのデバイスではデータベースアクセスが非常に遅くなります)、Symbianをサポートしています。OTA展開、App Store 経由の iOS、.SIS、.CAB、.APK、.CODRhodesはMITライセンスに基づく無料オープンソースです。RhoSyncはGPLまたは商用ライセンスに基づき、商用サポートもご利用いただけます。RhoHubのサブスクリプション
ルビーモーションルビーはいはい任意のテキストエディタ。IDEとしては、RubyMineアンドロイド、iOSプラットフォームのネイティブ配信形式RubyMotion は商用製品です。
煎茶タッチHTMLCSSJavaScriptはいはいSencha Architect 2Android、iOS(iPhone、iPad、iPod touch)、Kindle、BlackBerry、BadaWeb配信、または各プラットフォームのネイティブシェルを介したハイブリッド配信GPLv3、商用は無料、OEMおよび組み込みシステムは有料
スマートフェイスJavaScript コード エディターを備えたWYSIWYGデザイン エディターはいはいSmartface IDE と SDKはい、Android、iOS(iPhone、iPad、iPod touch)、Kindle、Gear、Google Glass各プラットフォームのネイティブ配信形式コミュニティライセンスと商用ライセンスが利用可能
ステンシルScratchObjective-CをベースにしたドラッグアンドドロップエディタはいはいエックスコードiOS(iPad、iPhone、iPod Touch)各プラットフォームのネイティブ配信形式無料および商用開発ライセンス
Telerikプラットフォームと AppBuilderHTML5、CSS、Javascriptはいブラウザまたはデバイスで直接テストブラウザクライアント、デスクトップクライアント、Visual Studio、Sublime Text、またはコマンドラインインターフェース (CLI)Android、iOS、Windows Phone各プラットフォームのネイティブ配信形式無料でお試しいただけます。商用ライセンスとエンタープライズライセンスもご利用いただけます。
団結C#JavaScriptBoo、その他の.NETベースの言語はいアプリがデバイスにアップロードされる前にデバイスの操作をシミュレートするために使用されるリモート。Unity エディターは、Visual Studio および MonoDevelop でも動作します。Android、iOS(iPhone、iPad)、PC、Mac、デスクトップブラウザ、Xbox 360、PS3、Wii。BlackBerry Playbook、Nokia Symbian、Roku 2など、当社のUnionプログラムを通じてご利用いただけます。各プラットフォームのネイティブ配信形式無料および商用開発ライセンス。
ベリボAppStudioWYSIWYG、グラフィカルドラッグアンドドロップ、JavaScript.NETベースの言語。Appery.ioに置き換えられました。はいブラウザまたはデバイスで直接テスト独自のデザインスタジオAndroid、iOS、ブラックベリー各プラットフォームのネイティブ配信形式無料の開発ライセンス、CPU ごとの展開ライセンス
ビジアプリWYSIWYG、グラフィカルなドラッグアンドドロップはいブラウザまたはデバイスで直接テストオンラインデザインスタジオAndroid、iOS、Windows Phone が予定されています各プラットフォームのネイティブ配信形式デザイン、テスト、デモ、アップデート、アプリは無料。公開には料金がかかります。
V-PlayエンジンObjective-CC++JavaScriptQMLJavaはいはいQt クリエイターすべてのプラットフォーム各プラットフォームのネイティブ配信形式無料、インディー、エンタープライズライセンスが利用可能
ワカンダHTML5JavaScriptはいはいはい、ワカンダスタジオAndroid、iOS、Windows 10(近日対応予定)、ブラウザベースのアプリapkオープンソースと商用ライセンスが利用可能
ザマリンC#はいはいXamarin Studio(Macのみ、非推奨)、Visual Studio(Windowsのみ)、Visual Studio for Mac(Macのみ、Xamarin Studioに代わる)[6] [7]Android、iOS、Windows Phone、Windowsストアアプリ各プラットフォームのネイティブディストリビューション無料のコミュニティ エディション、Microsoft MSDN ライセンスに含まれるプロ エディション
ゾジョXojo(VBに似ている)はいはいXojo IDEiOS、モバイルウェブアプリiOSアプリはネイティブiPad時間制限のない無料トライアル、商用ライセンスも利用可能

バックエンドサーバー

バックエンド ツールは、フロントエンド ツールが終了したところから処理を開始し、集中管理および制御される再利用可能な一連のサービスを提供します。これらのサービスには次の機能があります。

  • バックエンドシステムとの統合
  • ユーザー認証・承認
  • データサービス
  • 再利用可能なビジネスロジック

利用可能なツールは次のとおりです:

プラットフォームプログラミング言語統合開発環境が利用可能クロスプラットフォーム展開展開オプション開発ツールのコスト
Altova MobileTogether サーバーブラウザベースのインターフェース独自のIDEサーバーはWindowsLinuxmacOSで利用可能です。Android iOSWindows 8Windows 10、Windows PhoneHTML5ブラウザベースのクライアントを搭載したモバイルデバイスをサポートします オンプレミス、クラウド、ハイブリッド開発ツールは無料ですが、導入には商用ライセンスが必要です。
Globo plcによる GO!AppZoneJavaScript . カスタム統合コネクタ/サーバー側ロジック: C#、VB.NETはい、GO!AppZone StudioAndroidBlackBerryiOSWindows Phone、8.x、RTオンプレミス、クラウド、ハイブリッド開発ツールは無料ですが、導入には商用ライセンスまたはサブスクリプションが必要です。
IBM MobileFirst サーバーHTML5CSS3JavaScript、ネイティブ SDK 言語 (ネイティブ Worklight API 付き)Eclipseプラグイン、EclipseベースのスタンドアロンAndroidiOSBlackBerry 6、7、10、Windows Phone 7.5 および 8、Windows 8(デスクトップ、タブレット)、Adobe AIR、モバイル Web アプリ、デスクトップ ブラウザーの Web ページオンプレミスEclipse Marketplaceから開発者版を無料で入手、デプロイメント用の商用ライセンスを提供
メティスモジャワ日食Android、iOS (iPhone、iPad)、Java ME、BREW、BlackBerry、Nintendo DS、Palm/webOS、Sony PSP、Samsung bada、Symbian、Windows Mobile、Windows Phone 7、Windows Desktop、OS Xオンプレミス商用ライセンスも利用可能
ワカンダJavaScriptWakanda Studioを使用するAndroid、iOS(iPhone、iPad)、Windows Phone 10(近日公開)、HTML5アプリオンプレミスまたはクラウドコミュニティ版と商用版
ベリボ・アクラジャワ任意のフロントエンドIDEを使用するAndroid、iOS(iPhone、iPad)、Windows Phone7オンプレミス、クラウド、ハイブリッド無料開発ライセンス、CPUごとのデプロイメントライセンス。Appery.ioに置き換えられました。
WebORB 統合サーバーC#VB.NETJavaPHP、ActionScript、JavaScriptObjective-C

XML

Eclipse、Visual Studio、intelliJ IDEA、Amethyst IDE で動作しますAndroid、iOS(iPhone、iPad)、BlackBerry Playbook、Windows Phone 7オンプレミス無料の開発ライセンス、無料および商用展開ライセンス

セキュリティアドオンレイヤー

BYOD(個人所有デバイスの持ち込み)が多くの企業で標準となりつつある中、IT部門は既存のアプリ、スマートフォン、プラットフォームコンポーネントを補完する、一時的な戦術的なソリューションを必要とすることがよくあります。主な機能は以下のとおりです。

  • セキュリティのためのアプリラッピング
  • データ暗号化
  • クライアントのアクション
  • 報告と統計

システムソフトウェア

モバイル アプリを開発するための機能的なプラットフォームを実現するには、多くのシステム レベルのコンポーネントが必要です。

プラットフォームプログラミング言語利用可能なデバッガーエミュレータが利用可能統合開発環境が利用可能クロスプラットフォーム展開インストーラーのパッケージオプション開発ツールのコスト
アドビエアアクションスクリプトHTMLCSSJavaScriptはいはいFlash BuilderFlash ProfessionalIntelliJ IDEAAndroid、iOS(iPhone、iPad、iPod touch)、BlackBerry各プラットフォームのネイティブ配信形式Flash BuilderFlash ProfessionalIntelliJ IDEA - 商用ライセンスあり Adob​​e AIR SDK (コマンドラインツール) - 無料
ブリューC ; APIはC++スタイルのインターフェースでCで提供されるネイティブARMターゲットコード用のデバッガーサポート。Visual Studioを使用してx86テストコードをデバッグできます。ターゲットARMコード用のエミュレータはないが、x86テストコード用のシミュレータはあるVisual Studio 6.0、Visual Studio 2003 .NET、Visual Studio 2005端末で利用可能な特定のBREWバージョン用にコンパイルするOTABrew App Certification に通常必要な関連開発費 - 認定開発者になるための VeriSign 年会費。BREW 用 Realview ARM コンパイラ(無料の GNU C/C++ も利用可能ですが、機能とサポートが制限されています)。アプリケーション配布のための TRUE BREW テスト費用。
Firefox OSHTML5CSSJavaScriptはいいいえ、しかしシミュレーターは利用可能です。Firefoxブラウザ、Firebug他のプラットフォーム上のWebブラウザFirefox Marketplace、Web URL開発にはMozilla Firefoxとシミュレータアドオンが必要です
.NET コンパクト フレームワークC#VB.NETBasic4ppcはい無料のエミュレータ、ソースコードも利用可能、IDEにもバンドルされていますVisual Studio 2008、2005、2003Basic4ppc IDEWindows Mobile、Windows CE、Symbianベースのデバイス(サードパーティ製ツール経由)OTA展開、CABファイル、ActiveSyncほとんどのツールは無料ですが、ビジュアルデザイナーにはVisual Studioの商用版が必要です。
オープンFLHaxe(ActionscriptやJavaに似ている)はいはいIntelliJ IDEA、FlashDevelopAndroid、iOS(iPhone、iPad、iPod touch)、BlackBerry Playbook、WebOS、HTML5、Flash、Windows(exe)、Linux各プラットフォームのネイティブ配信形式無料
パームOSCC++パスカルはいOS 1.0~4.1: PalmSource (Access) が提供する無料エミュレータ。OS 5.0: Palm (palmOne) が提供する 5.4 デバイス固有のシミュレータ。Palm OS 開発システム (Eclipse)、CodeWarrior、PocketStudio、HB++、Satellite FormsPalm OSハンドヘルド、または StyleTap エミュレータを搭載した Windows MobilePRCファイル、PalmSource インストーラ (.psi)無料(Palm OS用のPOSEまたはGCC)、商用(CodeWarrior)、またはさまざまな商用の迅速な開発フレームワーク
パイソンパイソンはいNokiaエミュレータのアドオンEclipse用プラグインを含むいくつかインタープリタ言語は、 Nokia Series60 (およびデスクトップ)でのみネイティブに利用可能ですが、Palm OS を含む他のモバイル プラットフォームへの移植版も存在します。py2sisを使用したSISデプロイメントまたはPythonランタイムを使用可能無料
シンビアンC++はい無料エミュレータ多くの選択肢ターゲットごとにコンパイルSISの展開商用および無料ツールが利用可能
タイゼンWebベース: HTML5CSSJavaScript ネイティブ: CC++はい無料エミュレータTizen SDKウェブブラウザで利用可能なウェブベースのアプリTizenはApp Store、Web URLから開発にはWindows、OS X、またはUbuntuデスクトップが必要です
UbuntuタッチWebベース: HTML5CSSJavaScript ネイティブ: QMLCC++はいはいUbuntu SDKHTML5 アプリは Web ブラウザで利用できます。App Store、Web URL経由のUbuntu Touch開発にはUbuntu Desktop 12.04以降が必要です(無料)
ウェブOSPDK 経由のJavaScriptCSSHTMLCC++はい無料エミュレータ日食webOS、PalmのみOTA展開、App Store経由のwebOS、Web URL、Precentral、.ipk無料
ウィンドウズモバイルCC++はい無料のエミュレータ(ソースコードも利用可能)、IDEにもバンドルされていますVisual Studio 2010、2008、2005、eMbedded VC++(無料)、Satellite FormsWindows Mobile、Windows CEOTA展開、CABファイル、ActiveSync無料のコマンドライン ツールまたは eMbedded VC++、または Visual Studio (Standard エディション以上)
ウィンドウズフォンC#Visual BasicCC++はいIDEにもバンドルされた無料エミュレータVisual Studio 2012Visual Studio 2010ウィンドウズフォンOTA展開、XAPファイル

開発プラットフォームの選択基準には、通常、対象となるモバイルプラットフォーム、既存のインフラストラクチャ、開発スキルが含まれます。クロスプラットフォーム開発で複数のプラットフォームを対象とする場合は、ツールがユーザーエクスペリエンスに与える影響も考慮することが重要です。モバイルアプリの研究では、アプリケーションのパフォーマンスとユーザー満足度の間には強い相関関係があることが示されているため、パフォーマンスも重要な基準の一つです。パフォーマンスなどの基準に加えて、テクノロジの可用性やプロジェクトの要件も、ネイティブ環境とクロスプラットフォーム環境の間で開発が左右される要因となります。ネイティブ環境とクロスプラットフォーム環境の選択を支援するために、いくつかのガイドラインとベンチマークが公開されています。通常、クロスプラットフォーム環境は、ネイティブコンテナを活用し、ユーザーインターフェースにはHTML、CSS、JavaScriptを使用することで、複数のプラットフォーム間で再利用可能です。一方、ネイティブ環境は、それぞれの環境ごとに1つのプラットフォームを対象としています。例えば、Android開発はEclipse IDEでAndroid Developer Tools (ADT)プラグインを使用して行われ、Apple iOS開発はXcode IDEでObjective-CやSwiftを使用して行われ、WindowsとBlackBerryはそれぞれ独自の開発環境を備えています。

モバイルアプリのテスト

モバイルアプリケーションは、まず開発環境内でエミュレータを用いてテストされ、その後、フィールドテストにかけられます。エミュレータは、開発者が物理的にアクセスできない可能性のある携帯電話上でアプリケーションを低コストでテストする方法を提供します。以下は、主要なモバイルオペレーティングシステム上でアプリケーションをテストするために使用されているツールの例です。

ツールには以下が含まれます

  • Eggplant Functional – あらゆるオペレーティングシステムとデバイスに対応したモバイルアプリ用の GUI ベースの自動テストツール
  • Ranorex – モバイル、Web、デスクトップアプリ向けのテスト自動化ツール
  • Testdroid – モバイルアプリとウェブアプリをテストするための実際のモバイルデバイスとテスト自動化ツール

設計原則

2020年のアプリケーション業界レポートによると、モバイルアプリユーザーの46%が、パフォーマンスの低さを理由にアプリの使用を中止またはアンインストールしたと述べています。[9]デザインの専門家は、成功し効果的なモバイルアプリを作成するために、次のデザイン原則を提唱しています。

画面をすっきりと整理– インタラクションを迅速かつシンプルに保ち、ユーザーが複数の機能やタスクに圧倒されることなく、特定のタスクに集中できるようにします。デザインの専門家は、1画面につき1つのタスクを強く推奨しており、長いフォームを複数のページに分割し、新しいタスクやフィールドを段階的に表示することで、画面の乱雑さを最小限に抑えることを推奨しています。[10]

認知負荷の軽減– アプリの使用を可能な限りシームレスにし、アプリ内での自然な流れを維持します。デザインの専門家は、認知負荷を軽減するために、オートコンプリートスペルチェック予測入力支援、ドロップダウンメニューなどの機能を組み込むことを推奨しています。また、デザインの専門家は、ユーザーが一時的にアプリを離れて再度ログインした際に、アプリの状態が保持され、中断したところからアプリの使用を再開できることを推奨しています。[10] [11]

シンプルなナビゲーション– 約11%の人が、複雑なインターフェースのためにアプリをアンインストールしています[9]デザインの専門家は、ユーザーが頻繁に使用する画面や優先度の高い画面に瞬時に移動できるように、アプリ内でナビゲーションバーを目立つように表示することが最も重要だと述べています。彼らは、メニューを開く、設定を変更する、画面を戻る、ページ内を検索するなどのアクションをユーザーが簡単に実行できるように、デバイスのオペレーティングシステムに固有の認識可能なアイコンを使用することを推奨しています。彼らによると、ユーザーがアプリ内を移動する際に混乱してはならないため、整然とした明確で論理的なナビゲーションフローが、アプリ内でのエンゲージメントと発見を促進します。[10] [11]

通知– 頻繁なプッシュ通知が原因で、約19%のユーザーがアプリをアンインストールするという報告があります。[9]デザインの専門家によると、通知は慎重に計画して送信する必要があります。専門家は、通知はユーザーのタイムゾーンで最も都合の良い時間に送信し、メッセージはパーソナライズしてユーザーに大きな価値をもたらすべきだと述べています。[10]

スピード感– 約19%の人がハングアップの問題でアプリをアンインストールしています。[9]デザインの専門家は、ユーザーがコンテンツを待たずに済むよう、アプリの高速性と応答性を確保することが重要だと述べています。開発者はコンテンツをより早く提供したり、進捗状況を認識させたりすべきだと彼らは述べています。専門家が提案するアプローチとしては、アプリのレイアウトをグレーアウトしたコンテンツで表示するスケルトンスクリーン、プログレスバーや読み込みスピナー、バックグラウンドでタスクを実行し、ユーザーが要求したときにすぐにコンテンツを配信する、ページの読み込みを待っている間にユーザーにタスクやコンテンツを提供するといったものがあります。[10]

ユーザビリティ– モバイルユーザーの約85%は片手で携帯電話を使用しているため[9]、デザインの専門家は、トップレベルのメニュー、頻繁に使用するコントロール、一般的なアクション項目がユーザーの親指の届く範囲にあることが重要であると述べています。また、読みやすさの重要性も強調しており、ユーザーが通常の読書距離でズームインせずに読めるように、テキストサイズは少なくとも11ポイントのフォントにすることが推奨されています。[10]アプリ画面のヘッダーとタイトルは、iOSオペレーティングシステムの場合はサンフランシスコ17pt、Androidの場合はRoboto 16spにすることが推奨されています[11]専門家はまた、テキストと背景色のコントラスト比は最低4.5:1である必要があると述べています。 [10]デザインの専門家は、障害者を含むすべてのユーザーがアプリにアクセスできるようにすることを開発者に強く推奨しており、モバイルアプリでの音声ナビゲーションスクリーンリーダーの互換性、ユーザーインターフェイスの適応性などの機能を提案しています。 [11]

特許

新しい携帯電話アプリに関する特許出願が多数出願されています。その多くは、ビジネス手法、データベース管理、データ転送、オペレーターインターフェースといった技術分野です。[12]

参照

参考文献

  1. ^ 「モバイルアプリケーション開発入門」IBM.com . 2023年6月24日閲覧
  2. ^ 「モバイルアプリの設計時に考慮すべき重要な側面」GlobalLogic、イギリス、2016年10月3日。 2023年6月24日閲覧
  3. ^ 「モバイルアプリ(モバイルアプリケーション)とは? – TechTargetの定義」WhatIs.com . 2023年6月24日閲覧
  4. ^ アトキンソン、ロバート・D. (2017年10月). 「ヨーロッパのアプリ経済:主要国と都市、2017年」(PDF) .プログレッシブ・ポリシー・インスティテュート. 2024年10月3日閲覧
  5. ^ 「デバイス上でアプリを起動する」Apple Developer 2016年4月30日閲覧
  6. ^ Linev, Roman (2016年11月14日). 「Microsoft、Xamarin StudioをVisual Studio for Macとしてリブランド」. Winaero . 2023年3月5日閲覧
  7. ^ Foley, Mary Jo (2017年5月10日). 「Microsoft、Visual Studio for Macを一般提供開始」ZDNet . 2023年4月2日閲覧。Microsoftは、Xamarin Studio for the Macのブランド名を変更したVisual Studio for Macを一般提供開始した。
  8. ^ 「MobiOne Developer 1.0 M4:App Store対応のモバイルWebアプリケーションを作成し、Windowsで真のデバイス動作を体験」PRWeb . 2009年10月8日時点のオリジナルよりアーカイブ。 2021年5月31日閲覧
  9. ^ abcde 「アプリの統計、使用状況、ダウンロード数(2020年レポート)」SaaS Scout(旧SoftwareFindr) 2020年1月6日。 2024年2月20日閲覧
  10. ^ abcdefg 「モバイルアプリ設計のベストプラクティス15選」ThoughtSpot . 2024年2月20日閲覧
  11. ^ abcd Cordini, Marcelo (2021年1月6日). 「最高のモバイルアプリデザイン:事例」. Qubika . 2024年2月20日閲覧
  12. ^ Nowotarski他「特許クラスを選択的にターゲットにすることで許可率を高める」IPwatchdog、2011年4月6日
「https://en.wikipedia.org/w/index.php?title=モバイルアプリ開発&oldid=1320339923」より取得