Silverlight pitanje

Mislim baciti malo pogled na razvoj u Silverlightu 4,pa me zanima da li se i dalje radi odvojeno u Blendu i Visual Studiu? Sječam se da je bilo govora da kad izađe VS 2010
da Blend neče biti potreban,jer če design mode za Silverlight biti integriran u VS 2010.Naviknut sam na rad u Flex Builderu pa me ovo stvarno zanima…

Imas VisualStudio 2010, koji sada podrzava i dizajniranje (drag-drop elemenata, ili rucno pisanje XAML), koje mozes raditi i u Blendu 4, ali i ne moras.

Blend je ipak bolji za neke stvari kod dizajniranja, npr postavljanje animacija, visual state-ova, editiranje partova od kontrola ,…

Programirati mozes i u Blendu, ali nije bas ugodno jer nema intellisense i sve one ljepe stvari od VS-a, pa taj dio odradis u VS2010.

Da bi dobio sve te programe, stavi si Web Platform Installer, i samo odaberi sta sve zelis (Blend, VS, Silverlight SDK, Toolkit, RIA services,… ), i on ce sam to skinuti i instalirati.

Za pitanja oko SL programiranja, slobodno postavi ovdje na forumu!

Hvala na pomoći,interesira me što je silverlightov ekvivalent za komponente u Flex-u.Ja u Flex-u aplikaciju razbijem na puno samostalnih komponenti i onda ih po potrebi pozivam direktno ili mijenjajuči “state” aplikacije.

Zanima me kako se vrši navigacija Silverlight aplikacijom i na koji se način slaže aplikacija(custom components u Flex-u)?

U Silverlightu imas User Controle (UC dalje) koje mozes postavljati po zelji na jedan Page (tehnicki, tamo je sve UC, i glavni MainPage je UC). Onda mozes mjenjati glavni Page tako da mu kazes da ucita neku User Controlu umjesto njega (mjenjajuci RootVisual property od Application).

Za navigaciju imas Navigation toolkit/framework, odnosno klase, koje rade na principu master/details. Znaci imas jednu UC koja je master, i ima regije gdje se onda ucitavaju druge UC, i to kada ti kazes tom navig frameworku da ode na neku “adresu” - SL onda doda anchor u URL tako da se ta lokacija unutar aplikacije (npr detalji odredzenog proizvoda) moze bookmarkirat u browseru. Slicno kao da navigiras po sajtu preko linkova.
To recimo moze biti nalik Stateu od Flexa, iako u SL pojam State koristi za razliciti prikaz jednog UI objekta (UC, button, grid, stogod), gdje za svaki objekt/komponentu mozes imati neke Statove prikaza (hover, disabled, moze ih se napraviti beskonacno, svaki state moze mjenjati bilo koje svojstvo objekta) i mjenjati ih po potrebi.

O navigaciji imas kratki video tutorial na
http://www.silverlight.net
.

A mozes napraviti i svoju navigaciju, jednostavno mjenjajuci UC-ove.

Dodaj si i Silverlight Control Toolkit, to su ti dodatne kontrole (gridovi, grafovi, …).

Uz pomoc nekog third-party frameworka, poput Prism ili MEF (oba su od MSa, opensource), moze se dobiti on demond ucitavanje dijelova aplikacija (XAP fajlova, ekvavilent SWFu). Prism ima pak svoju navigaciju, a MEF vise sluzi kao framework za izradu modularnih (plug in) aplikacija. MEF je slican nekom IOC/DI frameworku.

Za poptuno odvajanje sucelja (XAML) od koda (objekti koji imaju propertye za bindanje) ja koristim MVVM Light Toolkit.

Hvala na opširnom odgovoru.Za navigation framework sam znao i da ima ugrađeni deep linking(oko čega se u Flex-u treba malo potruditi).

Mene zanima ovo:imaš jedan menu ili nekakav toolbar na stranici i pritiskom na neki gumb poziva se odgovarajuči dio(komponenta) koji želimo prikazati(menu ostaje vidljiv),znači navigacija na najosnovnijem nivou-kako to Silverlight riješava?

p.s.
Moram priznati da je grid kontrola bolja od ijedne u Flexu za osnovni dizajn layout-a,te da se s InkPresenter kontrolom mogu napraviti interesantne stvarčice

Ne mogu editirati gornji post,pa moram napisati novi.

Ako sam dobro shvatio,svaki zasebni dio koji radim(login forma,video player,bilo šta) se treba napraviti kao novi User Control koji onda mogu koristiti u aplikaciji.
Nekako mi je ovo puno jednostavnije u Flex-u riješeno-jednostavno napravim novu MXML komponentu(“based on” bilo koji kontejner ili kontrola) te fino radim s njima po potrebi.Također mogu praviti i module koji nisu sprženi u swf file,nego se učitavaju prema potrebi.

Što se tiče stateova,malo sam prčkao po Blendu i Visual State manageru,ali nisam znao da se može koristiti i za custom objekte.

Napravis novu User Controlu, ali ju mozes nasljediti od nekog vec postojeceg objekta ili user controle, pa zadrzis dio funkcionalnosti. Jedna user controla u sebi moze imati druge UCove, pa tako slazes finalni izgled.

Iz navig buttona onda ucitavas pojedine UCove.

Ako mi malo poblize objasnis kako to radi u Flexu, mozda uspijemo tu funkionalnost napraviti i u SL. Predpostavljam da je MXML isto kao XAML, neki XML opisa sucelja. Gdje je u Flexu programski kod od MXMLa, kao sto je code behind u SL?

U pravu si,MXML je deklarativni jezik(kao XAML) za layout aplikacije.U Flexu nema code behind,več cijeli kod ide u <s:script/> blok,što ponekad zna izgledati skupusano-na istoj stranici i MXML kod i kod u script bloku(ActionScript).

Ipak može se cijeli kod staviti u Actionscript file i samo u script bloku se namjesti da source property pokazuje na napisani file,te onda sve izgleda puno preglednije i čišće.

A šta se tiče razlike između između User Controla i MXML komponenti,to bi trebalo biti ista stvar-način na koji slažeš aplikaciju.

Uglavnom,cijela Flex aplikacija se radi na principu MXML komponenti,Flex je component-based development model.Znači cilj je aplikaciju koju radimo podijeliti na više komponenti koje je onda lakše i razvijati i održavati(u biti princip klasa).

Svaku novu komponentu možemo napraviti “based on” doslovce bilo koji navigacijski kontejner,layout kontejner,datagrid,tree,list,image-bilo šta.

E sad zamisli da imaš aplikaciju i da si napravio 5 MXML komponenti,dovoljno je u MXML u opisati(pozvati) custom komponentu i ona se pojavljuje na željenom mjestu.
Također se može i svih 5 komponenti jednostavno drag&dropati gdje želimo i napravili smo nekakvu aplikaciju.

hmm, cini mi se da ja isto tako radim i u SL, napravim brdo User Controla (ili tkz. Custom Controle, ako zelim imati potpunu kontrolu nad iscrtavanje Child komponenti unutar, npr Wrap i Tile Paneli).
Te user controle onda po potrebi ucitavam i stavljam u neke regije, place holdere, liste, gridove, stogod. Cini mi se da isti radi kao i u Flexu.

imas li iskustva oko tog silverlighta? trebalo bi mi nekih uputstava, pa ako moze da me dodas na skype ili facebook [email protected], da popricamo nesto oko tog silverlighta,

hvala unaprijed