Zum Inhalt springen

WebView: Unterschied zwischen den Versionen

Aus Android Wiki
Md 42 (Diskussion | Beiträge)
Seite ganz neu angelegt
 
Md 42 (Diskussion | Beiträge)
K Abschnitt zu Sicherheitsproblemen
Zeile 1: Zeile 1:
'''WebView''' ist eine Komponente von [[Android]] zur Darstellung von Web-Inhalten, z.B. HTML-Dateien mit JavaScript und CSS.  
'''WebView''' ist eine Komponente von [[Android]] zur Darstellung von Web-Inhalten, z.B. HTML-Dateien mit JavaScript und CSS.<ref name="androidpolice_webview_lollipop">{{Cite web | url = http://www.androidpolice.com/2014/10/19/lollipop-feature-spotlight-webview-now-unbundled-android-free-auto-update-google-play/ | title = [Lollipop Feature Spotlight] WebView Is Now Unbundled From Android And Free To Auto-Update From Google Play | date = 2014-10-19 | accessdate = 2017-05-09 | publisher = androidpolice.com | author = Cody Toombs | language = en | quote = 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. }}</ref>
Die anzuzeigenden Web-Inhalte können aus dem Internet geladen werden oder in einer [[App]] selbst als lokale Ressource enthalten sein.
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 von der WebView-Komponente ''WebKit'' verwendet.<ref name="webview_api_doc">{{Cite web | url = https://developer.android.com/reference/android/webkit/WebView.html | title = Offizielle Entwickler-Dokumentation zur Klasse WebView | accessdate = 2017-05-09 | publisher = Google | language = en | quote = A View that displays web pages. [...]  It uses the WebKit rendering engine to display web pages [...] }}</ref>
Als ''Rendering Engine'' wird von der WebView-Komponente ''WebKit'' verwendet.<ref name="webview_api_doc">{{Cite web | url = https://developer.android.com/reference/android/webkit/WebView.html | title = Offizielle Entwickler-Dokumentation zur Klasse WebView | accessdate = 2017-05-09 | publisher = Google | language = en | quote = A View that displays web pages. [...]  It uses the WebKit rendering engine to display web pages [...] }}</ref>


Mehrere Web-Browser-Apps für Android verwenden zur Darstellung der Web-Inhalte ''WebView'', z.B. Cliqz<ref>{{Cite web | url = https://cliqz.com/magazine/android-komponente-webview-verursacht-probleme-jetzt-updaten | title = Android-Komponente WebView verursacht Probleme – jetzt updaten! | date = 2017-01-27 | publisher = cliqz.com | author = Björn Greif | accessdate = 2017-05-09 | quote = Android-Apps wie Cliqz nutzen WebView zur Anzeige von Webinhalten. }}</ref>, ''Lightning''<ref name="android_police_leichtgewichtige_browser">{{Cite web | url = http://www.androidpolice.com/2017/05/08/three-lightweight-android-browsers-may-speed-old-smartphone-tablet/ | title = Three lightweight Android browsers that may speed up your old smartphone or tablet | date = 2017-05-08 | accessdate = 2017-05-09 | publisher = androidpolice.com | language = en | author = Corbin Davenport | quote = 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.}}</ref> oder Jelly (Browser für [[LineageOS]])<ref name="android_police_leichtgewichtige_browser" />.
Mehrere Web-Browser-Apps für Android verwenden zur Darstellung der Web-Inhalte ''WebView'', z.B. Cliqz<ref>{{Cite web | url = https://cliqz.com/magazine/android-komponente-webview-verursacht-probleme-jetzt-updaten | title = Android-Komponente WebView verursacht Probleme – jetzt updaten! | date = 2017-01-27 | publisher = cliqz.com | author = Björn Greif | accessdate = 2017-05-09 | quote = Android-Apps wie Cliqz nutzen WebView zur Anzeige von Webinhalten. }}</ref>, ''Lightning''<ref name="android_police_leichtgewichtige_browser">{{Cite web | url = http://www.androidpolice.com/2017/05/08/three-lightweight-android-browsers-may-speed-old-smartphone-tablet/ | title = Three lightweight Android browsers that may speed up your old smartphone or tablet | date = 2017-05-08 | accessdate = 2017-05-09 | publisher = androidpolice.com | language = en | author = Corbin Davenport | quote = 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.}}</ref> oder Jelly (Browser für [[LineageOS]])<ref name="android_police_leichtgewichtige_browser" />.
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.<ref>{{Cite web | url = https://heise.de/-2552659 | title = Sicher surfen trotz Android 4.3 | date = 2015-02-17 | accessdate = 2017-05-09 | publisher = heise.de | author = Jörg Wirtgen | quote = 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.}}</ref><ref>{{Cite web | url = https://heise.de/-2517130 | title = Millionen Android-Geräte mit Sicherheitslücken auf Lebenszeit | date = 2015-01-13 | accessdate = 2017-05-09 | publisher = heise.de | author = Dennis Schirrmacher | quote = Auf alle Webview-basierten Apps zu verzichten ist wiederum praktisch unmöglich, denn die Komponente wird in der Regel auch für Werbeeinblendungen genutzt ...}}</ref>
Seit Android {{Android|5}} kann diese Komponente deshalb auch ohne Firmware-Updates wie eine "normale" App über [[Google_Play|Google Play]] aktualisiert werden.<ref name="androidpolice_webview_lollipop" />


Bei der Programmierung einer nativen Android-[[App]] mit der Programmiersprache [[Java]] steht die WebView-Komponente als Klasse <code>android.webkit.WebView</code> zur Verfügung.<ref name="webview_api_doc" /><ref>{{Cite web | url = https://developer.android.com/guide/webapps/webview.html | title = Building Web Apps in WebView (API Guide) | accessdate = 2017-05-09 | publisher = Google | language = en }}</ref>
Bei der Programmierung einer nativen Android-[[App]] mit der Programmiersprache [[Java]] steht die WebView-Komponente als Klasse <code>android.webkit.WebView</code> zur Verfügung.<ref name="webview_api_doc" /><ref>{{Cite web | url = https://developer.android.com/guide/webapps/webview.html | title = Building Web Apps in WebView (API Guide) | accessdate = 2017-05-09 | publisher = Google | language = en }}</ref>

Version vom 9. Mai 2017, 09:30 Uhr

WebView ist eine Komponente von Android zur Darstellung von Web-Inhalten, z.B. HTML-Dateien mit JavaScript und CSS.[1] 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 von der WebView-Komponente WebKit verwendet.[2]

Mehrere Web-Browser-Apps für Android verwenden zur Darstellung der Web-Inhalte WebView, z.B. Cliqz[3], Lightning[4] oder Jelly (Browser für LineageOS)[4].

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.[5][6] Seit Android Lollipop "Lollipop" kann diese Komponente deshalb auch ohne Firmware-Updates wie eine "normale" App über Google Play aktualisiert werden.[1]


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


Einzelnachweise

  1. 1,0 1,1 Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. 2,0 2,1 Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. 4,0 4,1 Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  6. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  7. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.