質問

最近、J2ME アプリのプロトタイプの開発を開始しました。見栄えの良い UI を開発することがいかに難しいかに気づきました。Web サービスと対話してフライトを予約するためのアプリを J2ME で開発することを検討してください。

航空券を予約するための Web サイトは、優れた UI で簡単に開発でき、携帯端末のブラウザからアクセスできます。すべての端末にブラウザが搭載されているわけではないことは理解していますが、すべての新しい端末や今後発売される端末にはブラウザが搭載されており、大きな画面も備えています。

動作するためにWebサービスと通信する必要があるこのようなアプリケーションをj2meで開発することは良い考えですか?それとも、j2me はスタンドアロン アプリにのみ適していますか?

役に立ちましたか?

解決

J2ME の利点:

  • ファイル システム、電話帳、GPS などの電話リソースにアクセスできます。最後は地図アプリケーションでは非常に重要です。
  • より充実したユーザー インターフェイスを構築できます。おっしゃるとおり難しいかもしれませんが、役立つ GUI ライブラリがたくさんあります。逆に、モバイル ブラウザの UI (CSS と JavaScript の動作に依存できない) は非常に貧弱になります。
  • 通信ロジックの柔軟性が向上します。データの暗号化/復号化、圧縮、SOAP Web サービスの使用が可能です。ブラウザーの場合、REST サービスを開発するのが最善の策です。

J2ME の欠点:

  • ミッドレットには署名が必要です。これにはある程度のコストがかかり、署名されたアプリであっても特定の携帯電話では適切に動作しない場合があります。
  • あらゆる種類の電話機で実行できるミッドレットを開発するのは悪夢です。逆に、適切に設計されたモバイル Web アプリケーションは、最近のすべての携帯電話で適切に表示されます。
  • アプリケーションを配布するためのチャネルが必要です。ユーザーはそれをダウンロードし、必要な帯域幅に対して料金を請求する必要があります。アプリケーションに問題があり怒っている顧客に対応する必要があります。Web サイトを使用すると物事が簡単になります。
  • J2ME アプリは必然的にネイティブ アプリケーション (iPhone、Windows Mobile、Symbian) と比較されます。これらと比較すると、それらは非常に貧しく、多くの人はそれらにお金を払ったり、使用したりすることさえ正当化されないと感じるでしょう。

私の結論:現在、本物のスマートフォンはますます人気が高まっており、市場シェアはますます拡大しています。このような状況では、J2ME の利点はその制限を実際には克服できません。私が思いつく唯一の例外は、GPS アプリケーションを開発する必要がある場合です。それ以外の場合は、モバイル Web サイトを使用することをお勧めします。

他のヒント

前の回答には、誤解と明白な誤った記述がたくさんあります。

自分で調査することをお勧めします。最近では、独自のGUIフレームワークを作成せずに、J2MEで見栄えの良いアプリを CAN 開発しています。 LWUITを実際に見てください。たとえば、タッチスクリーンの機能の1つとして仮想キーボードがあり、これには仮想キーボードを持たないN97などのデバイスがあります。ところで、LWUITを使用すると、誰も気にしない場合はBlackberryとAndroidポートが含まれます。

また、今日のアプリは、iPhoneだけでなく、多くのプラットフォームの中心的な舞台になっています。 OVI、RIM、Samsung、SE、Orange Worldなど、この分野の最近の開発を見てください。これらはすべてアプリショップから始まります。

"携帯電話でユーザーにウェブサイトを使用させるのは、アプリケーションをダウンロードさせるよりも簡単です。"これは証拠のない単なる主張です。このように言うことはできません。それは他の多くの要因に依存します。 -ユーザーがモバイルのURLを小さな画面にもう一度入力する必要があるのはなぜですか?

とにかく、この答えはおそらく遅すぎるので、これ以上書くつもりはありません。モバイル業界は現在急速に変化していますが、クロスプラットフォーム開発のためのJ2MEに代わるものはまだありません。将来的には、より優れたブラウザとウィジェット技術が使用される可能性があります。

簡単に言っておくと、GoogleマップやGmailモバイルなどのアプリケーションは、Webサービスを使用してサーバー部分と通信することはおそらくないでしょう。 WebServiceには多くのオーバーヘッドがあります。特に、モバイルユーザーは通常、送信するデータの量によって評価されることを考慮すると、オーバーヘッドが大きくなります。クライアントアプリとそのサーバーパーツ間の通信を実行する最良の方法は、ソケット接続を介してバイナリデータを使用することです。

