利便性とは、決して完全に満足することができないものなのです。 このため、ソフトウェア開発者は、機能性を損なうことなく、より良いユーザー エクスペリエンスを実現するために、常に自分の限界に挑戦するように仕向けられています。 すべては、今日の競争の激しいビジネスにおいて、解約を防ぐためです。 4130>
ハイブリッド アプリケーションの何がそんなにユニークなのでしょうか。 WebViews!
Hybrid Applications
その名前が示すように、これらはネイティブと Web アプリケーションを混ぜたものです。 これらはアプリケーション ストアでダウンロード可能で、ネイティブ アプリケーションのようにデバイスからのアクセス認証を必要としますが、HTML をレンダリングするためにアプリケーションに埋め込まれたブラウザ (WebView) も持っています。 Instagram はハイブリッド アプリケーションの良い例です。
以前、サード パーティのリンクにアクセスするために、デバイス上の新しいブラウザーを開いて、使用したいアプリケーションから移動したことを覚えていますか? これは UX にとって大失敗でしたが、アクティビティ レイアウトの一部としてサードパーティの Web ページを促進するためのアプリ内ブラウザ ウィンドウを作成することで解決されました。 WebViews を賞賛します!
Why Do You Need WebViews?
- アプリケーションの UI をよりよく制御できる。
- たとえば、アプリケーションで近日発売のセールや他のエキサイティングなオファーを宣伝したい場合、アプリケーションのコンテンツを更新するだけなら、アプリケーション全体を更新しなくてもよい。
- 別のサード パーティ製アプリケーションに押し出されるのではなく、Web からコンテンツを取得するアプリ内ブラウザーにリダイレクトされます。 これにより、意図したアプリケーションにとどまる利便性がもたらされます。 例えば、Instagramでは、ストーリーを上にスワイプすると、Chrome、Safari、Firefoxなどのブラウザでコンテンツを開くのではなく、アプリ内ブラウザを通じてウェブページにリダイレクトされることがある。 リダイレクトされた Web ページでは、上下にスクロールしたり、拡大/縮小したり、テキストを検索したりして、コンテンツを自由に移動できます。
- WebView はクロスプラットフォーム開発を可能にするので、開発者は開発コストを削減し、柔軟性を高めることができます。 注意: 1 つのアプリケーションのビルドを複数の OS で動作させることはできません。 HTML、CSS、JavaScript などによる Web 拡張の助けを借りて、別のビルドの開発を容易にすることだけが可能です。 そうすることで、企業は比較的少ない労力でアプリケーション ストアでの存在感を示すことを目指します。
For Generating a WebView, a Developer Needs to:
- Develop an instance of a
webview
class. - Embedded a browser in your application.Ionic Frameworks like App Store and the PWA as the Mobile Web.
- Developing a PWM for a WebView for the WebView.Ionic Frameworks for a Application to an app store and deploying the WebView as a PWA.IONICIAL EDITOR.
- WebView ライブラリの助けを借りてブラウザ機能を追加する。
- Android Manifest ファイルにインターネット許可を追加する。
- アプリ内ブラウザを開くために WebView のコードを追加する。
WebView テスト – WebView の有効な動作メカニズムを確認するテストケースの作成と実行のことを指します。
WebView のテスト中に以下のことに注意してください:
- Web ページの読み込みを中断することにより、アプリケーションが意図した動作に従って応答しているかを確認する。
- コンテンツにハイパーリンクされた電子メール アドレスが WebView に含まれている場合、それらのハイパーリンクがタップされたときにデバイスのメール アプリケーションを開くかどうかを確認します。 また、SIM カードがデバイスに挿入されていない場合、そのハイパーリンクはどのように応答するか。
- 異なるネットワーク モード (2G、3G、WiFi、LTE) で WebView の応答をテストする。 ズームイン/ズームアウトとともに、上下にスクロールして Web コンテンツ内を移動したり、左右にスクロールして画面を移動したりします。
- SMS や信号低下、通知、通話などの外部要素に対する WebView の耐性をテストします。
- デバイスの向きを変え、Web コンテンツがそれらをサポートできるかどうかをテストする。
- グラフィック表示が満足のいくものかどうかをテストする。
- ブラウザ ウィンドウを圧縮し、テキストが適切に圧縮されているかを確認する。 また、あなたの WebView がターゲットとするオーディエンスにどのように描写されているかについてのヒントも得られます。
How to Perform WebView Testing
Espresso Web for Android WebView – このツールは、WebDriver API から Atom を再利用して WebView UI コンポーネントの動作を調査および制御するために役立ちます。 ハイブリッドアプリケーションのテストに最もよく使用されるツールの1つです。 アプリケーションのネイティブ UI コンポーネントと WebView UI コンポーネントの統合をチェックするために必要です。
Espresso Web を使用する前に、そのメソッドのフックを決定するために Web サイトのソース コードを徹底的に分析する必要があります。 このため、大規模な Web サイトでは非常に複雑になる可能性があります。
Alternative Approach
別のアプローチでは、サードパーティのコードを忘れて、Android ベースのコードのみに集中します。 基本的に、WebView は Web サイトの要素をマッピングし、ユーザーが Android View オブジェクトとその拡張機能を通じてそれらと対話できるようにします。 これらのビューには ID がないので findViewById(int id) でアクセスできませんし、アプリケーション パッケージでこれらの ID にアクセスすることもできません。 Android Device Monitor を使用すると、Android アプリケーションの分析とデバッグのための複数のツールを支援する UI を提供するスタンドアロン ツールを使用できます。
- Android Device Monitor を使用して、エミュレーター上のすべての画面のスナップショットを取る必要があります。