WebView

Aus Android Wiki
Zur Navigation springen Zur Suche springen

WebView ist eine Komponente von Android zur Darstellung von Web-Inhalten, z.B. HTML-Dateien mit JavaScript und CSS.[1][2] Die anzuzeigenden Web-Inhalte können aus dem Internet geladen werden oder in einer App selbst als lokale Ressource enthalten sein. Als Rendering Engine wird WebKit verwendet.[3]

Mehrere Web-Browser-Apps für Android verwenden zur Darstellung der Web-Inhalte WebView, z.B. Cliqz[4], Lightning[5] oder Jelly (Browser für LineageOS).[5] Nicht alle Web-Browser-Apps für Android basieren auf der WebView-Komponente, der Firefox Browser Play Store bspw. verwendet seine eigene Rendering-Engine "Gecko".[6] Da nicht nur einige Browser-Apps, sondern auch viele andere Apps die WebView-Komponente z.B. zur Einblendung von Werbe-Bannern verwenden, sind Sicherheitslücken in dieser Komponente besonders problematisch.[7][8][9] Seit Android Lollipop "Lollipop" kann diese Komponente als Android System WebView Play Store auch ohne ein Firmware-Update wie eine "normale" App über Google Play aktualisiert werden.[1][10]

Es gibt auch den Ansatz Apps für Android (und andere mobile Betriebssysteme) als sog. hybride App zu realisieren, wobei die eigentliche App mit Web-Technologien (HTML, JavaScript, CSS) implementiert wird. Dieser Web-Content wird dann in eine Container-App gepackt, die die eigentliche App mit dem WebView-Element darstellt. [11][12] Ein bekanntes Framework für die Erstellung solcher hybrider Apps ist Apache Cordova.[13]

Bei der Programmierung einer nativen Android-App mit der Programmiersprache Java steht die WebView-Komponente als Klasse android.webkit.WebView zur Verfügung.[3][14]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. 1,0 1,1 Cody Toombs (2014-10-19). "[Lollipop Feature Spotlight] WebView Is Now Unbundled From Android And Free To Auto-Update From Google Play" (in English). androidpolice.com. Abgerufen am 2017-05-09. As of Android 5.0, the WebView component will be a distinct apk, allowing it to be upgraded separately from the OS. Not only will this ensure important security updates find their way to our devices [...] For those who aren't familiar with WebView, it's a component developers can use within their apps to display web content without launching a separate web browser. 
  2. Stefan Beiersmann (2015-03-11). "Google schließt Freak-Lücke in Android WebView". zdnet.de. Abgerufen am 2017-05-09. WebView ist die Komponente von Android, die für die Darstellung von Web-Inhalten zuständig ist. Sie basierte anfänglich auf der Rendering-Engine WebKit und steckt nicht nur im namenlosen Android-Browser, sondern wird von allen anderen Apps genutzt, die über keine eigene Browsertechnik verfügen. 
  3. 3,0 3,1 "Offizielle Entwickler-Dokumentation zur Klasse WebView" (in English). Google. Abgerufen am 2017-05-09. A View that displays web pages. [...] It uses the WebKit rendering engine to display web pages [...] 
  4. Björn Greif (2017-01-27). "Android-Komponente WebView verursacht Probleme – jetzt updaten!". cliqz.com. Abgerufen am 2017-05-09. Android-Apps wie Cliqz nutzen WebView zur Anzeige von Webinhalten. 
  5. 5,0 5,1 Corbin Davenport (2017-05-08). "Three lightweight Android browsers that may speed up your old smartphone or tablet" (in English). androidpolice.com. Abgerufen am 2017-05-09. The best thing about Lighting, in my opinion, is that it uses Android's built-in WebView engine. [...] Jelly is a brand-new browser being developed by the LineageOS [...] and like Lighting, it uses Android's built-in WebView engine. 
  6. "Simple Firefox for Android build" (in English). Mozilla Developer Network. 2017-04-17. Abgerufen am 2017-05-09. Firefox for Android is built on top of the Gecko platform back-end. Gecko is Mozilla's web rendering engine, similar to Edge, Blink, and WebKit, and is responsible for rendering web content, running JavaScript code, and providing web APIs to pages 
  7. Jörg Wirtgen (2015-02-17). "Sicher surfen trotz Android 4.3". heise.de. Abgerufen am 2017-05-09. Problematisch daran ist, dass erstens nicht nur Browser diese Komponente nutzen, sondern auch viele Apps. [...] Die meisten Apps, die Werbebanner einblenden, dürften dafür ebenfalls WebView nutzen. 
  8. Dennis Schirrmacher (2015-01-13). "Millionen Android-Geräte mit Sicherheitslücken auf Lebenszeit". heise.de. Abgerufen am 2017-05-09. Auf alle Webview-basierten Apps zu verzichten ist wiederum praktisch unmöglich, denn die Komponente wird in der Regel auch für Werbeeinblendungen genutzt ... 
  9. Jo Bager (2013-09-28). "Android-Geräte anfällig für Angriffe über Werbung". heise.de. Abgerufen am 2017-05-09. Viele Anwendungen sichern aber den Kanal zwischen der WebView-Komponente und dem Ad-Server nicht richtig ab, von dem die Werbung kommt. Das kann sie zum Ziel für Man-in-the-middle-Attacken machen, etwa wenn sich der Angreifer im selben W-LAN-Netzwerk befindet. Der Angreifer kann auf diese Weise beliebigen Code auf dem Gerät des Opfer zur Ausführung bringen. 
  10. Ivan Lučin (2014-10-21). "The Updatable WebView on Android 5.0 Lollipop - what is it and why should you care?" (in English). Infinum Inc. Abgerufen am 2017-05-09. 
  11. Patrick Rudolph (2014-10-21). "Hybrid Mobile Apps: Providing A Native Experience With Web Technologies" (in English). Smashing Magazine. Abgerufen am 2017-05-09. 
  12. "Hybrid-App: Was unterscheidet sie von anderen App-Formaten?". 1&1. 2016-06-02. Abgerufen am 2017-05-09. 
  13. "Apache Cordova (Homepage)" (in English). apache.org. Abgerufen am 2017-05-09. Cordova wraps your HTML/JavaScript app into a native container which can access the device functions of several platforms. 
  14. "Building Web Apps in WebView (API Guide)" (in English). Google. Abgerufen am 2017-05-09.