WebView: Unterschied zwischen den Versionen

Aus Android Wiki
K (Link korrigiert)
(Zwei Links mit Anker auf Artikel zu "App")
Zeile 9: Zeile 9:
Seit Android {{Android|5}} kann diese Komponente als {{PlayStore|com.google.android.webview|Android System WebView}} auch ohne ein [[Firmware]]-Update wie eine "normale" App über [[Google_Play|Google Play]] aktualisiert werden.<ref name="androidpolice_webview_lollipop" /><ref>{{Cite web | url = https://infinum.co/the-capsized-eight/the-updateable-webview-on-android-5-lollipop-what-is-it-and-why-should-you-care | title = The Updatable WebView on Android 5.0 Lollipop - what is it and why should you care? | date = 2014-10-21 | accessdate = 2017-05-09 | publisher = Infinum Inc. | author = Ivan Lučin | language = en }}</ref>
Seit Android {{Android|5}} kann diese Komponente als {{PlayStore|com.google.android.webview|Android System WebView}} auch ohne ein [[Firmware]]-Update wie eine "normale" App über [[Google_Play|Google Play]] aktualisiert werden.<ref name="androidpolice_webview_lollipop" /><ref>{{Cite web | url = https://infinum.co/the-capsized-eight/the-updateable-webview-on-android-5-lollipop-what-is-it-and-why-should-you-care | title = The Updatable WebView on Android 5.0 Lollipop - what is it and why should you care? | date = 2014-10-21 | accessdate = 2017-05-09 | publisher = Infinum Inc. | author = Ivan Lučin | language = en }}</ref>


Es gibt auch den Ansatz [[App|Apps]] für Android (und andere mobile Betriebssysteme) als sog. ''hybride Apps'' 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. <ref>{{Cite web | url = https://www.smashingmagazine.com/2014/10/providing-a-native-experience-with-web-technologies/ | title = Hybrid Mobile Apps: Providing A Native Experience With Web Technologies | date = 2014-10-21 | accessdate = 2017-05-09 | publisher = Smashing Magazine | author = Patrick Rudolph | language = en}}</ref><ref>{{Cite web | url = https://hosting.1und1.de/digitalguide/websites/web-entwicklung/hybrid-app-das-beste-aus-web-und-native-app/ | title = Hybrid-App: Was unterscheidet sie von anderen App-Formaten? | date = 2016-06-02 | accessdate = 2017-05-09 | publisher = 1&1 }}</ref>
Es gibt auch den Ansatz [[App|Apps]] für Android (und andere mobile Betriebssysteme) als sog. [[App#Hybride_App|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. <ref>{{Cite web | url = https://www.smashingmagazine.com/2014/10/providing-a-native-experience-with-web-technologies/ | title = Hybrid Mobile Apps: Providing A Native Experience With Web Technologies | date = 2014-10-21 | accessdate = 2017-05-09 | publisher = Smashing Magazine | author = Patrick Rudolph | language = en}}</ref><ref>{{Cite web | url = https://hosting.1und1.de/digitalguide/websites/web-entwicklung/hybrid-app-das-beste-aus-web-und-native-app/ | title = Hybrid-App: Was unterscheidet sie von anderen App-Formaten? | date = 2016-06-02 | accessdate = 2017-05-09 | publisher = 1&1 }}</ref>
Ein bekanntes Framework für die Erstellung solcher hybrider Apps ist ''Apache Cordova''.<ref>{{Cite web | url = https://cordova.apache.org | title = Apache Cordova (Homepage) | accessdate = 2017-05-09 | publisher = apache.org | language = en | quote = Cordova wraps your HTML/JavaScript app into a native container which can access the device functions of several platforms.}}</ref>
Ein bekanntes Framework für die Erstellung solcher hybrider Apps ist ''Apache Cordova''.<ref>{{Cite web | url = https://cordova.apache.org | title = Apache Cordova (Homepage) | accessdate = 2017-05-09 | publisher = apache.org | language = en | quote = Cordova wraps your HTML/JavaScript app into a native container which can access the device functions of several platforms.}}</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>
Bei der Programmierung einer [[App#Native_App|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>




== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />

Version vom 9. Mai 2017, 12:51 Uhr

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 von der WebView-Komponente 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

  1. 1,0 1,1 Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. 3,0 3,1 Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. 5,0 5,1 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.
  8. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  9. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  10. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  11. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  12. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  13. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  14. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.