2013-02-22 12 views
13

私は現在ネイティブアンドロイドアプリを開発中です。私のアプリはたくさんの活動をしています。私はnativeアンドロイドアプリを開発したいです。しかし、場合によっては、webviewを使用したいのですが、レイアウト全体が単なるwebviewです。線形、相対、または別のレイアウトではなく、単なるwebviewです。 HTMLで動作する画像やその他のものすべて。 All of screen will run in HTML5.ネイティブAndroidアプリでWebView全体レイアウトを使用すると便利ですか?

私は、iPhoneアプリや他のプラットフォームにアプリを部分的に転送することができます。これが私のこのような利点です。

しかし、わかりません。これはいいですか?パフォーマンスはどのようになりますか? HTML5アプリケーションに変換する際の短所は何ですか?

説明できますか?

よろしく

+0

これは別の方法ですが、アプリケーションのパフォーマンスはサーバー接続によって異なります。 –

+0

私のwebviewはインターネットに依存していません。それはローカルで動作します。 –

答えて

12

まさにこのトピックに関するvery good presentationがあります。

  1. パフォーマンス:Webkitエンジンは、ネイティブ(および場合によってはハードウェアアクセラレーション)のレンダリングパフォーマンスと常に一致するとは限りません。

  2. 短所:1つはAPIの使用が制限されているため、ページのJavaScriptをネイティブコードにバインドすることはできますが、すべての機能が利用できるわけではありません。Cordovaの機能を見てみてください。 JavaScriptを使用して複雑なウィジェットをエミュレートすると、ページが遅くなることもあります。

  3. 移植性:確かに大きな利点です。そのため、PhoneGapCordovaが一般的です。 Facebook Appなどの多くは、より良いパフォーマンスのためにswitched to native Appを持っていますが。

実際に必要とするアプローチは、要件によって異なります。これは私の個人的な暴言かもしれませんが、IMHO:マークアップはこれまでのところねじれしかできず、まだ工業グレードのGUIプログラミングの設定を外れません。

+0

ありがとうございます、あなたの答えは非常に実例です。 –

+0

@BreedHansenこのトピックに関するプレゼンテーションへの最初のリンクを更新しました。 –

+0

ありがとうございました。私は見ます。 –

1

私はこの方法であなたのアプリの品質は弱く、アプリケーションを使用するのは難しいと思うのです.Webviewオブジェクトにはたくさんのツールがないため、アンドロイドとの互換性があるからです。たとえば、ウェブビューのデータをアプリに共有したり保存したりすることはできません。何が必要なのか、何が必要なのか、あなたのアプリに何が必要なのか、それはhtmlでアプリを開発しようとしたが、それは悪かった。 Web表示は、余分な層を形成するので

+0

ありがとうございます。 –

+3

私は同意しなければなりません。まず、あなたのwebviewのコンテンツは、アプリケーション自体と簡単に通信できます。これは限られていますが、情報アプリの大多数にとって、これはより安全なアプローチになります。 HTMLは、Webデザイナー/開発者がHTML/CSS/JSで経験したためにより高い品質のアプリケーションを簡単に開発できるようにします – Mayhem

0

短所のWebView

  • は、デバイスの性能をフルに使用することはできません。
  • Webビューですべてのユーザーイベントを聴くことはできません。
  • ウェブビューからのデータを完全に共有したり、アプリに保存することはできません。
  • 時間をかけて読み込みます。他のものは単純なAPIですべてを取得し、レンダリングすることができます。
  • ページの単純なフィールドを変更すると、もう一度ページ全体を読み込む必要があります。
  • オンラインにする必要があります。オフライン機能は拡張できません。
  • オリエンテーションが変更され、フルスクリーンが表示されない。

AndroidとiOSの両方に

  • 1ページをWebビューを使用してのの長所。
  • 主な利点は、すべてのページがサーバー上にあるため、各ユーザーが自分のデバイスでアプリケーションを更新する必要なく変更を加えることができると思います。
  • 更新のためのアプリストアの承認を待つことはありません。

いくつかのテクニックのWebViewと一緒

  • ネイティブの要素。私は、WebViewだけではできない多くの機能があるので、はるかに優れていると思います。 2つの組み合わせが推奨されます。
  • ローカルからのレンダリング、HTMLファイル用のassetsディレクトリを作成する - Androidは内部的にfile:/// android_asset /(単数の資産に注意)にマッピングします。したがって、あなたがオフラインであっても、あなたのウェブビューフォームをローカルに供給することができます。
+0

"オンラインで必要ですか?" 'localStorage' JavaScriptオブジェクトを使って、あなたのアプリケーションのためにローカルにデータを保存することができます。また、Webviewはjqueryなどを通じてUIイベントを聴くことができます。 –

関連する問題