Universal Windows Plattform Apps – Was ist neu?

Universal Windows Plattform Apps – Was ist neu?

Ich besuchte vor einiger Zeit die Windows 10 bis 10 Schulung von Microsoft, in der es um das Thema Einführung der Apps der universellen Windows Plattform mit Windows 10 und Visual Studio 2015 ging. Ich habe diverse Dinge über die neuen Apps gelernt und möchte mein Wissen mit euch teilen.

Starten wir das Ganze mit einem Vergleich zwischen klassischen Desktop Applikationen und den neu eingeführten Apps:

Klassische Desktop AppsUniversal Apps
Von überall installierbarNur vom Store oder über Sideloading installierbar
Kann alles mögliche während der Installation machenVordefinierte Installationsverfahren
Administrator Modus verfügbarAdmin Modus nicht verfügbar. Eingeschränkte Rechte
Kann während der Laufzeit auf das gesamte System zugreifenEingeschränkter Zugriff auf eine bestimmte Anzahl an APIs. Deklariert explizit Zugriffe
Vollständige Kommunikation mit anderen ProzessenSandbox

Man kann anhand der Tabelle sehen, dass sich Microsoft mit den Apps der universellen Windows-Plattform (UWP-Apps) ein bestimmtes Ziel gesetzt hat: Sicherheit. Das gesamte neu eingeführte System soll dem Endnutzer das Gefühl der Kontrolle geben, denn dieses fehlte bisher ganz. Ein kleines Beispiel aus meinem Alltag dazu: Meine Mutter surft im Internet und auf einmal taucht ein Pop-Up auf, mit blinkendem Text „Achtung ihr System ist sehr langsam, laden Sie unseren super seriösen Registry Cleaner herunter!„. Wie meine Mutter so ist, macht sie sich Sorgen um das Wohlergehen ihres PCs und klickt auf den seriös wirkenden Link. Eine *.exe wird heruntergeladen und nach einer Administrationsberechtigungsanfrage, die mit „Ja“ beantwortet wurde, installiert sich das Programm. Es wird ein Scan gemacht, 42 Fehler werden gefunden und um diese zu beheben muss man die Pro Version kaufen, die 119€ kostet. An diesem Zeitpunkt angelangt hat meine Mutter auch keine Lust mehr und deinstalliert das Programm. Tage später erhalte ich einen Anruf, bei dem sie mir erzählt, dass ihr Browser nun ganz komisch aussieht mit neuen Leisten und ihre Startseite lautet nun www.kaufserioeseprogramme.ru. Sie kann sich das Ganze nicht erklären und wüsste nicht woher das kommt.

Anhand dieses kleinen Beispiels können wir sehen, dass das aktuelle Applikationssystem sehr undurchsichtig für den Endnutzer ist. Der Installer des Registry Cleaners hat eine neue Taskleiste installiert und der Cleaner an sich oder sein Installer hat unbefugt auf die Startseitenoptionen des Nutzers zugegriffen, ohne seine Erlaubnis einzuholen. Diese Probleme existieren mit UWP-Apps nicht mehr.

Schauen wir uns die neuen Apps mal aus der Developer Perspektive an:

Man kann die UWP-Apps sowohl mit den altbekannten .NET Sprachen Visual Basic und C# schreiben, als auch mit C/C++ und ganz neu mit Javascript. Für die visuelle Darstellung wird bei Javascript HTML und CSS benutzt, bei den anderen Sprachen kann man zwischen dem aus WPF und Windows 8 Apps bekannten XAML Format und DirectX wählen. Microsoft vereinfacht mit Javascript Web Developern den Einstieg in die Software Programmierung immens.
Weiterhin gibt es diverse nützliche Neuerungen im Vergleich zu den Windows 8 Apps. Man sucht sich nun eine Zielplattform aus, die eine bestimmte Version des Frameworks haben muss:

Weiterhin kann man mithilfe des Reference Managers in Visual Studio ganz einfach Systemerweiterungen zur App hinzufügen, bspw. Windows.Mobile Erweiterung per one-click der App hinzufügen und prompt wird unsere App von Windows 10 fähigen mobilen Geräten unterstützt.
Die neue Bibliothek Windows.Foundation.Metadata.ApiInformation erleichtert es, hardwarespezifische Funktionen zu integrieren, wie zum Beispiel das ansteuern der Back Taste an einem Windows Phone Gerät. Zu den Neuerungen gehört auch eine Adaptive UI, d.h. ein und die selbe App sieht auf einem Windows Phone Gerät anders aus als auf einem PC. Das System ist vielen bereits vom Web Development bekannt. Einige designspezifische Funktionen sind von Haus aus aktiv, hier Desktop vs. Mobile:

Die Breakpoints, die darüber entscheiden wie der Aufbau einer App aussieht, werden in epx angegeben. Epx steht für effecitv pixels und wird mittels eines Algorithmus anhand der Parameter Userentfernung und Bildschirmgröße ermittelt:

Für XAML Developer gibt es auch ein sehr nützliches Control, das sich Relative Panel nennt. Es ermöglicht einem auf eine einfache Art und Weise die Anordnung von Elementen festzulegen, indem man sie an andere Elemente ausrichten kann:

Das nächste Feature ist wieder für XAML Developer. Es handelt sich um die Split View. Diese ermöglicht das Erstellen von aufklappbaren Menüs, vielen auch unter Burger Menus bekannt. Dieses Control besitzt einen Pane Bereich, den man mithilfe von Radio Buttons zu einem schönen Burger Menu formen kann. Die Splitview hat auch einen Content Bereich, indem man verschiedene XAML Frames darstellen lassen kann.

Mit Windows 10 wurde auch eine Hardware Klasse integriert: Internet Of Things, kurz IOT. Eine abgespeckte Version des Betriebssystem mit Namen Windows IOT kann nun auf verschiedenen Geräten aufgespielt werden. Im Seminar kam ein Raspberry Pi 2 zum Einsatz. Es wurde sehr schön dargestellt, wie die zuvor auf dem Desktop PC laufende App auf dem Raspberry Pi gestartet wurde und wie sich das Design angepasst hat. Weiterhin unterstützt das Windows Core Framework Zugriffe auf die Pins des kleinen Geräts. Somit hat man als erfahrener .NET Developer einen einfachen Einstieg in das Programmieren für IOT Geräte.

Zu guter Letzt geht es um den Windows Store. Dieser wurde bereits in Windows 8 eingeführt und man konnte dort bereits Windows 8 Apps vertreiben. Mit den Universal Apps wurde nun auch der Store überarbeitet. Es gibt nun einen öffentlichen Store, als auch einen Business Store für Firmen. Dies gibt einem die Möglichkeit, Apps spezifisch zu vertreiben als auch andere Finanzierungsmöglichkeiten anzubieten. Man muss nicht mehr einen einfachen Preis für eine App angeben, denn man kann beispielsweise Lizenzen verkaufen, die jährlich erneuert werden müssen.

Wie man sehen kann hat sich Microsoft Gedanken gemacht und ist auf viele Wünsche der User eingegangen. Ob Windows 10 und UWP-Apps sich wirklich durchsetzen werden, wird sich mit der Zeit zeigen. Mir persönlich gefallen die Neuerungen und ich freue mich auf das Experementieren mit den neuen Features.

Alle Bilder stammen aus der Präsentation von dem Seminar, diese könnt ihr hier finden.
Hier noch ein paar nützliche Ressources:
UWP Samples
XAML Samples