App oder Anwendung 10 Fragen als Entscheidungshilfe für neue Projekte in Windows 8 (Teil 2)
Kommentare

Windows 8 Spezial

Der Artikel „App oder Anwendung?“ von Roman Schacherl ist erstmalig erschienen im Windows 8 Spezial
Frage 6: Von welchen Drittanbieterkomponenten ist man abhängig?
Eine Stärke

Windows 8 Spezial

Der Artikel „App oder Anwendung?“ von Roman Schacherl ist erstmalig erschienen im Windows 8 Spezial

Frage 6: Von welchen Drittanbieterkomponenten ist man abhängig?

Eine Stärke von .NET gegenüber vielen anderen Programmiersprachen/-plattformen ist die riesige Entwicklergemeinde und das reichhaltige Angebot an Drittanbieterkomponenten. Sowohl im Open-Source-Sektor als auch im kommerziellen Umfeld wird man meist relativ rasch fündig, wenn Spezialaufgaben zu lösen sind: ein Barcode-Reader-Steuerelement hier, eine MP3-Dekodier-Bibliothek da. Es gibt (beinahe) nichts, was es nicht gibt. Und es gibt zahlreiche professionelle Anbieter, die gegen Geld auch wirklich guten Support liefern. Wie bei jeder neuen Plattform muss die WinRT in diesem Punkt noch deutlich zulegen. Was Microsoft nicht im Standardumfang liefert, gibt es derzeit noch kaum. Muss man in einer Anwendung auf derartige Komponenten setzen und kann oder will sie nicht selbst entwickeln, gibt es zwei Möglichkeiten: Entweder man versucht eine Portierung des bestehenden .NET-Codes (was durchaus mit überschaubarem Aufwand gelingen kann) oder man lässt die Zeit für sich spielen und hofft auf baldige Besserung.

Fazit: Im Moment sind der WinRT-Drittanbietermarkt und die Entwicklergemeinde noch überschaubar groß – überprüfen Sie vor einer Entscheidung für die WinRT, ob Ihnen die vorhandenen Komponenten reichen.

Frage 7: Können Sie von den Windows-8-Features profitieren?

Neue Technologien sind nicht per Definition besser. Windows 8 bringt aber eine Reihe von neuen Möglichkeiten, die sinnvoll eingesetzt einen tatsächlichen Mehrwert bringen können, u. a. der Search-Contract, der ein „Einklinken“ der App in die Windows-eigene Suche ermöglicht, der Share-Contract, der die App in der „World of Apps“ mitspielen lässt und beim intelligenten Datenaustausch hilft, der FilePicker-Contract, der die App als Datenquelle im „Datei öffnen“-Dialog erscheinen lässt und so einen wirklich eleganten Zugriff auf Daten aller Art bietet, die Ansicht als Snap-View zur gleichzeitigen Darstellung zweier Anwendungen und Live Tiles, um Benutzer mittels personalisierter Informationen zum Öffnen der App zu motivieren. Alle diese Möglichkeiten können nur in der WinRT genutzt werden, klassische .NET-Programme werden hier unter Windows 8 schnell alt aussehen.

Fazit: Es gibt Anwendungen, die sich perfekt in das Windows-8-Ökosystem integrieren lassen und Anwendungen, bei denen ein implementierter Search-Contract komplett nutzlos ist. Überlegen Sie, ob die Windows-8-Features einen Mehrwert für die Anwendung bringen.

Frage 8: Wie groß ist der Aufwand für das Erlernen der Technologie?

