Uvod u JavaScript i CSS

studeni 3, 2009 15:36 by luka

Beginner Developer Learning Center Nekad davno, prije nego što se moje pisanje svelo na uređivanje WinDays Mreže i pokoji članak te ovaj blog, aktivno sam pisao u Bugu i Mreži. Naravno, stalno razmišljam kako bih trebao dovršiti tri teksta koji mi već dulje vrijeme stoje u draftu i malo se pokrenuti, ali do tada – eto novi post. Među mojim tekstovima moglo se naći doista svašta, od prikaza tehnologija, softvera pa sve do tehničkih radionica, a u to vrijeme su nastale i tri knjige o razvoju za web. Često sam u međuvremenu razmišljao kako to spojiti s Microsoftovim svijetom u kojem se trenutno nalazim, dok prije otprilike dvije i pol godine nije došla prilika – s MSDN-a je došao poziv za pisanje tekstova za početnike, javio sam se, napisao ih, prošli su striktnu jezičnu korekciju, i eto ih objavljenih na webu! (samo da razjasnim, cijeli proces je kratko trajao, objavljeni su na webu još od veljače 2007. godine, pa je valjda sad već krajnje vrijeme da to spomenem na blogu :)

Stoga, ako želite ući u svijet razvoja za web, zanimaju vas JavaScript i CSS, a engleski vam nije stran za učenje novih stvari, pozivam vas da ih pročitate:

Članke možete preuzeti u PDF formatu ili čitati online, kako vam odgovara. Oba članka su inače dio Beginner Learning centra na MSDN-u, pa tamo možete pronaći i više zanimljivih stvari za učenje – pročitajte sumarni blog post. Ugodno čitanje!

Visoka dostupnost SQL Servera 2008

listopad 26, 2009 23:07 by luka

Visoka dostupnost SQL Servera 2008 Nedavno sam radio na prezentaciji mogućnosti SQL Servera 2008 u okruženjima gdje je potrebna visoka dostupnost. Ukoliko su takvi scenariji potrebni i u vašem okruženju (vrlo prometne i važne web-aplikacije, financijske transakcije, ključne poslovne aplikacije i slično), pogledajte prezentaciju.

Ono što je najvažnije u cijeloj priči jest da su podržane sve napredne mogućnosti koje biste pritom zahtijevali od baze podataka. To su database mirroring, replikacija baze, log shipping, backup i restore, klaster i database snapshot. Dodatno, tu su i mogućnosti koje ubrzavaju podizanje baze, kao što su napredne restore mogućnosti (online, piecemeal i page-level), djelomična dostupnost baze i kad su sekundarne datoteke oštećene, online stvaranje indeksa te dinamičko rekonfiguriranje pri dodavanju novog CPU-a ili memorije u poslužitelj. Ako ni to nije dovoljno, tu je i Resource Governor kojim se može odrediti koliko određena aplikacija ili korisnik može trošiti resursa, što bitno olakšava upravljanje opterećenjem poslužitelja. Sve su to mogućnosti enterprise verzije SQL Servera 2008, a pritom je važno napomenuti da, za razliku od konkurentskih proizvoda, enterprise verzija je sveobuhvatno rješenje koje sadrži sve te funkcionalnosti te nije potrebno kupovati nikakve dodatne module (jer uostalom niti ne postoje). Zanima li vas kako sve te mogućnosti upotrijebiti u praksi, pročitajte whitepaper “High availability on SQL Server 2008”.

