Microsoft shuts down Silverlight.net–was ändert sich wirklich?
Die Website http//www.silverlight.net wird jetzt auf einen MSDN Link umdirigiert. John Callaham hat darüber geschrieben. Doch was bedeutet es wirklich für die Silverlight-Entwicklung wenn keine neuen Versionen von Microsoft mehr kommen? Meiner Meinung nach ist der Nachfolger von Silverlight bereits da. Dazu muß man aber etwas in die Geschichte on Silverlight zurück blättern. In diesem Artikel gibt es meine Gedanken dazu.
WPF war zuerst da
Die Entwicklung mit Vektor-basierten Graphiken (statt Pixel-basierten) hat mit WPF gestartet. Windows Presentation Foundation (WPF) war ein Schwerpunkten der Neuerungen von .NET 3.0 (neben Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF)).
Controls bei denen das UI von der Funktionalität getrennt waren und mit Templates alles beliebig umdesigned werden konnte, Data Binding das wirklich in verschiedensten Szenarien funktionierte (im Gegensatz zum Data Binding bei Windows Forms) – der Gestaltung vom UI waren keine Grenzen mehr gesetzt.
Das war so im Jahr 2006. Visual Studio gab´s damals noch kein neues, sondern nur erweiterte Tools zum Visual Studio 2005. Mit .NET 3.5 hab es dann auch das richtige Toolset mit Visual Studio 2008.
Codename WPF/E
Dann kam Silverlight mit dem ursprünglichen Codenamen WPF/E für WPF/Everywhere. Everywhere war auch die Zielsetzung von Silverlight. Nicht nur das Moonlight welches Silverlight auf Linux und andere Unix/X11 Derivate brachte, ich erinnere mich auch an ein Silverlight unter Symbian. Eben everywhere.
Die erste Version konnte auch noch nicht viel – nicht einmal Button controls gab es, und auch kein .NET. XAML war hier – mit Shapes – und das ganze programmiert mit JavaScript. Animationen waren klarerweise schon hier, es konnte als Konkurrenzprodukt zu Flash betrachtet werden. Videos waren bei Silverlight aber damals schon besser. Und DRM auch ein wichtiges Thema. Das war 2007.
In Version 2 gab es dann .NET und Button Controls. Mit der Entwicklung von Silverlight ging es rasant weiter. Für neue Versionen brauchten nicht lange warten. Silverlight 3 bereits im Jahr 2009 mit DataGrid, TreeView, data forms und paginations…
HTML5 – Everywhere
Beim Start von Silverlight war der Erfolg von HTML5 noch nicht absehbar. Seit 1997 gab es die HTML4 recommendation, und dann die Teilung zwischen W3C und der WHATWG mit strictem Markup oder alles doch wieder ganz offen. Nachdem es bis 1999 (HTML 4.01) mit der HTML Entwicklung rasant gegangen ist hat es dann bis 2008 zu einem sinnvollen Working Draft von HTML5 gedauert. Da waren aber dann wieder auch alle dabei – auch Microsoft.
Statt Silverlight Everywhere hat sich HTML Everywhere etabliert.
Silverlight for Windows
Damit hat Silverlight dann wieder einen anderen Weg eingeschlagen. Erweiterungen für Windows. Mit Silverlight 4 (2010) kam COM Interop. Es ist jetzt möglich Office von Silverlight zu steuern. Silverlight 5 (2011) hat dann praktisch die ganze Windows API für Silverlight mit Platform/Invoke geöffnet. Damit ist die Zielsetzung von Everywhere aber natürliche nicht mehr gegeben.
WPF/RT
Silverlight hatte den Codenamen WPF/E. Ein Derivat von WPF mit XAML Syntax. Der Nachfolger von verwendet weiterhin XAML. Diesmal sind die XAML Controls nicht von JavaScript anprogrammierbar (wie bei Silverlight 1), und die Controls sind nicht mit .NET implementiert – stattdessen sind sie native. Native für Windows. Windows Store Apps können mit XAML und C# programmiert werden. Das ganze unter Windows und Windows RT. Deshalb meine Anspielung an WPF/RT.
XAML – XAML – XAML
Ob es jetzt WPF, Silverlight, oder Metro (sorry, Windows Store Apps) heißt – wir können auf dem gleichen Wissen aufbauen und XAML und C# für die Entwicklung einsetzen.
Natürlich ist es heute noch nicht möglich alle Applikationen auf Windows Store Apps umzustellen, Windows 8 ist noch nicht überall verfügbar. WPF ist ein mächtiges Werkzeug für Desktop Applikationen – auch mit viel Neuigkeiten bei WPF 4.5. Silverlight wird noch auf viele Jahre weiterhin unterstützt. Und mit Windows Store Apps kann ein Subset der Funktionalität einer Rich Desktop App für die neue Oberfläche erstellt werden. Und dabei ist es nicht nur möglich auf dem XAML Wissen aufzubauen, auch Code kann zwischen diesen Technologien geshared werden.
Christian
Image © Christian Mueringer | Dreamstime.com