Wenn Windows-8-Apps mit C# oder Visual Basic geschrieben werden, dann fühlt man sich als .NET-Entwickler in der neuen Umgebung sehr schnell zuhause. Der an anderer Stelle in diesem Heft ausführlich beschriebene Language Projection Layer sorgt bei JavaScript-, .NET- und C++-Entwicklern gleichermaßen für Wohlbehagen und beschert geringere Umstellungsschwierigkeiten. Dennoch: Man wird gerade zu Beginn einiges an Produktivität verlieren, altbekannte Klassen (wenn überhaupt) in anderen Namespaces wiederfinden, mit dem (auch in .NET 4.5 vorhandenen) neuen Schlüsselwort await spielen, sich über Änderungen zwischen dem WinRT-XAML und der WPF ärgern und seine Lieblings-Drittanbieter-Frameworks vermissen. Bis aus einem eingeschworenen .NET-Entwicklerteam ein produktives WinRT-Team wird, müssen Zeit, Geld und Nerven investiert werden.

Fazit: Die Ähnlichkeiten der neuen WinRT zum gewohnten .NET sind zwar groß, der Lernaufwand darf aber trotzdem nicht unterschätzt werden.

Frage 9: Wie soll die Anwendung aussehen?

Das Kacheldesign polarisiert die Massen: die einen finden die bunten Rechtecke hässlich, die anderen mischen sich mit „I love Metro“-T-Shirts als Jünger unter das Volk (und müssen diese in Zukunft wohl mit „I love New User Interface“ überkleben, um keine Rechtsstreitigkeiten zu riskieren). Wie auch immer man dazu steht: Wir werden keine Wahl haben. An Design gewöhnt man sich, und wenn alles andere nach Windows 8 aussieht, dann wirkt die eigene Anwendung auf einmal wie ein Fremdkörper. Benutzer orientieren sich gerne an gewohnten Designs – der Satz „Wir haben uns das so vorgestellt wie in Outlook“ gehört zum Standard bei Anforderungsworkshops. Haben Sie in der letzten Zeit eine Windows-2000-Anwendung geöffnet? – War angeblich auch einmal modern. Aber muss jetzt alles nach Windows 8 aussehen und per Touch zu bedienen sein? Bis vor Kurzem war Excel mein Standard-Gegenbeispiel. Wer will denn schon Zahlenkolonnen und WENN-Formeln per Touch eingeben, hier macht das neue Design doch überhaupt keinen Sinn. Microsoft hat wider Erwarten nicht auf mich gehört und Office 2013 mit einer neuen Oberfläche gestaltet – und ich muss zugeben: Ich werde vermutlich nie Massendateneingaben per Touch erledigen, aber dass ich mir Excel-Dateien am Tablet ansehe und Vergrößern/Verkleinern und Navigieren alternativ auch per Touch erledigen kann… so schlecht ist das nicht. Gerade durch das spezielle Design kann man im Moment seine Innovationskraft und Vorreiterrolle zum Ausdruck bringen, und das geht sowohl in .NET als auch in der WinRT. Wie schon bei der Frage nach Multi-Touch-Unterstützung gilt auch hier: In der WinRT bekommt man das Windows-8-Design aufgezwungen, in der WPF muss man es sich mit Styling oder Drittanbieterkomponenten hart erarbeiten.

Fazit: Der Windows-8-Style wird das vorherrschende Design der nächsten Jahre sein. Wer modern und innovativ wirken will, muss darauf setzen (egal ob mit .NET oder der WinRT).

Frage 10: Wie kommt die Software zu den Benutzern?

Wie eingangs erwähnt, haben Webanwendungen gegenüber Desktopanwendungen einen entscheidenden Deployment-Vorteil. Einmal installiert, kann (theoretisch) die ganze Welt darauf zugreifen und unsere Anwendung nutzen. Der mit Windows 8 eingeführte Windows Store wird die Verteilung von Software im Windows-Umfeld revolutionieren. Die Anwendung wird nicht nur über den Store installiert, es können auch die Bezahlung, die Nutzung einer Testversion, das Einspielen von Updates, die Lizensierung von (optional kostenpflichtigen) Zusatzfeatures und vieles mehr abgewickelt werden. Diesen vollen Leistungsumfang entfaltet der Store nur mit Windows-8-Apps, aber auch klassische Desktopanwendungen können in Zukunft über den Store beworben und verteilt werden [3]. Die grundsätzliche Frage wird sein, ob die Anwendung einen „App-Charakter“ hat und zu einem geringen Preis an möglichst viele Benutzer verteilt werden soll, oder ob es sich um eine Enterprise-Anwendung handelt, die ohne Konfigurations- und Beratungsaufwand nicht auskommt.

