16 3.2014 www.dotnetpro.de SCHWERPUNKT D ie Architektur von Windows 8 erlaubt das Entwickeln von zwei Arten von Anwendungen: klassische Anwendun- gen für den Desktop sowie Windows Store Apps. Letztere basieren auf dem neuen API Windows Runtime, kurz WinRT genannt. Eine Windows Store App läuft auf der Kacheloberfläche von Windows 8, dem Modern UI, und lässt sich über den Windows Store von Microsoft vertreiben. Derlei Apps folgen ganz anderen Richtlinien und Konzepten als die klassischen Desktop-An- wendungen. Microsoft hat dazu eine Reihe von Design- und Guidelines definiert, die berück- sichtigt werden sollten. Deutliche Unterschie- de zu klassischen Desktop-Anwendungen sind beispielsweise die Live Tiles, die App Bar oder das Snapping, also das Andocken der App am Bildschirmrand. Der größte Vorteil von Store Apps besteht darin, dass diese sowohl auf Tablet PC und auf Windows-8-Desktop-Systemen als auch auf Windows Phones ausgeführt werden können. Somit unterstützen Store Apps praktisch alle Eingabemedien in der WinRT-Welt, dazu zählen auch Stift- und Touch-Eingaben. Windows Store Apps entwickeln Zum Entwickeln von Windows Store Apps ha- ben Sie unter Visual Studio verschiedene Mög- lichkeiten: ◼ XAML mit C# oder Visual Basic: Sie entwickeln wie gewohnt .NET Managed Code und rufen darin die APIs der Windows Runtime auf. ◼ XAML mit C++: Sie schreiben nativen Code in C++ und für die Darstellung kommt XAML zum Einsatz. ◼ HTML/CSS mit JavaScript: Sie implementie- ren die Logik in JavaScript und nutzen zur Darstellung HTML/CSS. Mit der WinJS-Libra- ry werden die Aufrufe der APIs von WinRT möglich. ◼ DirectX mit C++: Sie erstellen nativen Code in C++ und verwenden zum Zeichnen DirectX. Möchten Sie bei der Entwicklung von Store Apps die Kapazität der Grafik-Hardware für Multimedia-Apps voll ausschöpfen, so sind Di- rectX und C++ die erste Wahl. Mit dem Open- Source-Projekt Cinder C++ entsteht gerade eine echte Alternative zu DirectX für die Entwicklung von Windows 8 Store Apps. Das Framework er- möglicht es, die App als Cross-Plattform-Lö- sung zu implementieren und somit für mehrere Betriebssysteme denselben Code zu nutzen. Cinder Cinder ist ein plattformübergreifendes Frame- work, das in Form von C++-Bibliotheken imple- mentiert ist und jetzt auch – dank tatkräftiger Mithilfe von Microsoft Open Technologies – Vi- sualisierungsfunktionen in C++ für Windows Store Apps zur Verfügung stellt. Microsoft nutzt bei Store Apps üblicherweise DirectX zum Rendern grafischer Bildschirminhalte. Cinder unterstützt dagegen OpenGL als Rendering- Engine und wird damit auf WinRT zu einer ech- ten Alternative zu DirectX. Neben WinRT unter- stützt Cinder Android, iOS und Mac OS X. Der mit Cinder entwickelte Quellcode kann folglich mit geringen Änderungen auf all diesen Platt- formen genutzt werden. Das Einsatzgebiet von Cinder sind vor allem moderne Multimedia-Anwendungen, wobei al- le Arten von Eingabemöglichkeiten unterstützt werden. Eindrucksvolle Beispiele dazu sind auf der Cinder-Website [1] zu sehen. Im Zu- sammenhang mit Windows 8 beziehungsweise WinRT können vor allem grafisch anspruchsvol- le Apps, wie beispielsweise Spiele, von Cinder profitieren. Das Framework steht derzeit in der Version 0.8.6 für Visual Studio 2012 zur Verfügung. Es macht einen stabilen Eindruck, hat Entwick- lungspotenzial und kann für erste Evaluierungs- schritte benutzt werden. Um Cinder zusammen mit WinRT nutzen zu können, ist der genannte aktuelle Entwicklungsstand erforderlich, der allerdings bei Redaktionsschluss noch nicht als Binär-Release zur Verfügung stand, sondern lediglich in Form eines Developer-Release als Quellcode über GitHub zu beziehen war [2]. Kenntnisse Da es beim Entwickeln von Store-Apps mit Cin- der (wie auch bei DirectX und C++) einige Hür- den zu überwinden gibt, sollten Sie sich zuvor mit der Windows-Programmierung sowie C++ vertraut machen. Sie werden hier mit vielen Features des Betriebssystems konfrontiert, wie zum Beispiel der Speicher- und Ressourcenver- Das Open-Source-Framework Cinder OpenGL statt DirectX Das Open-Source-Projekt Cinder ist eine quelloffene Alternative, wenn es um die Entwicklung von Windows 8 Store Apps geht. Die C++-Bibliothek nutzt OpenGL anstelle von DirectX zum Generieren von 2-D- und 3-D-Grafik. Auf einen Blick Daniel Basler ist Senior Con- sultant für Microsoft-Technologi- en und beschäftigt sich darüber hinaus auch mit Datenbanken und Compiler-Bau. Inhalt ▸ Das Open-Source-Framework Cinder. ▸ Windows 8 Store Apps mit Cinder entwickeln. ▸ Beispielcode einer Cinder-App. dnpCode A1403Cinder
4
Embed
Das Open-Source-Framework Cinder OpenGL statt DirectX · Das Open-Source-Projekt Cinder ist eine quelloffene Alternative, wenn es um die Entwicklung von Windows 8 Store Apps geht.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
16 3.2014 www.dotnetpro.de
SCHWERPUNKT
Die Architektur von Windows 8 erlaubt
das Entwickeln von zwei Arten von
Anwendungen: klassische Anwendun-
gen für den Desktop sowie Windows Store Apps.
Letztere basieren auf dem neuen API Windows
Runtime, kurz WinRT genannt. Eine Windows
Store App läuft auf der Kacheloberfläche von
Windows 8, dem Modern UI, und lässt sich über
den Windows Store von Microsoft vertreiben.
Derlei Apps folgen ganz anderen Richtlinien
und Konzepten als die klassischen Desktop-An-
wendungen. Microsoft hat dazu eine Reihe von
Design- und Guidelines definiert, die berück-
sichtigt werden sollten. Deutliche Unterschie-
de zu klassischen Desktop-Anwendungen sind
beispielsweise die Live Tiles, die App Bar oder
das Snapping, also das Andocken der App am
Bildschirmrand.
Der größte Vorteil von Store Apps besteht
darin, dass diese sowohl auf Tablet PC und auf
Windows-8-Desktop-Systemen als auch auf
Windows Phones ausgeführt werden können.
Somit unterstützen Store Apps praktisch alle
Eingabemedien in der WinRT-Welt, dazu zählen
auch Stift- und Touch-Eingaben.
Windows Store Apps entwickeln
Zum Entwickeln von Windows Store Apps ha-
ben Sie unter Visual Studio verschiedene Mög-
lichkeiten:
◼ XAML mit C# oder Visual Basic: Sie entwickeln
wie gewohnt .NET Managed Code und rufen
darin die APIs der Windows Runtime auf.
◼ XAML mit C++: Sie schreiben nativen Code
in C++ und für die Darstellung kommt XAML
zum Einsatz.
◼ HTML/CSS mit JavaScript: Sie implementie-
ren die Logik in JavaScript und nutzen zur
Darstellung HTML/CSS. Mit der WinJS-Libra-
ry werden die Aufrufe der APIs von WinRT
möglich.
◼ DirectX mit C++: Sie erstellen nativen Code in
C++ und verwenden zum Zeichnen DirectX.
Möchten Sie bei der Entwicklung von Store
Apps die Kapazität der Grafik-Hardware für
Multimedia-Apps voll ausschöpfen, so sind Di-
rectX und C++ die erste Wahl. Mit dem Open-
Source-Projekt Cinder C++ entsteht gerade eine
echte Alternative zu DirectX für die Entwicklung
von Windows 8 Store Apps. Das Framework er-
möglicht es, die App als Cross-Plattform-Lö-
sung zu implementieren und somit für mehrere
Betriebssysteme denselben Code zu nutzen.
Cinder
Cinder ist ein plattformübergreifendes Frame-
work, das in Form von C++-Bibliotheken imple-
mentiert ist und jetzt auch – dank tatkräftiger
Mithilfe von Microsoft Open Technologies – Vi-
sualisierungsfunktionen in C++ für Windows
Store Apps zur Verfügung stellt. Microsoft nutzt
bei Store Apps üblicherweise DirectX zum
Rendern grafischer Bildschirminhalte. Cinder
unterstützt dagegen OpenGL als Rendering-
Engine und wird damit auf WinRT zu einer ech-
ten Alternative zu DirectX. Neben WinRT unter-
stützt Cinder Android, iOS und Mac OS X. Der
mit Cinder entwickelte Quellcode kann folglich
mit geringen Änderungen auf all diesen Platt-
formen genutzt werden.
Das Einsatzgebiet von Cinder sind vor allem
moderne Multimedia -Anwendungen, wobei al-
le Arten von Eingabemöglichkeiten unterstützt
werden. Eindrucksvolle Beispiele dazu sind
auf der Cinder-Website [1] zu sehen. Im Zu-
sammenhang mit Windows 8 beziehungsweise
WinRT können vor allem grafisch anspruchsvol-
le Apps, wie beispielsweise Spiele, von Cinder
profitieren.
Das Framework steht derzeit in der Version
0.8.6 für Visual Studio 2012 zur Verfügung. Es
macht einen stabilen Eindruck, hat Entwick-
lungspotenzial und kann für erste Evaluierungs-
schritte benutzt werden. Um Cinder zusammen
mit WinRT nutzen zu können, ist der genannte
aktuelle Entwicklungsstand erforderlich, der
allerdings bei Redaktionsschluss noch nicht
als Binär-Release zur Verfügung stand, sondern
lediglich in Form eines Developer-Release als
Quellcode über GitHub zu beziehen war [2].
Kenntnisse
Da es beim Entwickeln von Store-Apps mit Cin-
der (wie auch bei DirectX und C++) einige Hür-
den zu überwinden gibt, sollten Sie sich zuvor
mit der Windows-Programmierung sowie C++
vertraut machen. Sie werden hier mit vielen
Features des Betriebssystems konfrontiert, wie
zum Beispiel der Speicher- und Ressourcenver-
Das Open-Source-Framework Cinder
OpenGL statt DirectXDas Open-Source-Projekt Cinder ist eine quelloffene Alternative, wenn es um die Entwicklung von Windows 8 Store Apps
geht. Die C++-Bibliothek nutzt OpenGL anstelle von DirectX zum Generieren von 2-D- und 3-D-Grafik.