I dok već gledamo unaprijed prema novoj verziji, SQL Serveru 2008 R2, evo još par zanimljivosti vezanih uz SQL Server 2008 platformu.

  • Razmišljate li o podizanju SQL Server klastera i replikacije (ili čak o naprednom scenariju, kao što je geografski klaster, u kojem su povezani poslužitelji na udaljenim lokacijama), svakako pročitajte dokument “Using Replication for High Availability and Disaster Recovery: A SQL Server 2008 Technical Case Study and Best Prectices”. Iza ovako sveobuhvatnog naziva krije se detaljan opis svih koraka izrade klastera, od planiranja (odabir pravog rješenja na SQL Serveru), dizajniranja (od baze do replikacije), stabiliziranja rješenja (unit testiranje) pa do testiranja sustava i performansi.
  • Ukoliko želite više informacija o podizanju geografskog klastera na Windows Server platformi, prvi korak neka vam bude Microsoftova početna stranica na tu temu. Za dodatnu edukaciju pogledajte video predavanje na TechNetu pod nazivom “Geographically Dispersed Failover Clustering in Windows Server 2008 Enterprise (Level 300)”.
  • Licenciranje je pun pogodak – za licenciranje visoko dostupnog rješenja u kojem postoji primarni server koji nosi potpuno opterećenje te sekundarni server koji se uključuje tek kad prvi ispadne, nužno je licencirati samo primarni (aktivni) poslužitelj. S obzirom da se sekundarni (pasivni) poslužitelj uključuje tek u slučaju ispada primarnog, njega nije potrebno licencirati. Licenca je ipak potrebna tek ukoliko se sekundarni koristi dulje od 30 dana kao glavni (što znači da je ipak prešao u aktivnu upotrebu). To je najefikasniji način licenciranja od svih konkurentskih rješenja i doista olakšava izradu naprednog visoko dostupnog rješenja na SQL Serveru.
  • Možda nevezano, ali korisno - baza podataka se može u potpunosti kriptirati. Transparent data encryption je, kako joj ime kaže, enkripcija u potpunosti transparentna za korisnika ili aplikaciju (što je korisno ako želite dodatno zaštiti bazu neke treće aplikacije). Korištenje TDE-a donosi udar na performanse 3-5% što je u potpunosti prihvatljivo. Alternativa je enkripcija pojedinih polja (složenije za izvesti, nužni su programerski zahvati u aplikaciju) ili enkripcija datotečnog sustava gdje je smještena baza (preveliki udar na performanse). Dodatno, za upravljanje ključevima mogu se koristiti i Hardware Security Moduli, dakle neovisni alati. Više informacija

Koga dodatno zanima tematika, trkom na Microsoftove stranice posvećene visokoj dostupnosti uz SQL Server 2008 (odnosno Always On tehnologije). Ugodno čitanje!

Znate Flash? Svladajte i Silverlight!

studeni 3, 2008 10:05 by luka

From Flash to Silverlight @ Project RosettaImate Flash u malom prstu? Evo savjeta kako Silverlight imati u palcu! Za sve iskusne (i one manje iskusne) Flash animatore, programere i dizajnere pokrenut je Project Rosetta, čiji je glavni cilj naučiti ih raditi u Silverlightu. Pritom će naglasak biti na iskorištavanju postojećih znanja i objašnjenjima kako tipične Flash stvari napraviti u Silverlightu.

Jedan od tutoriala na Projectu Rosetta je From Flash to Silverlight, koji u 9 lekcija objašnjava osnove Silverlighta, imajući na umu tranziciju programera, odnosno dizajnera iz već poznate okoline (Flash) u onu još neistraženu. Iako projekt nije pretjerano obimnog sadržaja, kroz prethodne mjesece privukao je veliku pozornost i pohvale za svoj pristup. Ukoliko vas zanima, bacite pogled...

Učenje kroz video-zapise

svibanj 20, 2008 11:20 by luka

Učenje kroz video-zapiseNedavno sam otkrio novi način učenja tehnologija i načina rješavanja tehnološko programerskih zadataka – kroz edukacijske video-zapise. Radi se o modelu koji mi savršeno odgovara, jer se kroz kratke uratke od prosječnih 10-ak minuta fokusiraju na određene zadatke i objašnjavaju kako ih napraviti. Tako sam se do detalja upoznao i sa Silverlightom, zahvaljujući Learn sekciji na adresi Silverlight.net. Osim toga, takve demonstracije su mi oduvijek bile najzanimljiviji dio predavanja na raznim konferencijama (vjerujem i velikoj većini), no njih na kraju uvijek bude manje nego što očekujem, a previše se zaglibi u teoriju.

Tko voli teoriju, ima sve potrebno za učenje uvijek na MSDN-u. Naravno, MSDN je nezaobilazan i neprocjenjiv materijal, no prve korake želim napraviti što jednostavnije i što brže doći do rezultata. Spomenuti video materijali koriste baš tome, a čitanja detalja na MSDN-u pomiču za kasnije, kad na red dođe fine-tuniranje i razumijevanje svih aspekata tehnologije.

