August 21, 2017     Login   Register  
 
 
 
Home
 
Silverlight
 
Methodik
 
Für Entwickler
 
Referenzen
 
Über uns
 
 
 
 
 
 
Klippen für den Entwickler
 
 
 
 
 
 Silverlight   
Warum verwenden wir Silverlight? Minimize

Business & System steht seit seiner Gründung 1993 für die Verwendung aktuellster Technologie, nicht zum Selbstzweck, sondern um reale, robuste Business Anwendungen damit zu bauen. Dafür bietet Silverlight in der Zusammenarbeit mit aktuellen Service-Architekturen (WCF, Ria) für den Datenzugriff hervorragende Möglichkeiten, insbesondere im immer stärker gefragten Internet- und Infranet-Umfeld, die den gewohnten Komfort von Desktop-Anwendungen - und weit mehr als diesen - mit stabiler Technik verbindet. 

Seit Version 2 arbeiten wir intensiv an der Entwicklung von LOB-Anwendungen mit Silverlight (Version 1 war noch nicht ernsthaft zu gebrauchen, danach folgte ein großer Versionssprung). Dabei konnten wir viel Erfahrung sammeln, nicht nur mit den Möglichkeiten und Klippen von Silverlight, sondern v.a. auch mit der Veränderung der Service-Technologie dahinter. Die aktuelle Version 5.0 ist ein ausgereiftes Produkt, die keine wesentlichen Punkte mehr offen läßt und von Features, Stabilität und Performance. 


Silverlight ist von Microsoft entwickelt als Web-Technologie, die v.a. für Business Anwendungen mächtige Vorteile bietet gegenüber reinen ASP.NET / AJAX-Anwendungen. Anfangs als Konkurrenzprodukt zu Adobe Flex entwickelt (einer anderen Software-Technologie, die das programmieren von "reichen" Internet-Anwendungen ermöglicht, das häufige Stichwort dafür lautet RIA = Rich Internet Application), vereinigte Silverlight nun in sich die Möglichkeiten einer so umfangreichen Programmiersprache wie C# und dem .NET Framework mit den Design-Möglichkeiten, wie sie sonst nun mit Flash bekannt waren. 


Kurz: Silverlight ermöglicht es, eine konfortable datenzentrische Anwendung zu schreiben, und diese ohne weitere Installation auf jedem Rechner und Betriebssystem auszuführen.

  
 
Ich habe eine Desktop-Anwendung und... Minimize
Typisches Szenario: Ich habe eine Lösung bisher als Desktop-Anwendung unter Windows. Ich mache mir Gedanken, wie diese Lösung in einer moderneren Version aussehen sollte (evtl. angestoßen durch größere Änderungen oder durch das "Ableben" einer vormaligen Programmiersprache, wie Visual FoxPro...). Dabei stellt sich im Internet-Zeitalter schnell die Frage: Macht es Sinn diese Anwendung als Internetanwendung aufzusetzen, die im Browser läuft? Aber nun möchte ich weder auf den Benutzerkomfort einer Desktop-Anwendung, noch auf Performance im Datenzugriff verzichten. Ist sowas überhaupt sinnvoll und möglich?

Wenn diese oder eine ähnliche Fragestellung sie bewegt, möchte ich Ihnen die Möglichkeiten von Silverlight vorstellen. Als langjähriger Entwickler und Software-Architekt von mittleren und größeren Geschäftsanwendungen mit komplexen Datenstrukturen und Massendaten (> 1 Mio) ist mein Blickwinkel dabei ein anderer, als der vieler Silverlight-Entwickler, die sich stark auf die enormen graphischen und Multimedia-Möglichkeiten konzentrieren. Für mich ist dagegen weit mehr die Frage: Kann ich mit Silverlight wirklich meine herkömmliche Desktop-Geschäftsanwendung ablösen?

Mein kritisches Testen kam zu ausgesprochen guten Ergebnissen, und die Benutzer der Anwendungen, die daraus entstanden sind ebenfalls. Die Haupt-Klippe ist dabei natürlich das Empfangen und Schicken von Daten über den "engen" Kanal des Internets. Insofern muß man sich anfangs an eine etwas andere Arbeitsweise gewöhnen - hauptsächlich die, daß eine Anwendung so gebaut sein sollte, daß sie jeweils möglichst wenige Daten auf einmal im Zugriff hat (typisch und bewährt ist dabei das Paging-Verfahren, bei dem ich aufgrund meiner Selektion zwar sehe, daß hier z.B. 1500 Pages entstehen würden, jedoch nur eine Page tatsächlich geholt wird mit z.B. 20 oder 30 Datensätzen). Doch dies erweist sich in der praktischen Arbeit nicht als Hindernis, da man ohnehin mehr Daten gar nicht auf einmal wirklich betrachten kann.
  
 
Was ist Silverlight eigentlich? Minimize
  • Silverlight ist eine von Microsoft entwickelte Technologie, die anhand eines einfach zu installierenden Plug-Ins den eigenen Browser (Internet-Explorer, Firefox, Opera) egal auf welchem Betriebssystem in die Lage versetzt, ein kompiliertes Programm (hier keine Exe sondern eine gepackte DLL) auszuführen. Dieses Programm ist in einer .NET-Programmiersprache geschrieben und besitzt fast alle Möglichkeiten eines Desktop-Anwendung - fühlt sich demnach auch genauso an, so daß der Anwender eigentlich schnell vergißt, daß er sich im Browser befindet.
  • Beim ersten Start einer Silverlight-Anwendung (indem ich dessen Adresse ins Browserfenster eingebe), werde ich aufgefordert, das Silverlight-PlugIn zu installieren. Es ist unter 5MB groß und enthält eine abgespeckte .NET-Runtime - immer wieder eine Überraschung zu sehen, wie ein so kleine Runtime so mächtige Möglichkeiten bietet (was die Oberflächen-Programmierung anbelangt kaum geringer als die Möglichkeiten von Desktop-Anwendungen mit .NET / WPF). 
  • Damit ist es aber nicht nur möglich, die Programme "so gut" zu programmieren, wie es die bisherige Desktop-Anwendung konnte (was schon ein Phänomen ist im Browser), sondern es bietet weit größere graphische Möglichkeiten, die herkömmliche Windows-User heute oft noch wenig kennen, die - sinnvoll eingesetzt - jedoch eine Menge Mehrwert und Benutzerfreundlichkeit dem Programm bringen.
  
 
Silverlight-Beispiel Minimize

Hier ein Beispiel für eine Silverlight-Anwendung. Wenn Sie noch nie eine Silverlight-Anwendung auf Ihrem Computer ausgeführt haben, erscheint das typische Silverlight-Logo, um das PlugIn downzuloaden. Sie können dazu den eigenen Text erscheinen lassen (hier Standard), damit jeder weiß, daß er dies tun kann und soll. Die Installation dürfte eigentlich für niemanden zu schwer sein.
Was dann ausgeführt wird, ist nicht mehr ein HTML-Code oder dergleichen (den Sie mit rechter Maustaste "Quelltext ansehen" in den meisten Browsern anschauen können), sondern ein kompilierter Code, also eine einzige Datei (DLL) die beim Hochzählen der Prozente am Anfang jeweils beim Start heruntergeladen wird - mit der ganzen Pallette von Möglichkeiten einer Desktop-Anwendung.

  
 
 Copyright 2010 by Business & System   Terms Of Use  Privacy Statement