{"id":5815,"date":"2024-03-20T12:20:45","date_gmt":"2024-03-20T12:20:45","guid":{"rendered":"https:\/\/byte-bucket.com\/2024\/03\/20\/isolierte-webanwendungen-neue-moeglichkeiten-fuer-plattformuebergreifende-anwendungen\/"},"modified":"2024-03-20T12:20:45","modified_gmt":"2024-03-20T12:20:45","slug":"isolierte-webanwendungen-neue-moeglichkeiten-fuer-plattformuebergreifende-anwendungen","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=5815","title":{"rendered":"Isolierte Webanwendungen: Neue M\u00f6glichkeiten f\u00fcr plattform\u00fcbergreifende Anwendungen?"},"content":{"rendered":"<p>In den letzten Jahren hat sich die Leistungsf\u00e4higkeit des Webs deutlich gesteigert. Das Anwendungsmodell der Progressive Web Apps (PWA) und das Chromium-Initiative Project Fugu haben ma\u00dfgeblich dazu beigetragen, dass immer mehr Anwendungen direkt im Web entwickelt und im Browser ausgef\u00fchrt werden k\u00f6nnen. Beispiele hierf\u00fcr sind Programme wie Photoshop oder Visual Studio Code. Trotzdem wird aufgrund der Sicherheitsarchitektur des Webs die L\u00fccke zwischen den Funktionen plattformspezifischer Anwendungen und Web-Apps, auch bekannt als Web-App-Gap, niemals vollst\u00e4ndig geschlossen werden k\u00f6nnen.<\/p>\n<p>Die Direct Sockets API ist eine Schnittstelle, die nicht direkt im Web verf\u00fcgbar gemacht werden kann. Ihr Zweck besteht darin, Entwicklern die M\u00f6glichkeit zu geben, Server-Ports anzusprechen, die \u00fcber HTTPS, WebSockets und WebRTC hinausgehen. Die Technical Architecture Group (TAG) des W3C \u00e4u\u00dferte deutliche Bedenken, da dies die Same-Origin-Policy (SOP) des Webs umgehen w\u00fcrde. Die SOP stellt eine wichtige Sicherheitsbarriere im Web dar. Das Gremium im W3C hat die Aufgabe sicherzustellen, dass neue Schnittstellen sinnvoll in das World Wide Web integriert werden. Dennoch streben Softwareentwickler danach, von diesen M\u00f6glichkeiten Gebrauch machen zu k\u00f6nnen.<\/p>\n<p>Im Web sind einige grundlegende Schnittstellen entweder nicht verf\u00fcgbar oder zumindest nicht in allen Browsern. Auf der diesj\u00e4hrigen W3C-Jahreskonferenz TPAC in Sevilla im September 2023 k\u00fcndigte die TAG die Bildung einer Taskforce an. Das Ziel dieser Taskforce ist es, Schnittstellen wie die Direct Sockets API auch f\u00fcr das Web zug\u00e4nglich zu machen. Im Fokus der Untersuchung steht ein potenziell leistungsf\u00e4higer Kontext, bei dem der Benutzer einer Installation einer Anwendung ausdr\u00fccklich zustimmen k\u00f6nnte, um zus\u00e4tzliche Funktionen wie den Zugriff auf Sockets freizuschalten.<\/p>\n<p>In der Vergangenheit hat Google bereits einen potenziellen Ansatz f\u00fcr einen solchen leistungsf\u00e4higen Kontext vorgeschlagen: die sogenannten Isolated Web Apps (IWA). Dabei handelt es sich um Webanwendungen, die jedoch als signierte B\u00fcndel \u00fcber herk\u00f6mmliche Vertriebswege wie App-Stores, Installationspakete oder Enterprise-Deployments verbreitet werden. Es w\u00e4re auch m\u00f6glich, das B\u00fcndel direkt durch Sideloading zu installieren. Als Gegenleistung f\u00fcr diesen zus\u00e4tzlichen Vertrauensanker erhalten die Webanwendungen Zugriff auf eine erweiterte Palette von Schnittstellen. Allerdings w\u00fcrden diese nach wie vor \u00fcber einen Webbrowser ausgef\u00fchrt werden. Durch die Verwendung einer Signatur wird es erheblich schwieriger, Man-in-the-Middle-Angriffe durchzuf\u00fchren oder den Quellcode auf dem Anwendungsserver zu manipulieren. Aus diesen Gr\u00fcnden wird der Messenger Signal beispielsweise ausschlie\u00dflich als Electron-App und nicht als Progressive Web App ver\u00f6ffentlicht. Es ist erforderlich, dass alle nachfolgenden Versionen mit demselben Schl\u00fcssel signiert werden und Updates d\u00fcrfen nur auf eine h\u00f6here Versionsnummer angewendet werden.<\/p>\n<p>Die Isolated Web App verhindert das Laden von Quellcode au\u00dferhalb des Anwendungskontextes, was ihren Namen erkl\u00e4rt. Dazu wird ein eigenes URI-Schema eingef\u00fchrt: codeisolated-app:\/\/signed-web-bundle-id\/path\/foo.js?query#fragment\/code. Die codesigned-web-bundle-id\/code repr\u00e4sentiert den Base32-kodierten \u00f6ffentlichen Schl\u00fcssel. Bei IWAs werden Anwendungen \u00fcber die herk\u00f6mmlichen Vertriebswege, die dem Benutzer vertraut sind, bereitgestellt. Dank des zus\u00e4tzlichen Vertrauensankers k\u00f6nnen Anwendungsentwickler ihr vorhandenes Webwissen nutzen und gleichzeitig auf noch leistungsf\u00e4higere Schnittstellen zugreifen. Das W3C w\u00fcrde auch weiterhin die offene Standardisierung dieser Technologien vorantreiben. Die Anwendungen nutzen weiterhin Webtechnologien und k\u00f6nnen Code mit einer PWA teilen, ohne auf zus\u00e4tzliche Ressourcen wie Electron, Tauri, Cordova oder Capacitor zur\u00fcckgreifen zu m\u00fcssen.<\/p>\n<p>Die Web Smart Card API Demo des Chrome-Teams zeigt das IWA-Anwendungsmodell, indem die eingepackte Webanwendung Zugriff auf Smartcards erh\u00e4lt, um Personen zu identifizieren. Um dies zu erreichen, m\u00fcssen sowohl ein Ger\u00e4t mit ChromeOS als auch die Aktivierung mehrerer Feature-Flags vorhanden sein. Im Jahr 2024 soll die Web Smart Card API in Chromium f\u00fcr Windows, macOS und Linux eingef\u00fchrt werden.<\/p>\n<p>Zusammenfassend l\u00e4sst sich sagen, dass Isolated Web Apps m\u00f6glicherweise dazu beitragen k\u00f6nnen, die Kluft zwischen plattformspezifischen Anwendungen und Web-Apps weiter zu verringern und das Feld der plattform\u00fcbergreifenden Anwendungen durcheinanderzubringen. Jedoch befindet sich die gesamte Bem\u00fchung noch in den Anf\u00e4ngen. Bisher wurde die im September angek\u00fcndigte Taskforce noch nicht gebildet und weder Mozilla noch Apple haben sich bisher dazu verpflichtet. Es bleibt abzuwarten, wie sich die Entwicklung in den kommenden Jahren weiterentwickeln wird.<\/p>\n<p>Schlagw\u00f6rter: PWA + Isolated + Fugu<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In den letzten Jahren hat sich die Leistungsf\u00e4higkeit des Webs deutlich gesteigert. Das Anwendungsmodell der Progressive Web Apps (PWA) und das Chromium-Initiative Project Fugu haben ma\u00dfgeblich dazu beigetragen, dass immer mehr Anwendungen direkt im Web entwickelt und im Browser ausgef\u00fchrt werden k\u00f6nnen. Beispiele hierf\u00fcr sind Programme wie Photoshop oder Visual&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":5814,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5815","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/5815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5815"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/5815\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/5814"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}