Na MSDN-u postoji stranica pod nazivom "How Do I?" Videos na kojoj se nalaze agregirani video-zapisi za učenje raznih tehnologija. Želite li naučiti kako koristiti ASP.NET AJAX NoBot kontrolu, kako izraditi splash screen za mobilne aplikacije, kako napraviti tray ikone u MFC aplikacijama, kako prikazivati HTML iznad Silverlight aplikacija, kako ispisivati formulare iz Visual Basica ili pak kako uspoređivati sheme baza podataka kroz Visual Studio Team System, pogledajte video-zapise.

Evo i potpune liste tehnologija za koje postoje edukacijski materijali:

Snimanje video-demonstracija (screen capture)

svibanj 2, 2008 11:40 by luka

Community ClipsDa nastavim priču iz prethodnih postova – jedna od primjena videa na blogovima je i prikaz demonstracija s računala. Za tu svrhu nije baš prikladno snimati monitor kamerom, već je bolje iskoristiti neki od programa za screen capture. I dok Camtasia slovi kao jedan od najboljih za tu namjenu, ta kvaliteta dolazi uz određenu cijenu pa evo zgodne besplatne alternative s vrlo kvalitetnim rezultatima.

Community Clips je Microsoftov portal zamišljen da preko njega korisnici dijele savjete o korištenju Officea kroz snimljene video-demonstracije. Zgodno, korisno, svakako pogledajte, no to je samo uvod u ovaj post. Na samom siteu može se preuzeti besplatna Community Clips aplikacija koja omogućava snimanje cijelog ekrana ili pojedinih aplikacija. Integrira se s Office aplikacijama, no dostupna je i kao zasebna aplikacija u sistemskom trayu te tako omogućava snimanje bilo čega na ekranu. Ima i ugrađenu mogućnost automatskog uploada na Community Clips portal, no ukoliko želite snimiti video samo za svoje potrebe i objavu na vlastitim web-stranicama, to vam neće biti potrebno.

Preuzmite aplikaciju, snimite demo svog proizvoda ili vlastiti savjet drugim korisnicima (tips'n'tricks) i objavite ga na Silverlight Streamingu, o čemu je bilo riječi u prethodnom postu. Naravno, ovim već izlazimo iz sfere video-blogova i dolazimo do nezamjenjivog sadržaja za bilo koji poslovni web na kojem se reklamira aplikacija ili rješenje. U par klikova, bez ikakvog posebnog znanja i za nula kuna svatko može objaviti video na svojim stranicama.

Kako pokrenuti video-blog?

travanj 30, 2008 11:15 by luka

Ukoliko vam je dosadio standardni tekstualni oblik blogova, zašto se ne pridružiti novom valu video-blogova? Evo kako to doista i napraviti, bez ikakvih posebnih troškova ili infrastrukturnih zahtjeva, čak nije potrebno ni neko posebno znanje. Slijedi kuharica
Potrebni sastojci:

  • Web-kamera, 100 kn – 400 kn (recimo, HGspot)
    Bilo koja, pretpostavljamo da nećete previše inzistirati na kvaliteti slike i zahtijevati High-Definition. 
  • Microsoft Expression Encoder 1.0, free trial 240 dana (download)
    Alat koji će poslužiti za snimanje.
  • Windows Movie Maker, besplatan alat u sustavima Windows XP i Windows Vista
    Za editiranje videa (titlovi, efekti) i pripremu za objavu.
  • Windows Live Silverlight Streaming račun, besplatno (Silverlight Streaming)
    Microsoftova usluga za smještaj video-zapisa u oblaku, besplatno nudi 10 GB prostora za multimedijalne sadržaje.
  • Blog ili web-stranica, besplatno (recimo, Bloger)
    Stranica na kojoj ćete objavljivati svoje video-blogove.

Recept:
1. Pripremite sve potrebno. Spojite web-kameru, instalirajte potrebni softver. Preuzmite Expression Encoder (na toj stranici primijetite i registracijski kod koji vam daje dodatnih 180 dana evaluacije, uz već ugrađenih 60), instalirajte ga. Pronađite Windows Movie Maker među programima i pokrenite ga. Registrirajte se na Silverlight Streaming i otvorite račun. Napravite svoju stranicu ili pokrenite blog na bilo kojem besplatnom servisu.
2. Snimite video. Pokrenite Expression Encoder i prebacite se u Live Encoding Mode (View – Live Encoding Mode).

  • U donjem dijelu prozora u Live Sources odaberite Video Device (vaša web-kamera) i Audio Device (mikrofon u laptopu, mikrofon u web-kameri ili neki eksterni mikrofon). 
  • U donjem desnom dijelu prozora postavite Encoding i odaberite Profil. Dovoljan je čak i "Streaming 256k DSL (AP)", što će video snimiti u dimenzijama 320x240 i 15 fps, no poigrajte se s opcijama i pronađite što vam najviše odgovara – preporučam "Streaming 512k DSL (AP)".
  • Postavite Output opcije i odaberite File Archive, što će snimiti video na disk. Odaberite i folder gdje će se video snimiti.
  • Kad ste spremni, kliknite na Start. Kad završite, kliknite na Stop.

