昨夜、同僚がこの質問をしているのを偶然見ました。注意して考え、インターネット上のコメントも参照しましたが、必要なものは見つかりませんでした。すべてのモバイル端末は Webview を使用する必要があると思いますが、時々大きなギャップが生じるのはなぜですか?
漂亮男人2017-05-16 13:08:37
ポスターはネイティブ アプリと H5 で作成されたアプリを比較することを意味していますか? そうである場合、H5 の最初の問題は、Css3 アニメーションまたは JS アニメーションを使用しても、ネイティブ アプリほどスムーズではありません。場合によっては、まだ異なる場合があります。明らかではありませんが、大量に使用すると、ページのレンダリングやリモート データの読み取りに遅延が発生し、プリロードさえも理想的ではありません。 2 つ目は、ページをレンダリングするために大規模なデータをロードする場合、頻繁な DOM 操作です。MVVM フレームワークを使用している場合でも、コードがエレガントでエレガントであることを確認する必要があります。十分に良好であり、メモリ制御が必要です。非常に良好です。これはプログラマ自身のテストでもあります。 WebViewの互換性もしっかりしています。
最も重要なことは、どのようなソリューションや方法を使用しても、パフォーマンスの問題はネイティブ アプリとは比べものにならないということです。
仅有的幸福2017-05-16 13:08:37
アプリはネイティブ言語で実装されているため、効率と速度が明らかに優れています。Web ページの場合は、ネットワークに依存するか、中間変換を通じて Web ページをレンダリングするため、ネイティブ言語よりも多くのプロセスが必要です。アプリはネイティブのものよりも優れているはずですが、その差はますます小さくなり、Web ページもいつかは同じくらいスムーズになると思います。
世界只因有你2017-05-16 13:08:37
モバイル アプリケーションのアーキテクチャは依然としてネイティブが主流であり、リッチ テキストやイベント ページなど、WebView が使用される場所は比較的少ないです。
iOS を例に挙げると、UI インターフェイスが最初にロードされ、次に要求されたデータがロードされます。ただし、モバイル Web ページでは、サーバーが HTML、CSS、JS、その他のライブラリなどの大量のデータを返す必要があります。そのため、モバイル Web ページは人々に行き詰まりを感じさせます。
仅有的幸福2017-05-16 13:08:37
私はまた、この問題の本質は、DOM 操作がネイティブ アプリのさまざまな非表示と表示機能よりも時間がかかることであることを発見しました。なぜなら、初期の HTML デザインは単純なページ表示とコンテンツのストリーミングを目的としたものだったからです。最近では、ページ要素がますます増えており、特に DOM の追加、削除、変更を繰り返すと遅延が発生します。たとえば、vscode と sublime で大きなファイルを開く場合、コンピューターがどれほど高構成であっても、前者を使用すると、わずか 1 ~ 2 秒程度ではありますが、常に多少の遅延が発生します。 Sublimeはネイティブアプリなのでそこまで引っかかりません。