ハイブリットアプリ開発
最近は様々なツールの進化により、
AndroidとiOSのスマホアプリを別々に作らずに、
1種類のプログラミングで同時に作れてしまうものがたくさんあります。
cordova、React-native、Xamarin、などなど…
これらのもので作られるスマホアプリをハイブリットアプリといいます。
一部ハードウェアの機能を使えないなどの制約がありますが、
そういう端末独自の機能が入らないのであれば、
この方法で作った方がコストは抑えられます。
しかし、2種類の開発が1種類になったんだから半額になる、というわけではありません。
開発費をどれくらいコストカット出来るか
ここではどれくらいのコストカットになるか、私の計算式で考えていきたいと思います。
私は
設計:実装:テスト=1:1:1
だと思っています。
各工程の作業には
・設計作業:設計書とテスト仕様書の作成
・実装:実装と単体テスト
・テスト:動作確認と不具合修正の作成
を含むものとします。
正確には1:1:1ではないのでしょう。
0.5:1:1だったり、
1:2:1だったり、いろんなパターンがあると思います。
ですが私は相手に伝わりやすくするために1:1:1という考え方にしています。
もしもネイティブアプリで開発する場合、設計は共通ですが、その後の工程は別れますから、
設計:1
iOS開発:1
Android開発:1
iOSテスト:1
Androidテスト:1
になります。
ハイブリットアプリで開発する場合、
設計〜開発までは共通ですが、テストはそれぞれ行わないといけないので、
設計:1
開発:1
iOSテスト:1
Androidテスト:1
になります。
ネイティブ開発:ハイブリット開発=5:4
なので、20%のコストカットになります。
つまり50%もコストカットにならない事に注意しなくてはいけません。
ハイブリットで開発する事のリスク
それはメーカーに動作保証されていないという事です。
iOSはAppleから、AndroidはGoogleから、それぞれのアプリの公式マニュアルが提供されており、
その通りに作ればその通りに動く事が保証されています。
しかし、ハイブリットアプリでの作り方はメーカーに保証されていませんし、
ハイブリットアプリツールに何の事前連絡もなく、メーカー側が作り方の仕様変更をする事もあります。
ツール提供側は常に後追いなので、急な仕様変更があっても必ず即座に対応出来るとは限らないというリスクが付きまといます。
大事な事はメリットとリスクを天秤にかけて決める事
メーカーに動作保証されていない手法で作る時に、
20%のコストカットとリスク
どちらを取るかを天秤にかけて決める事、
そしてそれを選択した事に対して責任を持つ事が大事です。