en
de

Wie reif ist Microsofts Universal Windows Platform?

15 Juli 2016
| |
Lesezeit: 3 Minutes

Universal Windows Platform-Apps, kurz UWP-Apps, sollen es ermöglichen, mit derselben Codebasis Apps für alle Windows 10-Geräte zu entwickeln. Der Entwickler schreibt die App somit nicht mehr für ein bestimmtes Betriebssystem, sondern für eine oder mehrere Gerätefamilien. Durch eine einheitliche Codebasis sinkt zum einen der zeitliche Aufwand während der Entwicklung. Zum anderen sinkt der Wartungsaufwand während dem Betrieb. Dieser Ansatz klingt sehr verlockend und so habe ich zusammen mit zwei Kollegen im Rahmen des Zühlke-Fortbildungscamps ZCamp 2016 mit Microsofts Universal Windows Platform beschäftigt. Dabei mussten wir sehr schnell feststellen, dass UWP zum aktuellen Zeitpunkt nur mit großem Aufwand produktiv einsetzbar ist.

Theoretische Umsetzung von UWP-Apps

UWP-Apps laufen nicht nur auf Desktops oder Tablets, sondern auch auf dem Raspberry Pi, der Xbox und sogar der HoloLens. Einer der großen Vorteile bei der Implementierung von UWP-Apps ist der hohe Codesharing-Anteil. Seit einigen Jahren hat sich das Entwurfsmuster MVVM (Model, View, ViewModel) für .NET-Anwendungen durchgesetzt. Durch PCLs oder Shared Projects lässt sich vom Model bis zum ViewModel der Code über alle verwendeten Plattformen hinweg wiederverwenden. Einschränkend muss hierbei erwähnt werden, dass nur APIs verwendet werden können, die auf allen Gerätefamilien verfügbar sind. Sowohl Model als auch ViewModel können also für alle Gerätefamilien wiederverwendet werden – doch wie ist es um die Views bestellt?

Praktische Umsetzung von UWP-Apps

Aus den zahlreichen unterstützten Gerätefamilien resultiert eine Vielzahl an Formfaktoren. Wer Wert auf eine gute User Experience legt, sollte sowohl die Layouts als auch die verwendeten Controls an die jeweilige Gerätefamilie anpassen. So sollte sich beispielsweise die Darstellung einer filter- und sortierbaren Liste auf einem mobilen Gerät von der auf einem Desktopgerät unterscheiden. Die Umsetzung solcher gerätespezifischen Oberflächen nimmt einige Zeit in Anspruch.
Aus Zeit- und Kostengründen macht es häufig Sinn, auf User Interface-Controls von Drittherstellern zurückzugreifen, die bereits responsive sind.

payment

Anscheinend sehen bekannte Dritthersteller von User Interface-Controls wie Telerik oder Infragistics momentan wenig Potenzial in UWP. Anders lässt es sich nicht erklären, dass die von Telerik ausgelieferten UWP-Controls in unserer UWP-App Fehler verursachten und Infragistics überhaupt keine UWP-Controls zur Verfügung stellt. Lediglich Syncfusion bietet UWP-Controls, die sich ohne große Mühe in unsere UWP-App einbinden ließen. So konnten wir beispielsweise mit wenigen Zeilen XAML eine filterbare und durchsuchbare Tabelle anzeigen. Die Freude hierüber währte allerdings nicht lange, da bereits nach einem kurzen Test auf einem Windows 10-Phone auffiel, dass Syncfusions UWP-Controls leider nicht responsive sind.

tabellendarstellung

Tabellen werden auf dem Desktop übersichtlich dargestellt, auf Mobilgeräten wird allerdings Inhalt abgeschnitten.

Neben fehlenden oder unausgereiften Dritthersteller-Controls für UWP-Apps mangelt es auch an stabilen Versionen bekannter .NET-Frameworks wie zum Beispiel Prism. Durch den Einsatz von Prism lässt sich unter anderem die Navigation zwischen den einzelnen Views einer UWP-App umsetzen. Auch ein Dependency Injection-Framework ist mit an Bord. Prism bringt also Funktionalität mit, die man bei umfangreichen Anwendungen nicht missen möchte. Leider gibt es für Prism zum aktuellen Zeitpunkt noch keine stabile Version, sondern nur eine Pre-Release-Version für UWP-Apps.

Fazit

Nach einigen Stunden Vorbereitung und drei Tagen ZCamp fällt unser Fazit zu UWP-Apps sehr gemischt aus. Einerseits sind wir begeistert von der Möglichkeit, mit einer einzigen Implementierung des Models und ViewModels alle unterstützten Gerätefamilien abzudecken. Andererseits enttäuscht die fehlende Unterstützung von geräteübergreifenden User Interface-Controls. Somit fällt der ersparte Implementierungsaufwand gegenüber dem bisherigen Weg, Anwendungen für mehrere Gerätefamilien zu implementieren, deutlich geringer aus als erhofft. Es bleibt zu hoffen, dass Dritthersteller von User Interface-Controls und Frameworks in Zukunft mehr Vertrauen in die Universal Windows Platform gewinnen und somit ihr Angebot erweitern beziehungsweise stabilisieren. Nur so können UWP-Apps mit vertretbarem Aufwand für mehrere Gerätefamilien umgesetzt werden.

Wir werden die Entwicklungen natürlich weiterhin im Auge behalten und darüber berichten.

Kommentare (0)

×

Updates

Schreiben Sie sich jetzt ein für unsere zwei-wöchentlichen Updates per E-Mail.

This field is required
This field is required
This field is required

Mich interessiert

Select at least one category
You were signed up successfully.

Erhalten Sie regelmäßige Updates zu neuen Blogartikeln

Jetzt anmelden

Oder möchten Sie eine Projektanfrage mit uns besprechen? Kontakt aufnehmen »