Webアプリ開発とNativeアプリ開発
「WebアプリとNativeアプリのどちらを開発した方がいいですか?」というご相談をよくいただきます。
近年、ノーコード・ローコード開発、PWA(Progressive Web Apps)開発、Flutter開発など、アプリを開発する選択肢は多岐に渡っています。
Nativeアプリ開発(以下の記事だとモバイルアプリ開発)の概要については以下の記事をご覧ください。
本記事では、よくあるお問い合わせの一つである「Webアプリとして開発したサービスのNativeアプリ版を作りたい」というテーマについてご紹介します。
初期開発の際、多くはWebアプリの資産をWebviewで表示させつつ、数画面をnativeで開発する方針で進められることが多いです。しかし、これが予想以上に大変です。
開発を進める上で、以下のような課題が浮上しました。
システム構成の課題
Nativeアプリで用いるAPIが異なり、バックエンドの構成・設計を見直す必要があるケースが多い。
Webアプリが密結合しており、Nativeアプリから利用できるAPIが存在しない。
仕様の課題
既存のWebアプリがCookieベースの認証を採用している。
Token認証でない場合、認証方式を変更することを検討するべき。
Webviewを用いたNativeアプリとWebアプリの連携で、予期せぬバグが発生しやすい。
工数削減のためほとんどWebviewを使って機能を実現したいという要望が多い
ガワアプリ(Webviewで特定のWebサイトを表示するアプリ)は審査が通りにくい。
Webサイトやコンテンツの更新が頻繁にあるページは、NativeアプリよりもWebviewを用いた方が適している。
デザイン面での課題
Nativeアプリの画面遷移を理解する必要がある。
Android/iOSのデザインガイドラインを把握する必要がある。
Webアプリにデザインが寄りすぎること。
運用面での課題
業務システムやWebアプリのプロジェクト経験は豊富でも、Nativeアプリのプロジェクト経験がないビジネスサイドの方も多く、アプリの審査フローや評価向上のための対応が必要になる。
これらの課題に対して、私たちは以下のような対応を実施しています。
対応策
Token認証方式のAPIを中心とした認証基盤の導入を提案。
Nativeアプリで使用するAPIの設計。
Webviewを用いる機能と、Nativeで実装する機能の提案。
Nativeアプリの画面遷移を理解できるデモアプリの作成し、クライアントのデザイナーとの調整を行う。
審査の提出を代行。
以上のように、WebアプリからNativeアプリへの展開は一見シンプルに見えても、それなりに課題が伴います。
これらの課題に対応するためのサポートを、今後も取り組んでいきたいと考えています。
PS
直近ではNativeアプリの開発に加え、PWA(Progressive Web Apps)開発、Flutter開発、生成AI関連プロダクトなどの導入支援など企業が抱える課題を解決するアプリ開発を行っています。
最新技術の導入を検討されている場合、是非ご相談いただければと思います。