Windows 8.1 App-Entwicklung: der Weg zu ­Windows 10

Windows 8.1 App-Entwicklung: der Weg zu ­Windows 10

Seit einigen Wochen steht die Consumer Preview von Windows 10 zum Download bereit und eines ist klar: mit Windows 10 nimmt Microsoft wieder verstärkt die Desktop-Anwender ins Visier, die besonders unter Windows 8, aber auch noch unter Windows 8.1 mit einem suboptimalen Benutzererlebnis konfrontiert wurden. Für Entwickler stellt sich da die Frage… sind Apps jetzt wieder obsolet? Was geschieht mit bestehenden Apps für Windows 8.1? Macht Microsoft einen Kehrtschwenk hin zu WPF?

Soviel vorab: Microsoft hat noch keine konkreten Angaben zum Entwicklungsmodell unter Windows 10 gemacht, im Allgemeinen rücken die Redmonder allerdings das Modell der Universal Apps stark in den Vordergrund. Gemeint sind damit Apps, die mit minimalem zusätzlichen Entwicklungsaufwand auf verschiedenen Formfaktoren (Desktop, Tablet, Phone, TV, …) lauffähig sein sollen. Dass jeder Formfaktor eine angepasste UI benötigt, steht außer Frage. Evtl. lassen sich die Microsofties jedoch Konzepte und Controls einfallen, die sich je nach Gerät unterschiedlich verhalten und darstellen, um „echte“ Universalität im Windows-Ökosystem zu erreichen. Mehr dazu werden wir auf der BUILD-Konferenz Ende April erfahren.

Soviel jedoch ist sicher: bestehende Apps werden weiterhin unter Windows 10 lauffähig sein. Und hat man sich bei der App-Entwicklung unter Windows 8.1 die Mühe gemacht, z.B. auf dynamische App-Größen zu reagieren, so muss die bestehende App für Windows 10 quasi nicht angepasst werden.

Größenänderung

Für Desktop-Benutzer erfreulich: Apps werden ihnen nun standardmäßig in einem Fenster auf dem Desktop angezeigt, wo sie verschoben, minimiert/maximiert und in ihrer Größe verändert werden können. Nachdem Windows 8 nur einen sehr eingeschränkten „Snapped State“ für Apps mit einer fixen Breite von 320px anbot, erlaubte Windows 8.1 bereits beliebige App-Breiten – wofür Entwickler ihre Apps jedoch anpassen mussten. Dies zeichnete bereits den Weg vor, den Windows 10 nun mit beliebigen App-Größen einschlägt.

Der folgende Screenshot ist aus der Business-App SDX Privatbilanz entnommen, die ich während meiner Arbeit bei der SDX AG als technischen Showcase erstellen durfte und die Bestandteil etlicher Vorträge und Blogbeiträge war. Ich habe diese Windows 8.1 App unter Windows 10 (Consumer Preview) in Visual Studio 2015 (Preview) neu kompiliert und voila: sie lief direkt und ohne sonstige Anpassungen:

Windows 10 Apps im Fenster

Diese App kann auf dem Desktop nun in der Größe verändert werden. Dabei stellt man fest, dass die minimale Höhe einer von Windows 8.1 konvertierten App 630px beträgt (Stand: Consumer-Preview von Windows 10). Eine weitere Verkleinerung ist nicht möglich. Die minimale Breite beträgt wie bei Windows 8.1 320px bzw. 550px, je nachdem, was der Entwickler im APPX-Manifest festgelegt hat. Diese Vorgaben machen durchaus Sinn, denn Windows 8.1 Apps wurden aufgrund der Festlegungen dieser Betriebssystemversion von Entwicklern natürlich gar nicht dafür vorgesehen in Fenstern mit beliebiger Höhe dargestellt zu werden. Für den Endanwender bedeutet dies eine unliebsame Einschränkung, da er Apps evtl. kleiner ziehen möchte, aber nicht kann. Es ist wahrscheinlich, dass „reine“ Windows 10 Apps (die nicht von Windows 8.1 konvertiert wurden) diese Einschränkung nicht haben und Windows 8.1 Apps in einer Art „Kompatibilitätsmodus“ laufen – dies bleibt jedoch abzuwarten. Folgender Screenshot zeigt die Privatbilanz-App in ihrer minimal möglichen Größe mit einer Breite von 320px, die gleichzeitig dem Snapped State unter Windows 8 entspricht:

Windows 1 Apps in minimaler Größe

Zwischen den Größen kann der Benutzer beliebig skalieren, das Layout passt sich entsprechend wie vom Entwickler vorgesehen an:

Windows 10 Apps skaliert

