2007.08.28

Sådan kommer du igang med Silverlight

Kategori: Programmering — Michael Schøler, Kl. 23:27:16

Silverlight logo...Dags dato var jeg afsted til et heldags arrangement afholdt af Microsoft her i Århus vedrørende deres proklamerede nye store ting Silverlight. Arrangementet blev afholdt i sal 4 i CinemaXX og jeg vil anslå ca. 70 tíl 100 personer var mødt op for at se hvad det nu var for en størrelse der ville blive trukket op af hatten.

Nøgleordene for hvorfor Silverlight er det store nye omdrejningspunkt og need-to-know buzz word er som jeg råt-for-usødet ser det:

  • Cross browser (Internet Explorer, Firefox, Safari, Opera*)
  • Cross platform (Mac, Windows, Linux*)
  • Managed code (hvis Microsoft Visual Studio anvendes)
  • 4 Mb client side plugin giver “nær” .NET 3.0 runtime samt Silverlight motor
  • Indbygget HD streaming (skulle man have behov for det…)
  • Vektor grafik
  • Scriptbare animationer, transformationer, effekter med videre

*) Snart, fortsat under udvikling

Artiklen her fortsætter et godt stykke endnu, og er du ikke helt skræmt væk allerede skal du trykke “fortsæt med at læse” for at komme videre.

Microsoft Silverlight event...
Billede fra Microsoft Silverlight event i CinemaXX i Århus d. 28/08-2007

Hvad foregår der?

Mindste bestanddelene er en standard HTML fil, som i browseren på helt almindeligvis giver anledning til en DOM (Document Object Model), en lille silverlight.js biblioteksfil leveret af Microsoft, et XAML dokument der beskriver din Silverlight applikations grafik og eventhåndtering, samt en eller flere tilknyttede javascript filer til business logikken heri. I den seneste udgave af Silverlight runtime plugin’et (alpha releaset) er business logikken udtrykt i managed code, f.eks. C# og ikke i javascript - dette kræver på udviklingssiden at Microsoft Visual Studio 2008 anvendes. Fordelen herved er udover at der arbejdes med managed code, at man som udvikler kan benytte sig af debuggeren samt code-insight og completion, som man kender det fra almindelig C# udvikling i Visual Studio.

Vejen fra almindeligt HTML dokument til et Silverlight udvidet dokument er, at DOM’en manipuleres af det indsatte Javascript script (silverlight.js), hvorved et (eller flere) udpeget DIV element får indsat en SOM (Silverlight Object Model). Denne ændring finder sted ved et javascript instancieringskald for det udpegede DIV element, dette er det eneste nødvendigt “synlige” script i selve HTML filen, alt videre herfra kan indpakkes i SOM’en. En vigtig note at gøre sig bekendt med, er at DOM og SOM selvom de er indlejrede i hinanden, skal betragtes som to helt adskildte enheder. Navngivne elementer i vores vanlige DOM kan f.eks. ikke uden videre tilgåes fra SOM, og visa versa. Det er muligt men kræver specifik og manuel håndtering. Ligeledes er man ikke beskyttet imod kopiering af ens finurligt gennemtænkte Silverlight komponenter og animationer, da det hele eksisterer clientside i klartekst, ikke at dette nødvendigvist er et stort problem.

Efter pre-initialiseringen af Silverlight “applikationen” har fundet sted omformes XAML dokumentet (som angives som parameter til instancieringen af DIV elementet som en SOM) til en runtime Silverlight applikation - og så går det løs.

Hvad kan man så?

Mit indtryk er at Silverlight skal betragtes som et udvidet programmerbart og eventbaseret præsentationslag, som er istand til at vise vektorgrafik samt afspille streaming video og audio. En Silverlight applikation kan via Javascript interagere med DOM’en i begge retninger, og ligeledes kan DOM’en påvirke Silverlight objektmodellen. Silverlight har på sammevis som DOM’en mulighed for at udføre almindelige Javascript funktioner, AJAX kald og så videre, og på den vis programatisk at manipulere sit eget indhold. Men fortsat må det understreges at Silverlight er et udvidet præsentationslag, der giver udvikleren muligheder som ikke er eksisterende i den almindelige DOM.

Godt igang

Følg anvisningerne på denne side for at komme igang med de nødvendige værktøjer til udvikling af Silverlight dimser:
http://www.microsoft.com/Expression/products/download.aspx?key=blend2preview

Hello world!

Her er et yderst minimalistisk Silverlight eksempel, du kan tilgå filerne til eksemplet her:

Ingen kommentarer »

Endnu ingen kommentarer.

RSS feed for kommentarer til dette indlæg. TrackBack URI

Send kommentar

*
For at bevise at du er en person, og ikke en spam-robot, skal du indtaste dette kodeord. Bemærk at kodeordet altid starter eller slutter med et tal. Klik på billedet for at få kodeordet læst op.
Click to hear an audio file of the anti-spam word