Silverlight Architecture Overview

Încă sunt uimit de numărul de blog post-uri de la Microsoft care menţionează de Silverlight. Aseară am văzut un lucru foarte bun. Silverlight va fi suportat în curând şi de Opera (care este pe departe browser-ul meu preferat). Am citit aici anunţul şi apoi am şi văzut O-ul de la Opera pe deja celebra hartă de development pe Silverlight cu o notă mică pe care scrie "soon".

Lucian mi-a luat-o înainte prin anunţarea promisiunii lui Miguel de Icaza despre Silverlight-ului pe Mono (şi nici nu a ezitat să mă anunţe pe IM).Ce trebuie înţeles de aici? Că Lucian ştia dinaintea mea?Big Smile Nu. Trebuie înţeles că Miguel de Icaza a rămas impresionat de Silverlight după prezentările de la MIX.

Vreau astăzi să scriu câte ceva despre detaliile tehnologiei Silverlight, pentru că în primul meu post despre WPF/E am promis că voi face asta mai târziu.

Ok, să vorbim despre partea de arhitectură.

Primul lucru este această hartă. Aici este concentrat tot ceea ce am eu de gând să scriu.

În linii mari, Silverlight este formată din două mari părţi (+ installer-ul şi componenta de update, care apropos face update automat):

  1. Core Presentation Framework. Aceasta este aşa numitul stripped WPF, deci conţine componente şi servicii orientate UI şi interacţiune. Adică: input, controale lightweight pentru web, componente media, digital rights management ( Wink ), text, animaţii, etc.. Şi un DOM API pentru XAML (ţineţi minte când încărcam dinamic un obiect XAML?).
  2. Un subset al .NET Framework-ului, care conţine librării şi componente de bază, dynamic language compilation şi un CLR (şi un DLR).
  3. Installer-ul şi componenta de update.

O diagramă mai sugestivă:

 

Ce este cu galben aparţine Silverlight 1.1 (celebru pentru DLR).

Principiul pe care fucţionează este acelaşi (pe care l-am menţionat de la bun început). XAML-ul reprezintă legătura dintre partea de prezentare şi .NET Framework. XAML-ul poate fi manipulat folosind acest DOM API din JavaScript sau din orice limbaj (adică C#, Managed JScript, IronPython, Ruby) în versiunea 1.1.

Despre ce nu am zis aproape nimic este de .NET Framework în Silverlight.

  1. Partea de date. Avem integrat LINQ si XLinq pentru acces la date, plus este şi suport de serializare şi XML (normal)
  2. Base Class Library. Un set de clase de bază în .NET Framework, incluzând manipulare de string-uri, expresii regulate, reflection, colecţii, etc...
  3. Networking. Suport pentru servicii web, un obiect de tip Browser, acces la RSS, un obiect HTTP request şi response
  4. Common Language Runtime. The usual... garbage collection, management de memorie, excepţii şi type safety
  5. Dynamic Language Runtime. This is big. Avem suport pentru compilarea dinamică şi execuţie a scripturilor scrise în limbaje gen Phyton şi, cel mai tare, suport gen plug-in pentru extinderea Framework-ului în a suporta şi alte limbaje.

Alte facilităţi interesante ar fi Isolated Storage, safe file management pentru upload de fişiere. Un lucru foarte util şi care chiar l-am folosit este HTML interaction, care permite acces la HTML DOM-ul paginii curente. Merge şi invers, când un script poate accesa obiecte publice and stuff din aplicaţia noastră (Greasemonkey anyone?).

Alte lucruri ar mai fi JavaScript Object Notation care permite apelarea serviciilor web ASP.NET din JavaScript şi POX, care permite apelarea serviciilor web simple XML.

Cei interesaţi de DLR, pot asculta acest podcast de pe Channel9. Are jumătate de oră, şi este un "interviu" la telefon cu John Lam, care a lucrat mult în Ruby înainte să lucreze la Microsoft (şi aicolo tot în Ruby lucrează Big Smile).

Cam atât.

Referinţele sunt whitepaper-urile de pe silverlight.net

În loc de încheiere, cu dedicaţie pentru cei care au fost la prezentările mele de la Academic Tour şi se mirau de ce puneam atât de mult accent pe Media Integration Layer şi tot menţionam de Don Box la WCF, fiţi atenţi ce zice Don Box:

"In Indigo (WCF), the rocket science is in IChannel and Message.

 In Avalon (WPF), the rocket science is in the Media Integration Layer (MIL)."

Big Smile 

Later Edit:

Am trecut de 10.000 de vizitatori (unici?). YEY!! Yes 

Technorati tags: ,

Published 10 mai 2007 16:24 by Iacob Andrei
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Silverlight Architecture Overview

11 mai 2007 18:39 by Salo

Da - pana ma pun si eu sa scriu ceva despre Silverlight e old story :) efectul de ardelean ;)

Asa ca mai bine fac un append la blogul tau si bag mare aici cred cel mai fain demo de Silverlight si DLR care l-am vazut - e din mix07, si in mod normal poate fi vizionat din Silverlight :P

Daca nu l-ai vazut sper sa iti placa!

http://int1.fp.sandpiper.net/soma/applications/silverlight/v1/Default.html?title=DEV02Lam&source=videos/DEV02.wmv

- Just Glue It! Ruby and the DLR in Silverlight

[Stiu ca ii km-etric linku]

Salo

# Mă bucur că am admiratori

24 august 2007 00:46 by (Andrei)Iacob.Blog();

Sincer, chiar îmi place când sunt copiat. Înseamnă conţinut de valoare. http://itboard.ro/blogs/stefan_-_gabriels_blog_-_it_pro/archive/2007/08/01/avem-silverlight-de-la-microsoft.aspx

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required