Microsoft Expression Encoder


3. Obradite video
. U Windows Movie Maker učitajte video koji ste upravo snimili.

  • Povucite video na Timeline kako biste ga dodali u film.
  • Kliknite na Effects u lijevom izborniku i povucite dva efekta na video u Timelineu – "Fade In, From Black" i "Fade Out, From Black", što će na početak i kraj dodati efekte ulaza, odnosno izlaza. Naravno igrajte se koliko god želite s efektima…
  • Kliknite na Titles and credits u lijevom izborniku. Odaberite "Title on the selected clip" kako biste dodali potpis ispod govornika. Upišite tekst, namjestite animaciju i poigrajte se s fontom. Na Timelineu u donjem dijelu prozora možete povlačenjem precizno namjestiti u kojem se trenutku pojavljuju titlovi.
  • Kad završite s videom, kliknite na Publish Movie u gornjem dijelu aplikacije. Odaberite da želite video objaviti na vlastitom računalu ("This computer"), kliknite Next, dajte mu ime, opet Next i odaberite izlaznu kvalitetu. Zbog jednostavnosti, odaberite opciju "Best quality for playback on my computer (recommended)" i kliknite na Publish. I to je to.

Windows Movie Maker

4. Uploadajte video.  Posjetite Silverlight Streaming i prijavite se (Sign in u gornjem desnom kutu).

  • Kliknite na Manage Videos u lijevom izborniku.
  • Kliknite na Upload a Video. Odaberite video sa svog računala, dajte mu neko smisleno ime i kliknite Upload. Pričekajte da se video uploada i završi njegovo procesiranje (dok ono traje, vidjet ćete poruku "Processing video…").
  • Među video-zapisima vidjet ćete i upravo dodani. Kliknite na njega i moći ćete ga pogledati i provjeriti da li je sve u redu. Na toj stranici ćete vidjeti i kod za objavu video zapisa korištenjem iframea. Označite taj kod i kopirajte ga (CTRL+C).

Silverlight Streaming


5. Objavite video.
Jednostavno kopirajte kod u svoju stranicu ili blog. Ukoliko koristite Bloger, pri upisivanju teksta članka kliknite na opciju Kôd i zalijepite (CTRL+V) kopirani kod u svoj tekst.
Video-blog može poslužiti za upoznavanje s ljudima, intervjue, screen castove (snimanje ekrana računala za pokazivanje demonstracija) ili bilo što drugo što vam padne na pamet. Ono što je najvažnije u cijeloj priči jest da se ne morate brinuti oko smještanja video zapisa, trošenja bandwidtha ili bilo kakvih infrastrukturno-programerskih pitanja. Želite li objaviti video na webu, trebat će vam 15-ak minuta, a otvorit ćete potpuno novi vid komunikacije.

Informatičko pravopisanje

prosinac 17, 2007 09:00 by luka

Informatičko pravopisanje Kako se već godinama bavim pisanjem u različitim oblicima, od različitih članaka za časopise, preko knjiga pa sve do lijepih korporativnih mailova za široke mase, evo nešto o čemu sam već dugo htio pisati – o jednostavnim pravilima koja će svaki informatički tekst učiniti barem dovoljno dobrim. Zadnjih par godina odigram i ulogu urednika posebnog izdanja časopisa Mreža za WinDays konferenciju, a to znači da mi kroz ruke prođu svi tekstovi koji se objave, neki čak i više puta, a svakog detaljno pročitam, ispravim stilske i pravopisne greške i dalje proslijedim na obradu i, vrlo važno, dodatnu lekturu kod pravog lektora.

