HowTo: Microsoft Silverlight 1.0 (Praktischer Anfang)

Wie bereits in dem ersten HowTo (mit den Grundlagen) geht es diesmal um den praktischen Anfang – also was braucht der Entwickler und was braucht hinterher der Anwender?  Am Ende des HowTos sind wir dann an einem guten “Anfangspunkt” – mit allem was man zu Silverlight 1.0 braucht.

Was braucht nun der Anwender?

Der Anwender benötigt nur das Browser Plugin – das ist allerdings für Windows und Mac gibt. Also offiziel von MS – die Linuxer sollten nach “Moonlight” suchen.

 

Und was braucht ein toller und fähiger Entwickler?

Eigentlich nur ein Texteditor und die MSDN. Günstiger wäre allerdings eine richtige IDE, Visual Studio bietet sich an, und das SDK.

 

Ein Wort noch zu Visual Studio & ASP.NET Futures:

Silverlight Applikationen lassen sich auch leicht mit Visual Studio 2005 entwickeln. Nachdem man das SDK installiert hat, bekommt man sogar ein Template dazu, allerdings wird die Unterstützung mit Visual Studio 2008 wahrscheinlich besser. Insbesondere da VS 2008 auch IntelliSens für Javascript verfügt. Für alle die es interessiert: Visual Studio 2008 ist momentan noch in der Betaphase, kann aber hier ausprobiert werden. Ich werde hier mit Visual Studio 2005 arbeiten.

Nun noch ein Wort zu den ASP.NET Futures: Mit den Futures (die ebenfalls Beta sind) kommt wohl auch ein Silverlight Control sowie noch mehr zum AJAX Framework. Ich hab die jetzt nicht installiert, sondern nutze die normalen ASP.NET AJAX Extensions.

So… fangen wir nun an.

 

Schritt 1: Das SDK installieren und das Template ausprobieren.

Nachdem das SDK installiert wurde, gibt es ein neues Template:

image

Wenn man das SDK für Silverlight 1.1 noch installiert hat, sieht man in den Vorlagen noch ein Template für Silverlight .NET Applikationen.

Hier das Template nun:

image

Was sehen wir nun? Grob sieht man drei Teile: Die Default.html samt Javascript, die Scene.xaml samt Javascript und das Silverlight Javascript – doch was macht was?

Die Hauptkomponente die auch die Überprüfung durchführt ist die “Silverlight.js” Datei. Hier wird geprüft ob die richtige Version des Plugins installiert ist etc.

 

 Die “Default.html” lädt die Javascript Datein rein:

   <script type="text/javascript" src="Silverlight.js"></script>
   <script type="text/javascript" src="Default.html.js"></script>
   <script type="text/javascript" src="Scene.xaml.js"></script>

 

Zudem gibt es noch ein Div und die Funktion, welche das Silverlight (einen Button) erstellt:

   <div id="SilverlightPlugInHost">
      <script type="text/javascript">
         createSilverlight();
      </script>
   </div>

Die “createSilverlight()”-Funktion ist in der “Default.html.js” definiert und erstellt das Gerüst und ruf dann die XAML Datei – “Scene.xaml” – auf um das was darin definiert ist, anzuzeigen.

In der “Scene.xaml” ist die Oberfläche definiert. Ein einfacher Button.

In der “Scene.xaml.js” wird der Oberfläche verhalten zugewiesen – was passiert, wenn ein Benutzer klickt oder was passiert wenn die Maus drüber geht. Die Verbindung zwischen “Scene.xaml” und “Scene.xaml.js” wird über die “Default.html.js” erreicht – nach dem erstellen der XAML wird noch die “Scene.xaml.js” aufgerufen.

Wenn man das ganze jetzt anschaut, sieht man einen Button auf den man klicken kann und es kommt ein kleines Fenster, dass das Element geklickt wurde.

Schritt 2: Ein ASP.NET AJAX Enabled Website erstellen

Da in dem Silverlight Template keine ASP.NET AJAX komponenten installiert sind und die Anpassung an die Web.Config doch recht kompliziert sind und wir aber auf die Funktionalität nicht verzichten wollen, erstellen wir eine einfache ASP.NET AJAX enabled Website und werden die benötigten Komponenten reinladen.

Schritt 3: Komponenten reinladen – doch welche?

image

Man füge folgende Elemente hinzu:

  • Default.html.js
  • Scene.xaml
  • Scene.xaml.js
  • Silverlight.js

Und kopiert aus der Default.html diese Zeilen und fügt sie in die Default.aspx richtig ein:

   <script type="text/javascript" src="Silverlight.js"></script>
   <script type="text/javascript" src="Default.html.js"></script>
   <script type="text/javascript" src="Scene.xaml.js"></script>
...
   <div id="SilverlightPlugInHost">
      <script type="text/javascript">
         createSilverlight();
      </script>
   </div>
 

Am Ende sieht man das selbe Ergebnis wie bei dem normalen Template – mit dem Unterschied, dass uns jetzt noch die MS AJAX Funktionalität offen steht, welche wir bestimmt später noch brauchen.

 

Das wärs erstmal – weiter gehts an einer anderen Stelle.

Letzte Posts

  • image.png
    RavenHQ–RavenDB in der Cloud

    Ayende Rahien hat es heute verkündet – RavenHQ, der RavenDB Cloud Hoster (natürlich von und mit Ayende) ist ab heute raus aus der Beta und man kann es von überall aus nutzen. In der Betaphase waren nur Nutzer von AppHarbor zugelassen. Was ist RavenHQ? RavenHQ ist im Grunde ein gehostes RavenDB in den Rechenzentren von ...

  • image.png
    GitHub for Windows–erste Eindrücke

    Git ist schon eine tolle Sachen und eröffnet viele neue Möglichkeiten – allerdings ist der Einstieg recht hart und selbst wenn man die guten Hilfsanleitungen auf GitHub befolgt, kommt man am Anfang nur langsam vorwärt. Insbesondere ist das Tooling für Windows / .NET Entwickler auch nicht gerade “bekanntes Terrain”. GitHub to the rescue! Die GitHub ...

  • image.png
    Chocolatey–apt-get für Windows

    Durch Zufall bin ich auf das Tool “Chocolatey” gestoßen. Wer die Website sich anschaut, wird evtl. eine Verwandschaft mit NuGet ausmachen. Was macht Chocolatey? Chocolatey ist ein “Maschine Package Manager”, das bedeutet, dass man für seine Maschine einfach Tools runterladen und Updaten kann – direkt über die Konsole. Was ist der Unterschied zu NuGet? NuGet ...

  • image.png
    SASS, LESS & Coffeescript in Visual Studio mit der Web Workbench

    CSS und Javascript sind die “kleinste” Schnittmenge von allen Browsern für die Erstellung von Web-Applikationen. Leider geht dabei etwas komfort verloren, daher lieben alle Webentwickler jQuery! SASS und LESS sind zwei Varianten, wie man “schöner” CSS schreiben kann und Coffeescript versucht Javascript Entwicklung zu vereinfachen. Aber immer der Reihe nach… Was ist SASS? SASS steht ...

  • image.png
    Code-Inside Sample nun auf GitHub: Google Code zu GitHub Migration

    Seit einiger Zeit habe ich Beispielcode auf Google Code bereitgestellt. Einfach nur noch weg von Google Code O-Ton damals war: Ich hatte mich für Google Code entschieden, weil ich hoffe dass früher oder später die Google Code Suche nutzbar ist und es dadurch wenigstens ein kleiner Mehrwert entsteht. Allerdings wirft es momentan noch ein Fehler. ...

Support us!