Se afișează postările cu eticheta Silverlight. Afișați toate postările
Se afișează postările cu eticheta Silverlight. Afișați toate postările

luni, 12 ianuarie 2009

Enter Silverlight - partea a doua

Am spus mai devreme ca ma voi intoarce cu mai multe detalii legate de limbajul XAML folosit pentru definirea interfetei cu utilizatorul. Si iata ca m-am intors. Sa vedem...

Limbajul XAML (sau Extensible Application Markup Language) este un limbaj declarativ bazat pe regulile XML. Din punct de vedere al sintaxei, regulile sunt destul de putine si foarte clare. In primul rand, trebuie ca tot continutul fisierului XAML sa fie inclus intr-un nod radacina de tipul Canvas.

Dupa cum stim, standardele XML permit introducerea de date in noduri ca atribute, sau sub forma de continut. Un feature foarte util prezent in limbajul XAML este sintaxa elementelor proprietate, care permite acordarea de valori complexe proprietatilor. Cum ar fi, de exemplu, definirea unui fundal ca un gradient dat prin culorile in anumite puncte "ancora". Sintaxa de baza presupun adaugarea in interiorul nodului obiect, a unuia sau a mai multor noduri de forma NumeObiect.NumeProprietate, iar in interiorul acestora, a unor noduri ValoareProprietate.

Aceasta sintaxa are atat avantajul de a permite definirea unor proprietati practic oricat de complexe, cat si acela al faptului ca lasa loc pentru continutul propriu-zis al obiectului parinte. Astfel, definirea proprietatilor poate fi interpretata ca un header, dupa care se poate adauga continutul.

Un alt tip de proprietate implementat in XAML este cel al proprietatilor atasate, adica al unor proprietati pe care elementul respectiv nu le detine in mod nativ, dar daca ii sunt atasate le poate interpreta prin referire la proprietatile elementului parinte. Spre exemplu proprietatile Top si Left (distanta fata de marginea de sus, respectiv din stanga a containerului), sunt dependente de contextul in care se afla elementul respectiv.

O ultima nota asupra sintaxei XAML va face referire la tratarea evenimentelor. Acestea sunt definite in XAML in mod foarte asemanator cu HTML. Asocierea dintre lansarea unui eveniment si metoda ce il trateaza se face prin adaugarea la elementul vizat a unei proprietati de forma NumeEveniment="FunctieHandler()".

Acestea fiind zise, voi incheia aici partea a doua a seriei Silverlight, urmand sa revin data viitoare cu o serie de probleme cunoscute ale versiunii curente de Silverlight si cele mai uzuale solutii de work-around.

Catalina

Enter Silverlight...

Salutare din nou!

Voi face o mica pauza in seria articolelor ce au ca tema comparatia intre VB si C#, pentru a va prezenta o tehnologie relativ noua, si foarte promitatoare, in ciuda problemelor adesea evidente pe care inca le mai are - tehnologia Microsoft Silverlight.

Acestea fiind zise, sa trecem la treaba - deci ce este Silverlight?
Silverlight este o tehnologie web disponibila in cadrul framework-ului .NET, portabila din punct de vedere al browserului si al platformei, si creata cu scopul de a permite dezvoltarea a ceea ce a fost denumit ultima generatie de RIA (Rich Interactive Application), intr-un mod mai vizual si mai orientat pe design decat oricand. Pe partea clientului, functioneaza pe orice browser, incluzand Internet Explorer, Firefox, Safari, Opera, etc, fiind necesara doar instalarea unui mic plugin.

Ca sa punem problema in modul cel mai simplu, Silverlight este raspunsul Microsoft la Adobe Flash. Iar in ciuda problemelor inca nerezolvate in versiunea curenta (v2.0 - release candidate 0 la momentul scrierii articolului), isi atinge in general obiectivul prin faptul ca este mai versatil, mai puternic , si mai "comunicativ" cu alte tehnologii, daca putem spune astfel. Putin mai tarziu vom vedea in ce constau si problemele pe care le-am mentionat. Dar sa revenim.

De ce spun ca este mai versatil? Silverlight este, tehnic vorbind, o combinatie de mai multe tehnologii accesibile din acceasi platforma de dezvoltare, fapt ce permite developerului sa-si aleaga uneltele si limbajul de programare pe care doreste sa le foloseasca (lux inaccesibil developerului orientat pe Flash). Se integreaza fara probleme cu codul deja existent de Javascript si Ajax, pentru a completa functionalitatea deja existenta.

Urmatoarea intrebare - ce contine o aplicatie Silverlight? Raspuns - cel putin 3 elemente:
- un fisier html radacina, ce are ca singur scop lansarea apelului "Create Silverlight" ce porneste randarea aplicatiei propriu-zise,
- unul sau mai multe fisiere XAML, ce compun interfata aplicatiei (voi detalia putin mai tarziu structura unui fisier XAML, deocamdata voi mentiona doar ca limbajul folosit este foarte asemanator cu XHTML)
- un assembly DLL, referentiat din fisierele XAML, si care dupa incarcare, ruleaza client-side, asemanator cu javascript, dand astfel impresia de aplicatie desktop. In acesta assembly se incorporeaza toate celelalte module si biblioteci necesare.

In incheierea acestei prime parti a seriei Silverlight, voi mentiona motivele pentru care Microsoft sustine ca Silverlight va revolutiona dezvoltarea web. Daca au dreptate sau nu, vom vedea in continuare.

1. Cross-platform, cross-browser - permite dezvoltarea de aplicatii web ce vor functiona pe orice browser, sub orice sistem de operare.
2. Developerii si designerii grafici pot lucra acum independent (cu alte cuvinte, nu mai pot da vina unii pe altii cand nu iese bine :) ) - datorita gradului ceva mai mare de independenta dintre partea client-side (sursa XAML) si server-side (codul din spate), orice designer cu un minimum de cunostine HTML va prinde imediat "din zbor" limbajul XAML si va putea crea layout-ul cu mana lui, fara a-i explica developerului cum ar vrea sa arate aplicatia, lasand implementare layoutului tot in mainile acestuia din urma.
3. Costuri mai mici - Silverlight este cel mai ieftin mod de a realiza video streaming la cea mai buna calitate, licentierea este foarte simpla, iar ca requirements suplimentare, nu este necesar altceva decat IIS.
4. Suport pentru limbaje third-party - datorita noului DLR (Dynamic Language Runtime), developerii vor putea scrie codul server-side intr-o multime de alte limbaje, cum ar fi Ruby, Python, etc (pe langa evidentele VB si C#).
5. Viteza mai mare - din studiile Microsoft (ce raman, evident, a fi verificate), aplicatiile web bazate pe Silverlight sunt mult mai responsive si mai rapide decat cele bazate strict pe Ajax (evident, strict din punct de vedere al interfetei).

Aici se incheie introducerea in tehnologia numita Silverlight. Voi reveni in continuare cu mai multe detalii, si cu o scurta prezentare a partilor nu asa de promitatoare ale acesteia.

Catalina

Articolele noastre