Die Zukunft im Internet haben wir bereits erreicht. Doch was bringt das Internet an neuen Visionen mit sich? Die zentrale Verfügbarkeit, die durch das Internet erzielt wurde, bringt Einiges an weiteren Tendenzen. Buzz-Wörter wie Cloud-Computing und RIA sind der absolute Trend.
Cloud-Computing steht für nichts anderes, als außerhalb des Unternehmens liegende Server, die "in der Wolke" gewisse Dienste zur Verfügung stellen. Große Unternehmen wie Amazon oder Google bieten hier Dienste wie zum Beispiel Suchfunktionen an. Microsoft setzt eine ganze Plattform mit dem Namen Windows Azure dagegen, womit unternehmenseigene Dienste nach außen hochgeladen werden können. Dabei übernimmt Windows Azure je nach verursachter Nutzung die benötigte Skalierung vollautomatisch. Unternehmen sparen sich dabei die nötige Hardware, Verwaltung und Bereitstellung ins Web.
Dann wäre da noch der zweite Trend, RIA (Rich Internet Application). Zu Beginn des Internetzeitalters sollten "einfache" Dokumente bestehend aus Text und Bildern veröffentlicht werden können. Leider reicht das für heutige Anforderungen längst nicht mehr aus. Webseiten sollen sich wie Windows Programme verhalten. Das wären unter anderem parallel laufende Verarbeitungen, Video- und Audio-Unterstützung und Drag and Drop. RIA-Anwendungen sollen die Grenzen des Internets sprengen.
Dazu werden Webseiten am häufigsten mit AJAX (Active JavaScript and XML) so gepusht, dass sie sich ähnlich wie Desktopanwendungen verhalten können. Einfache HTML-Tabellen können plötzlich wie Windows-Fenster über die gesamte Browserfläche verschoben werden. Dabei ist AJAX nichts Neues, sondern auch nur ein weiteres Buzz-Wort. Es ist eine Kombination von allen bisherigen Webmitteln: JavaScript, XML, HTML und CSS. Das grundlegend alle Bordmittel für die Nutzung von AJAX zur Verfügung stehen ist ein positiver Aspekt, dennoch bringt es einige Probleme mit sich.
Das Unerfreuliche dabei ist, dass AJAX, unbemerkt im Hintergrund, stetig eine Anfrage (Request) an den Server stellt, um dynamisch den neuen Inhalt präsentieren zu können. Das kann auf Dauer einiges an Traffic bedeuten. Außerdem werden damit die Grenzen soweit überschritten, dass gleichgültig welcher Browser, die zahlreich geöffneten Websites zum Absturz geführt werden können. Aber solche Fälle treten eher sporadisch auf. Es sollte nur im Hinterkopf behalten werden, dass bei dieser Technologie, zu viel des Guten leider nur schadet.
Ein anderer Aspekt soll noch durchleuchtet werden, und das wäre ein Blick aus der Entwicklersicht. Der größte Bestandteil von AJAX ist JavaScript. JavaScript war bereits von der Geburt an nicht wirklich beliebt. Es hatte nur auf dem Client einen größeren Nutzen, wie zum Beispiel für das Überprüfen von Formularen, bevor diese an den Server versendet wurden. Sehr negativ waren nichts aussagende Fehlermeldungen, warum gerade etwas nicht verarbeitet werden konnte. Auch war kein Durchlaufen des Codes (Debugging) während der Laufzeit möglich, was jedoch mittlerweile funktioniert. Somit wurde JavaScript ziemlich schnell zum Baukasten.
Für einfache Anforderungen, wie zum Beispiel ein Pop-up-Fenster, einer MessageBox oder das Schließen des Browsers, gibt es einfache fertige Code-Schnipsel als Bausteine, die dann der eigenen Website beigefügt werden. Dasselbe Spiel geht mit AJAX weiter. Es gibt zahlreich fertige Bausteine, um dieses desktopähnliche Verhalten implementieren zu können. Sobald aber sonderbare Anforderungen hinzukommen, die ein Eingreifen der fertigen Bausteine erfordern, beginnt ein aufwändiges Durchforsten und Orientieren, was sehr viel Zeit beansprucht.
Die nächste harte Nuss wäre das Layouten und Designen einer Website mit CSS. Dabei ist CSS ein wirklich wunderschönes Prinzip zum definieren des Designs, dabei kann zur Laufzeit das Design auch dynamisch geändert werden. Das Einzige, was die Arbeit mit CSS wirklich unglücklich macht, ist die unterschiedliche Verarbeitung der gängigen Web-Browser. Dabei werden die Hauptvorwürfe an die Browserhersteller gegeben, die sich nicht an die CSS-Standards halten.
Somit sind auch heute noch die beiden harten Nüsse AJAX und CSS die größten Probleme, wegen der es oft zu einem verzögerten Ende bei Web-Projekten kommt.
Nichtsdestotrotz wird es immer wichtiger über das Internet, Intranet oder Extranet die eigene Geschäftsanwendung für Kunden zugänglich zu machen. Nur ein Problem haben die meisten Softwareschmieden, dass der Anwendungskern mit ganz anderen Entwicklungssprachen geschrieben wurde. Beispielsweise C++, Java oder .NET (C#/VB.NET).
Zudem sind Entwickler meistens auch nicht mit der Webentwicklung vertraut, wodurch sie sich dann gleich in mehrere Sprachen, Vorgehensweisen und Regelungen einlernen müssen. Das wären wie bereits genannt: HTML, CSS, JavaScript und AJAX. Da es aber für das Entwicklerteam eine komplett neue Welt darstellt, beansprucht das Lernen viel Zeit. Erfahrungsgemäß wird diese Zeit eher für die Erweiterung oder die Verbesserung der bestehenden Geschäftsanwendung beansprucht.
Es müsste eine Lösung geben, mit der die Entwickler bei Ihrer Entwicklungssprache bleiben könnten. Zudem sollte eventuell auch das Design der Weboberfläche getrennt von einem professionellen Grafik-Designer, zum Beispiel in Photoshop, entworfen werden können. Entwickler sind oft keine guten Designer. Und die spätere Web-Anwendung muss ebenfalls noch vorsatzlos alle interaktiven Freiheiten haben, wie eine Desktop-Anwendung.
Wort für Wort erfüllt Silverlight genau die soeben genannten Wünsche. Doch was genau ist Silverlight? Um sich von dem HTML-Standard abhängigen Problemen zu lösen, beansprucht es eine erweiterte Lösung der Browser durch eine neue Technologie. Eine Technologie die flexibel genug für heutige Anforderungen ist. Folglich veröffentlichte Microsoft im Jahr 2007 ein Plug-In für den Browser, welches genau darauf ausgelegt war, diese Wünsche abzudecken. Dieses Plug-In war für die gängigen Browser Firefox, Internet Explorer und Safari und zudem plattformunabhängig zu Microsoft Windows, Mac und Linux.
Zu Beginn von Silverlight 1 war in der Öffentlichkeit noch recht unklar was Microsoft überhaupt damit erzielen will. Magazine, Zeitungen, Newssites und Newsletter nannten Silverlight einen "Microsofts Flash-Killer". Es war anfangs wohl dasselbe Prinzip wie Adobe Flash, eine Browsererweiterung die Multimedia Inhalte wie Videos streamen und wiedergeben kann und zudem Dreiecke, Quadrate und Kreise anzeigen konnte. Viel mehr Funktionalitäten standen noch nicht zur Verfügung.
Für den Markt war also ersichtlich, dass Microsoft den Kampf gegen Adobe angesagt hatte. Nur zu welchem Zweck? Adobe Flash war schon so weit entwickelt und Silverlight 1 zeigte sich mit den wenigen Funktionen sehr schwach. Wer demnach für Silverlight 1 etwas programmieren wollte, konnte dies nur mittels JavaScript erfüllen. Daher war Silverlight für den Markt zuerst nicht von Interesse.
Doch Microsoft veröffentlichte Ende 2008 die zweite Version von Silverlight. Und mit Silverlight 2 war eine ganz neue Revolution der Web-Entwicklung geboren. Es wurden nun alle gängigen Programmiersprachen, die beim Smart Client und Web zum Einsatz kamen, unterstützt: .NET (C#/VB.NET), Java, PHP, Ruby, Phyton und weiterhin JavaScript. Aber nicht nur das, sondern die komplette Oberfläche konnte nun unabhängig durch XAML, sprich einer XML-Datei, beschrieben werden.
Microsoft bietet zudem weitere Softwareprodukte an, wie Expression Blend, womit Grafik-Designer auch ohne XML die Oberfläche bequem gestalten können, ähnlich ihrer gewohnten Grafiktools. Zudem können sie nach Belieben auch weiterhin in Adobe Photoshop oder Adobe Illustrator arbeiten. Die Software übersetzt die Grafikdateien automatisch in das richtige XAML (XML).
Silverlight 2 konnte jetzt nicht nur grundlegende geometrische Formen anzeigen, sondern zeigte sich mit aus Windows bekannten User Controls wie einem Button, der TextBox, dem DataGrid und vielen Weiteren, sehr attraktiv. Dass die mit XML aufgebauten Elemente außerdem verschachtelt werden können, gibt den User Controls eine absolute Freiheit. Als Beispiel können in einer einfachen Liste auch Bilder, Buttons, oder Checkboxen ohne Probleme kombiniert werden. Nun wurde Silverlight 2 so richtig interessant für den Markt. Microsoft wollte anders als Adobes Flash, gezielt für Geschäftsanwendungen abgestimmt, eine Lösung mit Silverlight anbieten. Entwickler sollten bei Ihren bisherigen Sprachen bleiben und Designer sich um die Oberfläche kümmern. Adobes Flash bietet hier nur eine eigene Entwicklungssprache an: ActionScript.
Ein sehr anschauliches Silverlight-Beispiel ist die CarShop-Demo , ein Online-Shop für Gebrauchtwagen. Hier sind alle erdenkbaren Features von Silverlight 2 wiederzufinden. Beim Überfahren mit dem Mauszeiger über die Vorschauliste, heben sich die aktuellen Fahrzeuge vom Hintergrund ab. Bei einem Klick öffnet sich ein desktopähnliches Fenster, das innerhalb des Browsers ohne Probleme verschoben werden kann. Ein sehr gutes Interactive-Beispiel zeigen die beiden Buttons "Merken" und "Kaufen". Beim Aktivieren des "Merken"-Buttons, wird parallel im Hintergrund ein Eintrag in die Favoritenliste angelegt. Beim Klick auf den "Kaufen"-Button, wandelt sich die komplette Oberfläche zu einem Log-In-Bereich.
Natürlich darf auch der Multi-Media-Bereich nicht fehlen. Rechts unten auf der Seite können Videos zu den entsprechenden Fahrzeugen angesehen werden. Dabei werden die Filme ohne weitere Probleme gestreamt. Man bemerkt schnell, das durchklicken des Online-Shops wird zum Abenteuer. Das Erstaunliche dabei ist, dass für den Online-Shop weder AJAX noch CSS vom Entwickler benötigt wurden.
Am 10. Juli 2009 veröffentlichte Microsoft Expression Blend 3 und Silverlight 3. Gestalter können jetzt auf mehr als 60 Controls für Theming und Skinning zurückgreifen und diese bei Bedarf im Quellcode verändern. Dabei wurden bekannte Fehler von Silverlight 2 gefixt, wie zum Beispiel ein unscharfes Rendern des Textes. Das konnte durch einen erweiterten Zugriff der Grafikhardware (GPU) mittels DirectX (Windows) oder OpenGL (Apple, Linux & Co.) gelöst werden. Durch diese Hardwarebeschleunigung ist es Microsoft gelungen, eine zusätzliche 3D Unterstützung anzubieten.
Hinzugekommen ist auch ein neuer Codec für die Video-Streaming-Unterstützung H.264, womit Filme in HD gestochen scharf gesehen werden können. Dank "Smooth Streaming", das als Erweiterung für den Microsoft-Webserver IIS verfügbar ist, kann der Betrachter praktisch ohne Verzögerung innerhalb des Videos hin- und herspringen, zum Beispiel in diesem Clip .
Durch die Indizierbarkeit der Anwendungen kommt Silverlight 3 sowohl den Bedürfnissen von Suchmaschinen als auch von Nutzern mit Behinderungen entgegen. Einzelne Zustände der Anwendung lassen sich per URL ansprechen, sodass Deep Links möglich sind.
Eine interessante Neuheit ist die Möglichkeit, Silverlight-Anwendungen per Rechtsklick aus dem Browser herauszuholen und lokal in einer Sandbox (Out-of-Browser) zu installieren. Die Anwendung kann dabei feststellen, ob der Rechner mit dem Internet verbunden ist, und gegebenenfalls Daten synchronisieren. Updates laufen automatisch, Silverlight gleicht auch bereits vorhandene DLLs ab.
Mit dem ADO.NET-Framework greift Silverlight 3 auch auf in PHP oder Java geschriebene Serveranwendungen zu. Die Multi-Touch-Unterstützung zielt vor allem auf berührungssensitive Smartphones, für die Microsoft mit Nokia zusammenarbeitet. Für die Linux-Variante Moonlight kooperiert der Software-Konzern mit Novell. Auch in der Spielekonsole Xbox und in der kommenden Version von Microsoft Office soll Silverlight eine Rolle spielen.
Silverlight ist bereits heute ein stabiles und zuverlässiges Framework, das die Anforderungen fürs Web perfekt abdeckt. Bis auf das benötigte Browser Plug-In auf den Clients gibt es keine Einschränkungen. Gerade im Geschäftsumfeld werden diese RIA-Anwendungen eine enorme Rolle spielen. Für Webseiten die von jedem konsumiert werden sollen, wird wohl die klassische Webentwicklung, wegen der Eigenständigkeit ohne benötigtes Browser Plug-In künftig am Frontend stehen.
Silverlight Beispiele
| CarShop Demo: | cs.w3a.de |
| Hard Rock Cafe: | memorabilia.hardrock.com |
| Microsoft Health Demo: | www.mscui.net/PatientJourneyDemonstrator |
| Microsoft WorldWide Telescope: | www.worldwidetelescope.org/webclient |
| RTL Auto-Zoom: | www.rtl.de/auto/auto_987595.php |
| Silverlight Sammlungen: | silverlight.net/showcase |
Bitte beachten Sie unsere Informationen zum Datenschutz.
blog comments powered by Disqus© 2012 FEiG & PARTNER