Fazit: Der Windows Store bietet eine tolle neue Plattform zur Verteilung von Software und steht im eingeschränkten Umfang auch für klassische Desktopanwendungen zur Verfügung. Die Art der Anwendung wird darüber entscheiden, ob diese Verteilungsstrategie sinnvoll ist.

Fazit

Es gibt viele Punkte, die für die Entwicklung einer Windows-8-App sprechen. Aber es gibt weiterhin auch viele Szenarien, bei denen man nicht an .NET vorbei kommt und vorbei will. Die „Windows tailored“-Variante gibt uns ein Werkzeug in die Hand, um Apps (und keine schwergewichtigen Enterprise-Anwendungen) zu bauen. Dass sich technisch unter der Haube weitaus mehr geändert hat als bei den Windows-Phone- und Silverlight-Profilen ist für reine .NET-Entwickler zwar vielleicht schwer nachvollziehbar, macht aber mit Blick auf die Einbeziehung anderer Entwicklergemeinden durchaus Sinn.

Wenn Sie eine neue Anwendung entwickeln müssen und vor der Frage „.NET oder WinRT“ stehen, sollen die zehn Fragen eine Entscheidungsgrundlage bieten. Vielleicht sind KO-Kriterien (Datenbankzugriff, Windows-7-Inkompatibilität) dabei, vielleicht aber auch Highlights, die wie geschaffen für Ihre Anwendung sind (Multi-Touch, Contracts).

Im Business-Umfeld wird man sehr häufig einen hybriden Ansatz wählen: die Anwendung wird als klassische Desktopanwendung unter Ausnutzung des gesamten .NET Frameworks 4.5 (habe ich das geniale await schon erwähnt?) implementiert. Achten Sie dabei aber auf eine saubere Architektur, mit einer klar durchdachten Schichtentrennung und der Möglichkeit, dank WCF Serviceschnittstellen nach außen anzubieten. Investieren Sie viel Zeit in diesen grundsätzlichen Aufbau der Software, wenn dann einzelne Bereiche zusätzlich in Form einer Windows-8-App angeboten werden sollen, ist ein entsprechendes User Interface oft recht rasch implementiert. Daten und Logik bekommen Sie durch die bereits erstellten Services geschenkt, Sie können sich um die strahlende Umsetzung der App inklusive Live Tiles, Contracts etc. kümmern. Vertriebsmitarbeiter gehen mit einer innovativen App auf die Reise, die dahinter liegende Anwendung ist aber weiterhin .NET in seiner reinsten Form.

Sie müssen natürlich selbst entscheiden, ob Ihre Anwendung und Ihre Kunden bereits reif für Windows 8 sind. Sollten Sie auf eine .NET-Anwendung setzen, versuchen Sie aber auf alle Fälle, eine mögliche Erweiterung durch eine Windows-8-App gleich von Beginn an einzuplanen.

Ungeachtet der Plattform sollten Sie sich mit zwei Lernfeldern aber möglichst schnell vertraut machen: Touch-Eingaben und dem Windows-8-Design. Wir kommen in den nächsten Jahren nicht daran vorbei.

Roman Schacherl ist Gründer der Firma smilecompany software solutions und entwickelt individuelle Lösungen auf Basis von Microsoft-Technologien. Er ist Autor mehrerer Fachartikel zum Thema Windows 8, nebenberuflich Lehrender an der FH Hagenberg (Österreich) und als Sprecher auf Entwicklerkonferenzen tätig.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -