it-swarm-ja.com

モバイルウェブアプリ-既存のウェブアプリと組み合わせるか、それらを分離します

私が働いている会社には、JSFフレームワークを使用してJavaで記述された完全に機能するWebアプリがすでにあります。現在、このWebアプリのモバイル版を作成し、いくつかの一般的なものを用意しています。このモバイルWebアプリを配置する場所に関する質問。

  1. このモバイルWebアプリは、別のプロジェクトであり、別の戦争でパッケージ化され、サーバーに別のアプリとしてインストールされる必要がありますか、それとも既存のWebアプリの一部であり、同じ戦争でパッケージ化され、サーバーに同じアプリとしてインストールされる必要がありますか?

  2. モバイルWebアプリは既存のWebアプリのjsfManage Beansを使用する必要がありますか?たとえば、いくつかのjsf ManageBeansとjsfページで構成される注文入力アプリがすでにあります。このアプリのモバイルバージョンを作成するには、jsfページの新しいモバイルバージョンを作成するだけで、それらのモバイルjsfページに存在するすべてのjsf Manage Beansを使用する必要がありますか?モバイルWebアプリのページフローがWebアプリのページフローと異なる可能性があるため、問題が発生しますか?しかし、再利用しないと、重複したコードがたくさんあるようです。

5
HockChai Lim

現在のWebアプリが使用しているアーキテクチャによって異なります。あなたの場合のように複数のチャネルを扱うときは、ビジネスロジックとデータアクセスを管理するコアシステムを用意することをお勧めします。その上に、Webアプリ、モバイルアプリ、Androidアプリなど...

可能であれば、Webアプリを可能な限りリファクタリングして、ビジネスロジックとプレゼンテーション層を分離します。次に、クライアント用に2つの異なるプロジェクトを維持しながら、ビジネスロジックレイヤーを共通として利用します。

1
Alexus

(1)Webアプリの意図されたライフサイクルとアプリのモバイルバージョンによって異なります。両方に常に同じバージョン番号を指定し、両方を常に同時にデプロイする場合は、同じプロジェクトに保持する方が理にかなっています。ライフサイクルが多少異なる場合(たとえば、モバイルアプリの新しいバージョンを3か月ごとに作成し、Webアプリの新しいバージョンを毎日作成する場合)、それらを異なるプロジェクトとして保持することをお勧めします。

(2)は(1)に依存します。両方のライフサイクルが同じである場合、それらのコンポーネントの同じバージョンをいつでも使用できるため、共有コンポーネントを使用する方がおそらくはるかに簡単です。ライフサイクルが異なる場合、「マネージドBean」を再利用することは不可能ではありませんが、おそらくより多くの注意と構成管理が必要になるため、古いモバイルアプリバージョンが新しいバージョンで生成された同じデータにアクセスしても問題は発生しません。あなたのウェブアプリの。

0
Doc Brown

多くの要因に依存しますが、本質的には:

Webアプリを作成したことがあるか、それについて多くの経験がある場合ORそのWebアプリスクリプトは(APIを呼び出すシンクライアントではなく)ロジックなどで構築されている可能性があります異なるディスプレイにフィードし、同じロジックを使用する方が簡単です。

ただし、アプリがサーバー/クライアントベースの場合(WebアプリがAPIを介してサービス/サーバーと通信するクライアントとして機能する場合)、別のプロジェクトを開始し、元のWebアプリを変更してにリダイレクトする方がはるかに簡単です。モバイルウェブアプリ。すべてが適切なフレームワークで記述されている場合、最小限のバックエンドの変更で、HTML/CSS/JSを介してすべてのモバイル/デスクトップディスプレイを処理できることがわかるかもしれません。

個人的には、デスクトップ/モバイルがHTML/CSS/JSで処理されるWebアプリを作成したことはありません。ただし、Foundation by ZURBを試していた場合を除き、サイトをFoundationに変換するのは悪夢であることに注意してください。全体的なアイデアは、最初にモバイル向けに設計し、デスクトップにスケールアップすることです(これは他の方法よりもはるかに簡単です)。

0
Jack