Možda i nije na meni da pišem ovakve postove, no kroz ruke mi često prolaze raznorazni IT tekstovi i uvijek mislim isto pa eto prilike da to pretvorim u nešto konkretno. Napominjem, nemam nikakvo formalno obrazovanje pa stoga ni neću ulaziti u pravopis (no priznajem, neopisivo me zabavljaju pravopisne greške na javnim mjestima, pogledajte blog Nepismeni), već ću se držati osnova koje bi trebali znati apsolutno svi. Pravopis ste ili već naučili (dijeca, poućak i ljepo) ili ćete ga tek naučiti ili ćete to možda prepustiti lektoru. Stoga slijedi par osnova pismenih i čitkih informatičkih tekstova… 

#1 – Koristite hrvatske riječi.
Ili barem one koje imaju smislenu hrvatsku varijantu. Hardware je zapravo hardver, software je softver, environment je okruženje, development je razvoj, a web service je, ne biste vjerovali, web servis. Što vam zvuči i izgleda ljepše: „Za development novih web servicesa korišten je .NET library“ ili „Za razvoj novih web-servisa korištene su .NET biblioteke“?

#2 – Italic je vaš prijatelj.
Ukoliko neka riječ nema smislenu hrvatsku varijantu (uvijek možete provjeriti na EUdictu), stavite ju u italic. Recimo: „Za deployment će nam trebati dva sata“. [edit, hvala boris] Također, da budemo dosljedni prethodnom pravilu, za italic je bolje reći i napisati hrvatsku riječ - kurziv. [/edit]

#3 – Engleski nazivi (s velikim početnim slovom) nisu u italicu.
Kratko i jasno. Evo i primjer: „Koristit ćemo Windows Presentation Foundation“. Ali pazite na sljedeća dva primjera: „Koristit ćemo .NET Framework“ i „Naš framework nudi stabilnost“. U prvom primjeru je riječ Framework dio naziva, a u drugom obična engleska riječ, te je stoga u italicu.

#4 – Pametno koristite crticu pri deklinaciji.
Pri deklinaciji stranih riječi ne koristite crticu. Ona se koristi isključivo kad se radi o kratici. Evo opet malo primjera: „Microsoftova platforma nudi to i to“ (znači ne „Microsoft-ova platforma“) i „Korisnici XML-a znaju to i to“.

#5 – Velika slova čine razliku.
Nazivi proizvoda uvijek se pišu velikim početnim slovom. Također, ne znam zašto ljudi imaju potrebu riječ enterprise pisati velikim slovom? Možda zbog svemirskih brodova… Evo primjera: „Različiti enterprise korisnici koriste različite verzije Windowsa, a neki imaju i WinZip“. Isto vrijedi i za nazive opcija ili izbornika: „Kliknite na File, a zatim na Exit“.

