以前はiPhone、Androidどちらか一方しか対応してないスマホアプリも多く、何で両方対応しないんだろう、と思った方も多いのではないでしょうか。
iPhone、Androidの両方で使えるアプリは作る環境も言語も異なるため、両方対応させようとすると費用が2倍近くかかってしまうというものでした。 
しかし、ここ数年で クロスプラットフォーム と言う、iPhone、Androidの両方で使えるアプリを同じ環境、同じ言語で開発できるツールが登場し、人気を獲得しつつあります。
この記事では クロスプラットフォーム のメリット、デメリットについて解説します。

 

1. クロスプラットフォーム とは

 

2.従来の スマホアプリ の 開発 における課題

 

3. クロスプラットフォーム の アプリ開発 が注目されるようになった背景

 

4. クロスプラットフォーム 開発のメリット

・開発人員の確保が容易

・機会損失を回避

 

5. クロスプラットフォーム を利用するデメリット

・OSに固有の不具合への対応が困難

 

6.まとめ

1. クロスプラットフォーム とは

 クロスプラットフォーム は、1つのOSに依存しないアプリ開発環境のことを指し、
 iPhone 、 Android で同じアプリの利用が可能になる環境を言います。

ここからは クロスプラットフォーム の スマホアプリ開発 が注目されるようになった背景や、
そのメリット、デメリットについてご紹介していきます。

 

2.従来の スマホアプリ 開発 における課題

これまでの スマホアプリ 開発 は、特定のOSに依存するケースが一般的でした。
AppleやGoogleが推奨する開発言語(ネイティブ言語)は、彼らが提供するOSとの親和性が高く、様々な恩恵が受けられるために好んで開発者から採用されてきました。
これはAppleが提供する開発環境ではiOSに対応したアプリが開発でき、Googleが提供する開発環境ではAndroidに対応した アプリ が開発できるということです。

ただ、このことはiPhone、Androidの両方で使える スマホアプリ を作ろうとすると開発費用、保守費用とも、大きくなる原因にもなっていました。
同じ人が開発する場合は開発期間も長くなります。
これが同じアプリをiPhone、Androidで提供することを難しくする要因となっていました。

 

3.  クロスプラットフォーム の アプリ開発 が注目されるようになった背景

 スマホアプリ は無料から数百円程度で販売されているものがほとんどです。
アプリそのもので収益化するには多くのダウンロード数が必要となります。
より多くの利益を得るためにはAndroidとiOSの両方でアプリを提供を希望します。
しかし、AndroidとiOSで同じアプリを提供することは、2つのアプリを開発する、
つまり、2倍の費用が発生することになります。
 スマホアプリ の 開発 を依頼する側は2倍にならない価格、
できればアプリ一つを開発するのと変わらない価格を希望しますし、
そのような要望に応えようとする開発会社も出てきます。
さらにAndroidとiOSの両方の スマホアプリ を開発できる環境を提供するサービスもでてきます。
この「AndroidとiOSの両方で使える スマホアプリ を 開発 できる環境」が クロスプラットフォーム です。

4. クロスプラットフォーム 開発 のメリット

開発工数を削減できる

 クロスプラットフォーム を使用して開発すると
AndroidとiOSの両方の スマホアプリ を同時に開発できるため、開発工数を削減できます。
さらに開発途中には仕様変更がつきものですが、それにも1回の修正で対応でき、工数削減につながります。

  スマホアプリ 開発 においては、要件定義の際には検討を漏らしていた仕様の追加や、
競合対策上やむなく生じた追加要求など、制作途中の仕様変更が発生することは多々あります。

特にインターネットの世界では新技術の登場や旧技術の利用減による仕様変更も多く、
時間をかけて完成度の高い仕様を作り、一度の開発でユーザーの望む機能を作り込むより、
アジャイル開発で機能を絞って開発を進め、ユーザーの声を反映させながら詳細な仕様を詰め、
 アプリ としての完成度を高めるというのが一般的になりつつあります。
そんな中で、仕様変更に対応しやすい クロスプラットフォーム であれば
1つの仕様変更に対してiOS/Androidで1回の修正で済みます。
そのため、仕様変更に対応する開発時間を短縮でき、 開発 、保守ともに安価で提供可能となります。 

 

開発人員の確保が容易

iOSはXcodeを使用してSwiftというプログラミング言語で、
AndroidはAndroid Studioを使用してJavaまたはKotlinというプログラミング言語でアプリ開発します。
iOS、Androidの両方のOSに対応した スマホアプリ を 開発 するためには、
SwiftとJavaまたはKotlinに熟知したエンジニアが必要となります。
開発環境への練度も求められます。
しかし、異なるプログラミング言語を熟知したエンジニアを確保することは容易ではありません。
それが クロスプラットフォーム であればiOS、Androidの両方のOSに対応した アプリ をひとつのプログラミング言語で開発できるため、エンジニアの確保も容易です。
 クロスプラットフォーム での開発は人材の確保の点でも優位と言えます。

国内においてはiPhoneとAndroidでは大きく変わらないシェアとなっています。
端末やそこで使用されるサービスの流行り廃りで一方のシェアが急伸したり、
その揺り戻しがおこると、Xcode/ Android Studioを使用して開発しているエンジニアは
別の言語を学習し直さなければなりません。
 クロスプラットフォーム であればそれも避けることができます。

 

機会損失を回避

国内においてはAndroidとiOSのシェアほぼ半々です。
一方のOSに対応したアプリしか開発しない場合、約半分は機会損失となります。
 クロスプラットフォーム であればiPhoneとAndroidに対応することが容易で、機会損失も容易に回避できます。
また、iPhoneとAndroidに対応したからといってアプリの価格が2倍になることもありません。

 

5. クロスプラットフォーム を利用するデメリット

ここまでの説明では クロスプラットフォーム は万能に思えてきます。
しかし、 クロスプラットフォーム を利用するといくつかのデメリットもあります。
その代表的なものが以下になります。

 

OSに固有の不具合への対応が困難

 クロスプラットフォーム 開発 では、OSに固有の不具合があった場合、その対応が難しくなります。
そもそも不具合の原因の特定が容易ではありません。
自分が作ったプログラム自体に問題がないとすれば、
プラットフォームの設定か、OSかということになりますが、
不具合箇所を特定するための切り分けすらも容易ではありません。

通常のアプリ開発であれば慣れない不具合に出くわしたら現象やエラーメッセージをネットで検索して、そこにある説明が自分にも当てはまるか、確認し、実際に試したりできます。
しかし、 クロスプラットフォーム は歴史も浅く、日本語で書かれた情報も少ないため、OSに固有の不具合が発生した場合、その対応が困難です。
発生頻度はそれほど高くはないものの、この点は クロスプラットフォーム のデメリットと言えます。

 

6.まとめ

この記事では スマホアプリ 開発 現場での利用が増えつつある クロスプラットフォーム と
そのメリット、デメリットについて解説しました。
書かれている内容は開発会社だけでなく、発注者にも関係するものです。
実際に スマホアプリ開発 を依頼するときにこの記事を参考にしてください。

SIA では スマホアプリ開発 のご依頼を承っております。
 クロスプラットフォーム が良いのか、従来の 開発 手法が良いのか
それぞれの特性を考慮し、数多くの開発実績で培ったノウハウを生かして
お客様に最適なご提案を行います。
ぜひお気軽にお問い合わせください!