Exclusives

Weekend’s Read: Cross Platform Entwicklung mit UWP für Mobile, Desltop und Web mit der Uno Plattform

Wer sich den Titel einmal genau durchliest und nur ein wenig Ahnung von der Materie hat wird sich unter Granite denken „Was zum Teufel schreibt der da. Und als ich zum ersten Mal von diesem Konzept gehört habe war auch ich erst mal sehr misstrauisch. Doch mittlerweile führen wir in unserem Unternehmen einige Testläufe durch, um zu sehen ob das Framework und diese Herangehensweise die produktive Entwicklung wirklich einfacher macht.

Kurz zur Erklärung: UWP (Universal Windows Apps) ist eine Schnittstelle zur App-Programmierung unter Windows 10 (Und auch nur da, keine andere Windows-Version und erst recht kein anderes Betriebssystem bietet die Möglichkeit zur Ausführung der UWP-Apps. Ein Quellcode-Projekt besteht im Normalfall aus verschiedenen Programmdateien. Diese liegen zum Beispiel in C# vor. Zusätzlich gibt es dann noch die Definitionsdateien für die Programmoberfläche, welche in XAML geschrieben sind. Sowohl C# als auch XAML sind aber unabhängige Definitionen und werden so zum Beispiel auch in Xamarin-Projekten oder in WPF-Projekten (Win32) verwendet. Das was UWP von Xamarin oder WPF unterscheidet ist auf XAML-Seite die Definition wie ein Button oder ein Textfeld beschrieben wird oder in C# wie eine bestimmte API angesprochen wird. Das WAS ändert sich also, nicht das WIE.

Und so gesehen verwendet das Framework Uno Platform auch nicht die UWP-Schnittstellen, um die Apps auf anderes Betriebssystem und sogar das Web zu bringen, sondern kompiliert den im Projekt gespeicherten Quellcode einfach nur anders. Das was das Uno Platform-Projekt hier so einzigartig macht ist die Tatsache, dass man nicht wie bei anderen Projekten eine komplett eigene Projektstruktur oder Vorlagen benötigt. Man kann einfach eine normale und bereits lauffähige UWP-App nehmen und diese fast ohne zusätzliche Schritte auf iOS, Android bringen und als PWA veröffentlichen. Der Compiler erkennt hier also die UWP-Definitionen und übersetzt diese in das Gegenstück des Ziel-Betriebssystems. Für iOS und Android macht man sich hier sogar das Xamarin-Framework zu nutze.

Mobile Apps ist langweilig – Was ist mit UWP im Browser?

Das was an der Uno Platform wirklich interessant ist, ist nicht die Anwendung für mobile Apps, also für Windows 10, Android oder iOS sondern die Veröffentlichung als Web App. Da der Uno-Compiler zugriff auf den gesamten Quellcode besitzt könnte man vielleicht denken, dass daraus einfach HTML und JavaScript generiert wird. Theoretisch ist das mit XAML durchaus möglich und es gibt bereits einen C# to JavaScript-Compiler (Dabei wird richtiges JavaScript und kein WebAssembly erzeugt). An dieser Stelle sei das Open Source-Projekt Bridge.NET (Inklusive Online-Vorschau) genannt.

Das Uno Framework geht hier dennoch einen einfacheren Weg und verwendet in der Tat WebAssemblies. Damit spart man sich Unterschiede in verschiedenen Browsern. Derzeit werden WebAssemblies von allen großen Browsern inklusive Firefox (Ab Version 52) unterstützt. Chromium-Browser unterstützen das Feature ab der Version 57, Microsoft Edge ab Version 16 (der neue wie genannt ab Version 57) und Apples Safari ab Version 11.

Doch was sind WebAssemblies eigentlich? WebAssembly (Abgekürzt Wasm) ist eine Web-Definition des W3C und stellt ein binäres Befehlsformat dar, welches in einem Browser im Rahmen einer kleinen virtuellen Maschine ausgeführt wird. Wasm ist als portables Ziel für die Kompilierung von Hochsprachen wie C/C++/Rust konzipiert und ermöglicht den Einsatz im Web für Client- und Server-Anwendungen. Quelle: webassembly.org

Der Uno Compiler übersetzt den C#-Quellcode inklusive dem XAML-Interpreter in eine WebAssemby, sodass der Browser diese lesen und ausführen kann.

Mittlerweile kann das Uno Platform-Projekt mit zahlreichen Referenzen aufwarten, allen voran sei hier Microsoft’s Taschenrechner genannt. Diesen stellte Microsoft vor einiger Zeit als Open Source Projekt zur freien Verfügung. Und es handelt sich beim Taschenrechner um eine leistungsfähige UWP-App. Das Team hinter Uno stellte diese nicht nur als Android und iOS-App bereit, sondern auch als vollfunktionsfähige PWA. Damit kann dieser nicht nur als App unter Android und iOS ausgeführt werden sondern zum Beispiel auch unter macOS und Linux. Unter iOS hat es bereits den Onbord-Taschenrechner von Apple verdrängt und ich finde, dass der UWP-Rechner deutlich schicker unter iOS aussieht 😉.

Entwickler: Uno Platform
Preis: Kostenlos
Entwickler: Uno Platform Inc.
Preis: Kostenlos

Microsoft Taschenrechner als PWA

Am Ende ist es also einfacher Anwendungen mit Uno zu schreiben, da man im Gegensatz zu Xamarin nicht nur Android und iOS abdeckt, sondern auch das Web (Was heutzutage ja nicht mehr so unwichtig ist. Darüber hinaus bietet es Entwicklern die Möglichkeit die vielen Stärken der UWP-Plattform öfters zu benutzen und erleichtert so einiges. Xamarin hat hier zum Beispiel viele eigene Implementationen, die vielleicht nicht ganz so ausgereift sind, da man nicht auf einer UWP-Definition aufbaute (Das ist aber sicherlich nur Geschmackssache). Einen Nennenswerten Negativpunkt besitzt das Uno-Projekt allerdings dann noch. Die Visual Studio Templates, welche über ein Plugin hinzugefügt werden können, sind noch lange nicht ausgereift. Hier fehlt unter anderem zum Beispiel die Autovervollständigung. Alternativ dazu kann man auch einfach eine Anwendung als UWP-Projekt entwickeln und diese dann nur in einem Uno-Projekt öffnen.

Uno Platform ist ein Projekt mit Potenzial, welche es dem Entwickler erlaubt die vielen (Es sind so viele) der UWP-Plattform zu nutzen. An manchen Punkten steckt die Umsetzung aber noch in den Kinderschuhen.

Das Projekt findet ihr hier auf der offiziellen Website.

Zeige Kommentare

  • Sehr coole Sache! Ich nutze den Uno Calculator auch bevorzugt auf allen meinen Geräten!

    • Finde ihn auch sehr gut. Es fehlt nur leider der Währungsrechner. (ich vermute das es den auch nicht im Open Source Code gibt, da dieser ja dauerhaft auf eine Datenbank zurückgreifen muss; korrigiert mich, wenn ich falsch liege)

Teilen
veröffentlicht von
Lars

Neuste Artikel

Amazon Deal: Generalüberholtes Lenovo ThinkPad T470s mit Windows 11 Pro und Norton 360 Deluxe – nur 199 €

Zum Thema Nachhaltigkeit gehört auch der Umstand, elektrische Geräte zu reparieren und nach diesem erfolgreichen…

24. April 2024

Nach Hacking-Angriffen: Microsoft will Image polieren!

Microsoft-Dienste und E-Mail-Server sind in den letzten Wochen nicht immer positiv in den Medien hervorgehoben…

19. April 2024

Amazon Deal: Echo Dot Lautsprecher 46 Prozent reduziert – das klingt gut

Ein smarter WLAN- und Bluetooth-Lautsprecher inkl. Alexa und einem gigantischen sowie sattem Klang – so…

19. April 2024

China macht ernst – Technikverbot soll jetzt auch Mobilfunkanbieter betreffen

Wenn die Aktienkurse von Chip-Herstellern wie AMD, Intel und Co. alle gemeinsam fallen, kann man…

16. April 2024

Microsoft Chef Phil Spencer besteht auf eine Unternehmenstradition

Traditionen existieren, um gepflegt zu werden – so heißt es zumindest. Gleichzeitig darf man den…

16. April 2024

Amazon Deal (befristetes Angebot): Lenovo IdeaCentre 3 All in One – 24 Prozent Rabatt

Schnäppchenjäger aufgepasst, denn dieses Mal möchten wir einen besonderen Leckerbissen aus dem Online-Shop von Amazon…

16. April 2024

Diese Webseite benutzt Cookies.