個人的には、携帯電話の大規模なセットで実行される一貫性と信頼性のあるJ2MEアプリケーションを作成するのは本当に難しいと思います。私の経験に基づいて、厳密な要件である場合(たとえば、ネットワークに接続せずに予約を表示できるようにする場合)にのみ、WebアプリケーションではなくJ2MEアプリケーションを開発します。 J2MEアプリケーションに関連する他のコストがあります-アプリケーションをダウンロードする必要があり、ユーザーはアプリケーションがネットワークへの接続を許可するかどうかを尋ねられます(この場合には例外がありますが、アプリケーションに署名する必要があると思いますサードパーティの会社-より多くの$$$が関与している場合)、さまざまな携帯電話で実行されるアプリケーションの異なるバージョンを維持する必要があります(アプリケーションの複雑さが増します)など...

この方法を考えてみてください。コンピューター用に同様のものを開発している場合、デスクトップアプリケーションとWebアプリケーションのどちらを構築しますか?今日の携帯電話(多くはJavaScriptでフルHTMLサイトにアクセスできます-これはajaxを意味します)では、質問の提案は有効です。

良い経験則は次のとおりです。達成しようとしていることがモバイルWebサイトでできる場合-Webサイトにアクセスしてください。

私見、アプリは、場所、音声、ビデオ、3D、写真などのモバイルハードウェアを利用できない場合にのみ使用する必要があります。

アプリの開発コストがわずか(通常はそうではない)であっても、ユーザーがダウンロードの問題を経験するために、いくつかの本当に素晴らしい機能を提供する必要があります。

(これはすべてJ2ME / BREWに本質的に当てはまります。iPhoneはアプリが中心になるため、少し異なります)

強調する価値のあること:MIDletをデプロイする唯一の標準的な方法はOTAダウンロードを介することなので、J2ME対応の携帯電話にWebブラウザーがないとは思わないでしょう。

WebkitやOperaなどのモバイルWebブラウザは、J2MEよりも高速になっています(少なくともMIDP3.0が出荷を開始するまでは)。

どのプラットフォームを選択しても、多くのデバイスでサービスをテストする必要があります。 J2MEからwebappに切り替えることは、その点で大きな違いを生むとは思いません。電話メーカーは、電話のファームウェアに入るバイナリを変更し続けるからです。

人々に携帯電話でウェブサイトを使用させることは、アプリケーションをダウンロードさせるよりも簡単です。電話の購入時にそのアプリケーションが既にインストールされている場合を除きます。つまり、

J2ME GUIをより良く簡単にするために、LWUITを見るとよいでしょう。

J2MEがフライト予約サービスのために達成することの1つは、ローカルストレージメカニズムのおかげで、一定のネットワークデータ転送を必要としないことでバッテリー寿命を節約することです。

Webサービスと通信する(必要とする)多くの優れたj2meアプリがあります。 GmailモバイルやモバイルマップなどのGoogleアプリを考えてみてください。携帯電話のブラウザを介してサービスを使用するよりも速くて使いやすいです。優れたアプリを設計できれば、間違いなく価値があります。

編集:また、j2meアプリは、Webアプリケーションでは提供できない機能を作成します。電話機能(アドレス帳、カレンダー)との統合、「この番号に電話する」、ロケーションAPIなど

ビジネスアプリ、またはより多くのテキスト/データ指向のものの場合、モバイルWeb / Wapサイトは、クライアントの更新をハンドセットにプッシュする必要がないため、維持が容易になると思います。

UIを集中的に使用するアプリ(マップ、ゲームなど)の場合、おそらくクライアントアプリを使用する方法なので、クライアント側でより多くの処理とレンダリングを処理できます。

携帯電話には非常に多くの互換性の問題があるため、両方のオプションは困難です。アプリでサポートする携帯電話の種類を絞り込むことで、最適なサービスを提供できます。顧客のほとんどがiPhoneまたはAndroidの携帯電話だと思う場合、それらのプラットフォームを(クライアントアプリまたはWebアプリのいずれかで)ターゲティングし、旧式のj2meを完全に回避できます。

電話のWebAppは嫌いです。速度が遅く、半接続環境では機能しません。

J2MEアプリは、ローカルバックアップ、Bluetoothバックアップ、2台の電話間でのBluetoothデータ共有、応答性の良いUIを実行できます。ただし、お金、スキル、時間などが必要です

MIDPの主な不満は、ソフトウェアの更新とリアルタイムのミキシングをプッシュすることです。技術的には、これらはMIDPの範囲内で可能ですが、ホイールのグーンはあまり創造的ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top