Und genau hier liegt die Essenz der Fenster-Apps unter Windows 10: wenn man sich als Entwickler unter Windows 8.1 bereits viel Mühe gegeben hat, das Layout adaptiv an verschiedene Darstellungs-Breiten der App anzupassen, so verhält sich die App auch unter Windows 10 für den Benutzer ansprechend.

Weitere App-Modi

Wie jede normale Windows-Anwendung können Apps minimiert und maximiert werden:

Windows 10 Apps maximiert

Darüber hinaus kann eine App jedoch nicht nur im Fenster dargestellt werden… befindet sich der Computer im Tablet-Modus oder drückt der Benutzer auf den „Vergrößern“-Button in der Kommandozeile der App, so werden die Kommandozeile und die Taskbar ausgeblendet und die App wird im „echten“ Vollbild wie bei Windows 8.1 ausgeführt:

Windows 10 Apps im Vollbild

Windows 8.1 Features unter Windows 10

Bekanntermaßen hat Microsoft die ungeliebte Charms Bar aus Windows 10 entfernt – zumindest in der Preview ist sie nicht mehr vorhanden und es ist fraglich, ob sie in der Finalversion enthalten sein wird (evtl. nur im Tablet-Modus?). Damit die Funktionalität der Charms nicht verloren geht, sind dessen Funktionen jetzt unter dem Menü in der Kommandozeile der App zu finden:

Charms in Windows 10 Apps

„App Commands“ bringt dabei die App Bar hervor, die anderen Kommandos stimmen mit der Charms Bar unter Windows 8.1 überein… fraglich ist aber auch hier, ob Benutzer diese Funktionalität entdecken und nutzen werden. Aus meiner Sicht ist sie immernoch zu implizit, zu versteckt und dadurch, dass ihre Implementierung in den Apps optional ist, können sich Benutzer nicht einmal auf ihr Vorhandensein verlassen. Bleibt zu warten, wie Microsoft diese Funktionalität in „echten“ Windows-10-Apps bereitstellen wird. Evtl. doch über eine UI innerhalb der App? Die ersten Apps in der Preview von Windows 10 für Phones lassen das erahnen…

Wie sieht es mit weiteren Windows-App-Features aus? Secondary Live Tiles können weiterhin an Start angeheftet werden, sie erscheinen dann im Startmenü (wobei die Anzeige und die Größenänderung in der derzeitigen Preview-Version von Windows 10 noch nicht so recht funktionieren):

Live Tiles in Windows 10 Apps

Das Hinzufügen und Speichern von Dokumenten geschieht nun über den „normalen“ Windows Explorer:

Datei-Dialog in Windows 10 Apps

Und das Öffnen von Dokumenten oder URLs aus der Anwendung heraus öffnet die jeweilige Anwendung (moderne App oder klassische Anwendung) in einem neuen Fenster auf dem Desktop:

Andere Apps aus Windows 10 Apps

Fazit

Auch bei der Übertragung von Windows-8.1-Apps nach Windows 10 wird deutlich, dass Microsoft die klassischen Desktop-Benutzer fokussiert. Ist das schlimm? Nein! Wenn Tablet-Benutzer nicht vernachlässigt werden, ist die Ausführung von Apps in Fenstern nur zu begrüßen… denn eins ist klar: Desktop-Benutzer haben die App-Welt von Windows 8/8.1 nie angenommen – die strikte Zweiteilung zwischen klassischer UI und moderner Oberfläche war ihnen stets etwas Fremdes, das nicht intuitiv bedient werden konnte.

Abzuwarten bleibt, ob Benutzer moderne Apps auf dem Desktop tatsächlich annehmen werden. Denn ihre UI ist auf Touch ausgelegt, nicht auf Maus-/Tastatur-Bedienung. Entsprechend gering ist die Informationsdichte und entsprechend viel Platz benötigen Apps in Fenstern auf dem Desktop. Darunter leiden natürlich Arbeitsabläufe und Produktivität… weiterhin werden die Charm-Befehle verstärkt stiefmütterlich behandelt – ob sich Microsoft hier noch etwas einfallen lässt? Es ist fraglich, ob diese Mankos durch die „universelle“ Verfügbarkeit von Apps über mehrere Formfaktoren hinweg wettgemacht werden können und Apps unter Windows 10 der Durchbruch gelingt.

Ich bin freiberuflicher Senior Full-Stack Web-Entwickler (Angular, TypeScript, C#/.NET) im Raum Frankfurt/Main. Mit Leidenschaft für Software-Design, Clean Code, moderne Technologien und agile Vorgehensmodelle.

2 Kommentare

Pingbacks

  1. […] sprach ich davon, dass noch nicht wirklich etwas zum Programmiermodell von Windows 10 Apps bekannt ist, […]

  2. […] Jauernig hat sich die Details dazu näher angeschaut. Sein […]

Eine Antwort hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.