#6 – Server ili poslužitelj?
Ukoliko je riječ server dio naziva proizvoda, piše se velikim slovom: „Instalirali smo Windows Server i Exchange Server“. Ukoliko pak označava „poslužitelj“, odnosno specijalizirano računalo, onda se tako i piše (vrijedi pravilo #1): „Novi poslužitelj koristit će Windowse“. Znači, riječ server se piše ili kao dio naziva s velikim početnim slovom ili uopće ne.

#7 – Kratice su nečitljive.
Čemu pisanje kratica u službenom tekstu? Da se brže pročita? Ili možda brže napiše? Nisu to SMS poruke ili IM razgovor... Izbjegavajte kratice naziva, bilo da se radi o tvrtkama, proizvodima ili nečem drugom. Znači, konkretno, ovo ne valja: „Danas je MS predstavio Win Server 2003“.

#8 – Ne pišite u prvom licu.
Vaši tekstovi nisu kolumne. Sve je stvar stila, jer rečenicu poput „U narednim odlomcima pokazat ću vam kako to napraviti“ možete pretvoriti u neodređen oblik („U narednim odlomcima bit će pokazano kako to napraviti“) ili bolju verziju prvog lica, no ovaj put množine: „U narednim odlomcima ćemo vam pokazati kako to napraviti“. Također, osim ako forsirate  osebujan stav, izbjegavajte osobne komentare poput: „U rujnu izlazi Silverlight (napokon!)“.

#9 – Neka tekst izgleda lijepo.
Koristite nove odlomke svako malo, recimo svakih 5-15 redova. Sve manje od toga čini tekst isjeckanim, a više preteškim za čitanje. Ubacite koji podnaslov, međunaslov, bilo što da razbijete ogroman blok teksta.

#10 – ITD je kazalište.
Korištenje „itd.“ ne izgleda prelijepo („Dostupni su izbornici File, Edit, View, itd.“). Za nabrajanje postoje i bolje varijante poput: „Dostupni su izbornici File, Edit, View i drugi“. Nemojte ni slučajno napisati nešto između, kao: „Dostupni su izbornici File, Edit, View i dr.“.

#11 – Prije znakova interpunkcije nema razmaka.
Poslije znakova interpunkcije ima. I točka. Ne valja sljedeće: „Zašto ? Iskreno , ne znamo.Čini nam se ispravno.“; ispravno bi bilo: „Zašto? Iskreno, ne znamo. Čini nam se ispravno.“.

#12 – Koristite provjeru pravopisa.
Jednostavno i dostupno svima. Riječi podcrtane crvenom vijugavom crtom zaslužuju dodatnu pažnju, ostale ne.
I to bi bilo više-manje to. No ne mogu odoljeti, evo još par naputaka koji direktno ulaze u sfere pravopisa pa stoga neću davati dodatna objašnjenja (jer ih ne znam) niti spominjati iznimke. Nije moje područje, ali znam sljedeća pravila i definitivno pomažu. Slijedite ih i vi i u 95% slučajeva ste sve točno napisali.

#13 – Zarez, da ili ne?
Prije sastavnih veznika (i, pa, te, ni, niti) ne mora ići zarez, prije rastavnih (a, ali, nego, već, no) mora. Iznimki ima, ovisi o stilu pisanja i kontekstu. Znači: „Instalirali smo softver i poslali poruku“ i „Instalirali smo softver, a zaboravili smo poruku“.

#14 – S ili sa?
Svuda koristite „s“, osim prije riječi koje počinju sa z/s/ć/ž/š i ps/ks [edit, hvala viborc i Gjuro]. Ispravno bi bilo: „Sa šumskim prijateljem, s tako lijepom kutijom i sa psom…“.

#15 – Infinitiv glagola.
Infinitiv glagola ima skraćeni završetak bez „i“ ukoliko pomoćni glagol dolazi iza njega. Znači, točno je sljedeće: „Razgovarat ćemo“ i „Mi ćemo razgovarati“.

#16 - Pročitajte još jednom što ste napisali.
Nemojte skenirati tekst, pročitajte si ga. Da li ste shvatili o čemu ste pisali? Da li vam pada na pamet neko neodgovoreno pitanje? Ništa ne pokazuje šlampavost bolje od nečitkog teksta punog grešaka, jer biste 90% grešaka uočili da ste samo još jednom pogledali u tekst.

U komentarima očekujem ispravke svojih navoda (ogradio sam se još na početku) i još poneko ključno pravilo koje zaslužuje biti ovdje. Stoga, navalite!

Izrada Silverlight rješenja

studeni 2, 2007 09:07 by luka

Microsoft Silverlight Na ATD-u smo prikazivali hrpe demonstracija i obećali ih objaviti na post-konferencijskom webu. Glavni feature tog weba bit će video snimke svih predavanja, no one se još uvijek obrađuju i njihovu objavu očekujemo tokom idućeg tjedna. Do tada, na webu smo objavili sve prezentacije, demonstracije i linkove na dodatne resurse. Direktan link je atd3.inside.hr, a do stranica se može pristupiti i preko standardnih ATD3 stranica, gdje je postavljena i prigodna obavijest. Jednom kad objavimo video materijale poslat ćemo i službeni mail zahvale svim posjetiteljima s tom informacijom, kao i objaviti prikladnu PR obavijest, jer, neka me netko ispravi ako griješim, ovo je prva domaća konferencija koja će u potpunosti biti dostupna preko Weba. Sva predavanja, svi video zapisi, sve demonstracije, sve. No više o tome sljedeći tjedan.

Jedno od meni najvažnijih predavanja na konferenciji je bilo "A2 – Izrada Silverlight rješenja". Okosnicu predavanja činile su, uz neizbježan uvod kako rade Silverlight i XAML, glavne prednosti Silverlighta i 3 demonstracije konkretnih scenarija. Na gornjoj adresi možete preuzeti prezentaciju (direktan link), a evo i ključnih prednosti Silverlighta koje sam tamo naveo (prebačeno iz prezentacije u tekst pa je sve malo šturo, no poanta je tu).

XML opis sučelja (XAML): korištenje tekstualnih datoteka, odvojenost sučelja od koda, moguće indeksiranje na tražilicama. Programiranje u JavaScriptu: integracija s DOM-om, korištenje poznatih metoda, klasa, AJAX-a. Video je običan element u XAML-u: rotacija, prozirnost, transformacije, preklapanje, više simultanih video-zapisa. Implementiran industrijski standard – VC-1: podrška za WMV, WMA, MP3, besplatan Encoder SDK za prebacivanje iz drugih formata, integracija s Windows Media Servicesom. Besplatan hosting video-zapisa: silverlight.live.com. Rad s fontovima: uključite u svoje projekte vlastite i posebne TTF-ove. WPF model animacija: temeljen na vremenu (početak / kraj). Downloader objekt: dohvaćanje eksternih elemenata (XAML, TTF, …), pakiranje u ZIP datoteke. AJAX kao funkcionalni pokretač – poznate tehnologije, poznate klase i objekti. Silverlight 1.1: .NET programiranje (prvi put .NET na Linuxu, Macu i starijim Windowsima, podskup .NET klasa), gotove komponente, podrška za DRM, dostupno sredinom 2008. godine (danas je dostupna alpha verzija).

Na predavanju sam pokazivao i tri scenarija korištenja Silverlighta i napravio ih od nule (File – New Project). Scenarij 1 je pokazivao kako napraviti titlove na videu. Prvi korak je u Expression Encoderu učitati video kojem želimo dodati titlove, zatim označiti markerima trenutke kad treba prikazati pojedini titl i kodirati sve u izlazni WMV. Zatim samo MediaElementu u XAML-u dodamo event MarkerReached koji u JavaScriptu pokreće prikazivanje titlova. Svaki put kad video dođe do nekog markera, JavaScript kodu se proslijedi naziv markera na temelju kojeg izvlačimo traženi titl. Na primjeru smo napravili dvojezične titlove između kojih korisnik može birati i prebacivati se usred filma. A kako koristimo JavaScript, vrlo je lako titlove vući otkud god želimo (AJAX, web-servisi, XML datoteke, hardkodirani titlovi, itd.). Primjer je pokazivao i kako iz JavaScripta pokrenuti animaciju za prikazivanje titlova.

U scenariju 2 pokazivao sam kako koristiti posebne fontove u TTF formatu. Jednostavno TTF spremimo u ZIP i uz pomoć JavaScripta i downloader objekta u par linija koda skinemo ZIP, otvorimo ga i kažemo da neki TextBlock koristi taj font. Jednostavno, i nema komplikacija s glyphovima. Primjer je također pokazivao korištenje AJAX-a za dohvaćanje RSS-a i zatim dinamičko stvaranje elemenata u animaciji korištenjem metode createFromXaml za prikazivanje pojedinih vijesti.

Scenarij 3 se pak opet bavio videom, no na drugi način. Koristeći ASP.NET i FileUpload kontrolu pokazao sam kako se može napraviti sustav za upload videa, automatski kodiranje u zadani format u pozadini i zatim prikaz u nekom Silverlight playeru. Sam upload videa je jednostavan (par linija koda u ASP.NET-u), a trik je bio u automatskom kodiranju. Korištenjem Expression Encodera napravili smo presete u kojima smo definirali izlaznu kvalitetu videa, overlay sliku koja se enkodira u video (koristili smo logo konferencije) te smo još odredili duljinu videa (čisto radi primjera, svaki uploadani video smo smanjili na 15 sekundi). U ASP.NET-u smo nakon uploada pozvali Encoder.exe koji je u pozadini na temelju preseta spremljenog u XML datoteku kodirao video i zatim ga prikazali u Silverlight playeru. Za to sam koristio neki već gotov predložak iz Expression Encodera, doslovno samo copy/paste.

Poanta ove litanije jest da sve te primjere možete preuzeti i isprobati. Dostupni su preko post-konferencijskog weba ili, ako vam se ne da surfati da vidite čega još ima, direktno ovdje u ZIP datoteci (oko 4 MB). Kod je tu, na brzinu sam vam opisao što koji primjer radi, pa ako vas nešto od toga zanima, bacite pogled. Imajte na umu da sam svaki primjer napravio iz nule na predavanju za prosječno 10-ak minuta. Kod nisam pisao, trajalo bi vjerojatno par minuta dulje da jesam. U svakom slučaju, garantiram vam da ove scenarije možete ispuniti kroz Silverlight u ekstremno kratkom vremenu. Naravno, možete pričekati i dok ne objavimo video s predavanja pa možete točno slijediti korake i klikati zajedno sa mnom.