{"id":4422,"date":"2011-08-07T09:21:00","date_gmt":"2011-08-07T07:21:00","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/2011\/08\/07\/warum-microsoft-bei-windows-8-auf-html-setzt\/"},"modified":"2024-10-02T12:37:47","modified_gmt":"2024-10-02T10:37:47","slug":"warum-microsoft-bei-windows-8-auf-html-setzt","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2011\/08\/07\/warum-microsoft-bei-windows-8-auf-html-setzt\/","title":{"rendered":"Warum Microsoft bei Windows 8 auf HTML setzt?"},"content":{"rendered":"<p>Die Ank\u00fcndigung von Microsoft auf der AllThings D 2011 und auf der Computext, dass Windows 8 Apps mit HTML5, CSS und JavaScript entwickelt w\u00fcrden [1, 2], hat ja zu einigen Diskussionen im Internet gef\u00fchrt [<a href=\"https:\/\/web.archive.org\/web\/20240518011419\/https:\/\/borncity.com\/blog\/2011\/06\/16\/windows-8-netter-beitrag-zum-jupiter-fiasko\/\">5<\/a>]. Viele .NET- und Silverlight-Entwickler sahen bereits ihre Felle wegschwimmen [3, <a href=\"https:\/\/web.archive.org\/web\/20240715031359\/https:\/\/borncity.com\/blog\/2011\/06\/15\/windows-8-erster-blick-auf-jupiter\/\">4<\/a>]. Aber je l\u00e4nger ich mich mit der Frage besch\u00e4ftige, umso genialer finde ich den gew\u00e4hlten Ansatz. In diesem Beitrag m\u00f6chte ich ein paar Gedanken zusammenflicken, die mir so im Web noch nicht untergekommen sind. K\u00f6nnte sein, dass wir noch eine gewaltige \u00dcberraschung erleben.<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/ssl-vg03.met.vgwort.de\/na\/60857722eedb4bf6a1e695d1c273f5ed\" width=\"1\" height=\"1\" \/><\/p>\n<p><!--more--><\/p>\n<p>Die kachelbasierende Benutzeroberfl\u00e4che von Windows 8 spaltet je etwas die Geister. Aber wie es scheint, bewegen sich alle neuen Betriebssysteme, also auch Windows 8, in Richtung Unterst\u00fctzung f\u00fcr Touchbedienung. Mag man m\u00f6gen oder nicht.<\/p>\n<p>Wie es ausschaut, l\u00e4sst sich der StartScreen per Gruppenrichtlinien abschalten. So dass Administratoren vorgeben k\u00f6nnen, ob der Benutzer die alte Windows 7-Oberfl\u00e4che oder den neuen Start Screen nach der Benutzeranmeldung sieht. Und Microsoft hat da bez\u00fcglich Tochbedienung durchaus einige Erfahrung und noch einiges im Petto [9].<\/p>\n<p>Dass dieser Start Screen f\u00fcr Microsoft Vorteile hat und zur Vereinheitlichung in der Produktoberfl\u00e4che diverser Microsoft Produkte hat, f\u00fchrt Paul Thurrots in einem Anfang Juli geposteten Blog-Beitrag aus [6]. Auch der Beitrag unter [<a href=\"http:\/\/web.archive.org\/web\/20120712092014\/http:\/\/windows8.iyogi.com\/news\/windows-8-html-5.html\" target=\"_blank\" rel=\"noopener noreferrer\">18<\/a>] rutscht auf diesen Ans\u00e4tzen herum. Unter [8] wird berichtet, dass bei Bing eventuell Live Tiles Einzug halten. Da ist es naheliegend, dass man auf HTML5 setzt. Unter [8] hatte ich noch auf einen Artikel bei heise.de verwiesen (hat mir etwas Kritik eingebracht), der u. U. auch zur Beruhigung der .NET-Fraktion beitragen k\u00f6nnte.<\/p>\n<p><strong>Aber ist das alles?<\/strong><\/p>\n<p>Gut, kann man zur Kenntnis nehmen und zur Tagesordnung \u00fcbergehen. Aber irgendwie nagt es an mir, dass Microsoft die Ausf\u00fchrungen zu HTML5, CSS und JavaScript auf der AllThings D 2011 trotz der Diskussionen im Internet unkommentiert stehen l\u00e4sst. Man h\u00e4tte ja sagen k\u00f6nnen \"App-Entwicklung f\u00fcr den Start Screen erfolgt bevorzugt mit HTML5 und JavaScript, aber .NET und Silverlight sind dank XAML m\u00f6glich\". Hat man aber nicht gemacht.<\/p>\n<p>Irgendwann habe ich mir die Frage gestellt, k\u00f6nnte da nicht noch was anderes dahinter stecken. Wo kneift es Microsoft denn mit den alten Windows-Ans\u00e4tzen? Der Hinweise auf MinWin und Hyper-V [<a href=\"https:\/\/borncity.com\/blog\/2011\/08\/04\/minwin-hyper-v-und-windows-8\/\">10<\/a>, <a href=\"http:\/\/web.archive.org\/web\/20140730210929\/http:\/\/www.winbeta.org\/?q=news\/windows-8-minwin-and-what-it-means-virtualization\" target=\"_blank\" rel=\"noopener noreferrer\">16<\/a>] haben mich in eine g\u00e4nzlich andere Richtung gedreht und mich bewogen, nochmals meine \u00e4lteren Blog-Beitr\u00e4ge anzusehen. In meinem ersten Beitrag [11] im Windows 8-Channel gehe ich auch auf die Thematik \"MinWin &amp; Virtualisierung\" ein und zeige einige Folien aus Pr\u00e4sentationen, die von Microsoft Mitarbeitern gehalten wurden. Es kreist alles um die Frage, wie viel Virtualisierung ein zuk\u00fcnftiges Betriebssystem haben sollte.<\/p>\n<p>Zeit, also mal einen kurzen Blick auf zwei Knackpunkte zu richten, die Windows 8 massiv beeinflussen und auf die die Entwickler wohl eine Antwort haben sollten.<\/p>\n<p><strong>Kompatibilit\u00e4t mit Altanwendungen<\/strong><\/p>\n<p>Der gro\u00dfe Vorteil von Windows ist seine Installationsbasis. Die Altlast, die man mitschleppt, sind aber die Altanwendungen, die speziell im Firmenumfeld gefahren werden m\u00fcssen. Bisher waren der Kompatibilit\u00e4tsmodus und Windows XP-Mode die Antwort von Microsoft auf Probleme mit Altanwendungen. Aber dieser Ansatz tr\u00e4gt nicht mehr lange. Wenn Windows 8 2012 auf den Markt kommt, wird in Firmen nicht vor 2013\/2014 \u00fcber eine Migration nachgedacht.<\/p>\n<p>2014 l\u00e4uft aber der extended Support f\u00fcr Windows XP SP3 aus, der \"End of Live\"-Cyle ist erreicht. Also w\u00e4re man ab diesem Zeitpunkt von Altanwendungen abgeschnitten oder m\u00fcsste mit einem unsupporteten Windows XP arbeiten. Kaum vorstellbar.<\/p>\n<p>An anderer Stelle hatte ich bereits die Frage aufgeworfen, warum man unbedingt ein vollst\u00e4ndiges Windows XP mit Notepad, Paint, Windows Media Player, Internet Explorer 6 etc. mitschleppen muss, wenn man eine Anwendung virtualisieren will. Ein minimales Windows XP, reduziert auf den Kern bzw. die Unterst\u00fctzung der API-Aufrufe (wie bei WINE) w\u00e4ren eigentlich ausreichend, um ein Altanwendung wieder zum Leben zu erwecken. Diese l\u00e4uft virtualisiert als Task. App-V [<a href=\"https:\/\/web.archive.org\/web\/20150121080858\/https:\/\/technet.microsoft.com\/en-us\/library\/cc843848.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">17<\/a>] ist der von Microsoft seit einiger Zeit verfolgte Ansatz zur Anwendungsvirtualisierung. Also deutet sich hier ein Weg an.<\/p>\n<p><strong>Kompatibilit\u00e4t mit Altanwendungen auf ARM-Systemen<\/strong><\/p>\n<p>Da Windows 8 die ARM-Plattformen abdecken wird, kommt Microsoft ein weiteres Problem in die Quere: Auf ARM-Plattformen l\u00e4uft typischerweise die alte x86-Software nicht mehr. Microsoft wird zwar eigene Produkte f\u00fcr ARM compilieren, so dass Office und weitere Produkte beim Marktstart bereitstehen. Aber die Millionen an Altanwendungen f\u00fcr x86-Plattformen bleiben au\u00dfen vor \u2026<\/p>\n<p>Etwas stutzig wurde ich beim Bloggen \u00fcber die Intel Investorenkonferenz [<a href=\"https:\/\/borncity.com\/blog\/2011\/05\/25\/windows-7-mode-fr-windows-8\/\">12<\/a>], wo ein Intel Mitarbeiter Ren\u00e9e James ausf\u00fchrte, dass die ARM-Varianten von Windows 8 keine \"alten Anwendungen\" ausf\u00fchren k\u00f6nnen (ergo auch keinen \"Windows 7 Mode\" aufweise). Klang f\u00fcr mich in diesem Kontext logisch. Aufgemerkt habe ich, als dem kurzfristig nach der Konferenz von Microsoft widersprochen wurde (habe ich <a href=\"https:\/\/web.archive.org\/web\/20150623223247\/https:\/\/borncity.com\/blog\/2011\/05\/20\/vier-windows-8-arm-varianten-geplant\/\">hier<\/a> nachgetragen). Wie allerdings alte x86-Anwendungen, die nur als .exe-Datei vorliegen, nativ in einer ARM-Umgebung ausgef\u00fchrt werden, blieb mir damals schleierhaft.<\/p>\n<p><strong>Und wie kommt HTML und JavaScript nun ins Spiel?<\/strong><\/p>\n<p>Erinnert mich jetzt an meine Schulaufs\u00e4tze, wo der Lehrer sagte \"Born kommt mal wieder vom 'H\u00f6lzchen auf's St\u00f6ckchen'\" \u2013 aber der obige Schlenker muss schon sein. Denn bei der Betrachtung dieser Problematik fiel mir ein Hinweis von Jo Mary Foley auf Technologien ein, die Microsoft in seinen Labors ausprobiert [<a href=\"https:\/\/borncity.com\/blog\/2011\/05\/25\/windows-7-mode-fr-windows-8\/\">12<\/a>]. Und dann habe ich mal angefangen etwas zu graben. Das Stichwort XAX-Technologie f\u00fchrte mich dann zu einem Artikel, den einige Mitarbeiter aus der Microsoft Forschungsabteilung 2008 publiziert haben [<a href=\"http:\/\/research.microsoft.com\/apps\/pubs\/?id=72878\" target=\"_blank\" rel=\"noopener noreferrer\">13<\/a>].<\/p>\n<p>Beim Lesen dieses Artikels sind mit die Augen \u00fcbergegangen. Es ging um die Frage, wie man Anwendungen ins Web heben und ggf. virtualisieren kann. In dem Beitrag zeigen die Forscher, dass man zur Virtualisierung nur ein Syscall-Interface bereitstellen muss, welches die API-Aufrufe der Anwendungen entgegennimmt. Alle anderen Geschichten, die heute von Supervisoren in Virtualisierungsl\u00f6sungen gestemmt werden sowie das Hosten ganzer Betriebsysteme sind \u00fcberfl\u00fcssig. Die Leute sprechen von sogenannten Picoprozessoren, die einen Core abstrahieren und als \"abgespeckte\" virtuelle Maschine gesehen werden k\u00f6nnen. Diese f\u00fchren eine Anwendung aus und virtualisieren diese in einer Sandbox gegen\u00fcber dem Betriebssystem. In einem Forschungsprojekt konnte gezeigt werden, dass binnen 2 Wochen mehrere Millionen Zeilen Code bestehender Anwendungen unter Windows und Linux virtualisierbar war.<\/p>\n<p>So, what's the beef? G\u00e4nzlich elektisiert haben ich zwei Aussagen in dem Paper der Microsoft Forscher. Einmal war es ja das Ziel, Desktop-Apps ins Web zu heben. Die Implementierung fand daher als Browser-Add-On statt. Ups, ein Browser? Das ist doch dat Dingens, wat HTML-Code versteht und JavaScript kann! Und da schlie\u00dft sich der erste Kreis. Mit XAX hat Microsoft eine Technologie in den Forschungslabors, mit dem sich in einer Rendering Engine als Browser-Add-On Anwendungen \u00fcber Picoprozessoren virtualisieren lassen. Die im Paper vorgestellten Performance-Messungen sehen auch gar nicht mal so \u00fcbel aus. Geht man das Paper durch, st\u00f6\u00dft man auf einen Abschnitt \"Binary rewriting\", der sich damit besch\u00e4ftigt, wie ggf. Code von RISC-Prozessoren, der ja nicht x86-kompatibel ist, durch ver\u00e4ndern des Bin\u00e4rcodes virtualisiert werden kann. Und damit schlie\u00dft sich der zweite Kreis \u2013 ein entsprechender Picoprozess k\u00f6nnte auf einem ARM-System durchaus x86-Code verarbeiten und damit Anwendungen ausf\u00fchren. So gesehen macht das oben erw\u00e4hnte Microsoft Dementi, dass noch keine Entscheidung gefallen sei, ob Windows 8 for ARM keinen \"Windows 7-Mode\" bekommt, sehr viel Sinn.<\/p>\n<p>Gr\u00e4bt man dann noch etwas weiter, st\u00f6\u00dft man auf zwei weitere interessante Artikel [<a href=\"http:\/\/research.microsoft.com\/pubs\/141971\/tr.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">14<\/a>, <a href=\"http:\/\/www.usenix.org\/event\/webapps11\/tech\/final_files\/Lerner.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">15<\/a>].\u00a0 Der erste Artikel befasst sich mit Sicherheitsaspekten bei Browser-Erweiterungen. Und der zweite Artikel wurde gerade erst ver\u00f6ffentlich und geht auf HTML-basierende Anwendungen (Apps) ein. \u00dcbersetzt man das Wort \"immersive\" in \"immersive apps\" als \"eingetaucht\" oder \"eingebettet\", hei\u00dft das: Die neuen Windows 8-Apps werden in irgend etwas eingebettet. Und das k\u00f6nnten ja durchaus alte x86-Anwendungen oder aktuelle x86-Anwendungen sein, die dann in einem Picprozessor virtualisiert werden.<\/p>\n<p>Es mag sein, dass ich mit meinen Spekulationen am Ende des Tages total daneben liege. Aber bei n\u00e4herer Betrachtung tun sich sehr viele interessante M\u00f6glichkeiten auf. Fr\u00fcher oder sp\u00e4ter werden wir auf dieser Baustelle ankommen \u2013 sch\u00e4tze ich mal.<\/p>\n<p><strong>Links:<\/strong><br \/>\n1: Windows 8 Preview auf Computex &amp; AllThings D<br \/>\n2: Windows 8 Video(-analyse) von der D9<br \/>\n3: Stirbt Silverlight mit Windows 8?<br \/>\n4: <a href=\"https:\/\/web.archive.org\/web\/20240715031359\/https:\/\/borncity.com\/blog\/2011\/06\/15\/windows-8-erster-blick-auf-jupiter\/\">'Windows 8': Erster Blick auf \"Jupiter\"?<\/a><br \/>\n5: <a href=\"https:\/\/web.archive.org\/web\/20240518011419\/https:\/\/borncity.com\/blog\/2011\/06\/16\/windows-8-netter-beitrag-zum-jupiter-fiasko\/\">Windows 8: Netter Beitrag zum Jupiter-Fiasko<\/a><br \/>\n6: Celebrating Microsoft's Cohesive New User Experience Strategy<br \/>\n7: Netter Artikel zur .NET-Zukunft unter Win 8<br \/>\n8: Arbeitet Microsoft an Bing Live Tiles?<br \/>\n9: Interessante MS-Patente f\u00fcr Touchbedienung<br \/>\n10: <a href=\"https:\/\/borncity.com\/blog\/2011\/08\/04\/minwin-hyper-v-und-windows-8\/\">MinWin, Hyper-V und Windows 8<\/a><br \/>\n11: Blick in die Glaskugel: so wird Windows 8<br \/>\n12: <a href=\"https:\/\/borncity.com\/blog\/2011\/05\/25\/windows-7-mode-fr-windows-8\/\">\"Windows 7 Mode\" f\u00fcr Windows 8?<\/a><br \/>\n13: <a href=\"http:\/\/research.microsoft.com\/apps\/pubs\/?id=72878\" target=\"_blank\" rel=\"noopener noreferrer\">Leveraging legacy code to deploy desktop applications on the Web<\/a><br \/>\n14: <a href=\"http:\/\/research.microsoft.com\/pubs\/141971\/tr.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Verified Security for Browser Extensions<\/a><br \/>\n15: <a href=\"http:\/\/www.usenix.org\/event\/webapps11\/tech\/final_files\/Lerner.pdf\" name=\"title_3\">C3: <b>An<\/b> <b>Experimental<\/b>, <b>Extensible<\/b>, Reconfigurable Platform for HTML &#8230;<\/a><br \/>\n16: <a href=\"http:\/\/web.archive.org\/web\/20140730210929\/http:\/\/www.winbeta.org\/?q=news\/windows-8-minwin-and-what-it-means-virtualization\" target=\"_blank\" rel=\"noopener noreferrer\">Windows 8: MinWin and what it means for virtualization<\/a><br \/>\n17: <a href=\"https:\/\/web.archive.org\/web\/20150121080858\/https:\/\/technet.microsoft.com\/en-us\/library\/cc843848.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Application Virtualization<\/a><br \/>\n18: <a href=\"http:\/\/web.archive.org\/web\/20120712092014\/http:\/\/windows8.iyogi.com\/news\/windows-8-html-5.html\" target=\"_blank\" rel=\"noopener noreferrer\">Why Windows\u00ae 8 Chooses HTML 5 over Visual Basic and Java\u00ae Script?<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Ank\u00fcndigung von Microsoft auf der AllThings D 2011 und auf der Computext, dass Windows 8 Apps mit HTML5, CSS und JavaScript entwickelt w\u00fcrden [1, 2], hat ja zu einigen Diskussionen im Internet gef\u00fchrt [5]. Viele .NET- und Silverlight-Entwickler sahen &hellip; <a href=\"https:\/\/borncity.com\/blog\/2011\/08\/07\/warum-microsoft-bei-windows-8-auf-html-setzt\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[1116,1153,1359,1374,4336,1373],"class_list":["post-4422","post","type-post","status-publish","format-standard","hentry","category-virtualisierung","tag-html5","tag-immersive-apps","tag-minwin","tag-picoprozessoren","tag-windows-8-beta","tag-xax"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/4422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=4422"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/4422\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=4422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=4422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=4422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}