Silverlight i 3D

ožujak 15, 2008 10:30 by luka

SilverlightJedno od češćih pitanja koje dobivam oko Silverlighta je u vezi podrške za 3D. Pitanje uglavnom dolazi od programera u Windows Presentation Foundationu, koji su na tako nešto navikli pri izradi Windows aplikacija. Kako 3D jednostavno nije smatran presudnim za web okruženje (a trebalo je misliti i na malu veličinu dodatka za preglednike), u Silverlightu 1.0, koji je dostupan već nekih 8 mjeseci, te u Silverlightu 2.0, čiji se izlazak očekuje netom poslije ljeta, ne postoji nativna podrška za 3D. No otvorenost arhitekture same tehnologije ipak nudi rješenje.

Ono dolazi u obliku neovisnih programerskih dodataka, engineova koji se mogu iskoristiti u samim Silverlight aplikacijama. Jedan od takvih je i Kit3D. Inicijalno je bio objavljen u JavaScript formatu za korištenje u Silverlightu 1.0, a dostupno je i novo izdanje koje je pisano u C#-u za Silverlight 2.0. Zanimljivo je da sam engine slijedi WPF 3D tipove i klase koje se nalaze u System.Windows.Media.Media3D namespaceu, što će ga bitno približiti WPF programerima.

Sam engine se može preuzeti na CodePlexu, sustavu za open-source razvoj na Microsoftovoj platformi. I naravno, prije toga, pogledajte i kako stvar radi u praksi. Primjeri u Silverlightu 1.0 - 3D mreža slika, rotirajuće karte s teksturama. Primjeri u Silverlightu 2.0 - teksture, sfera. I još mnogo toga na službenim stranicama projekta...

Kontakt s posjetiteljima stranica putem Messengera?

veljača 9, 2008 10:11 by luka

Messenger u preglednikuBoravak u Seattleu oslobodio mi je više vremena za proučavanje novosti iz Microsofta, a jedna me posebno oduševila. Radi se o Windows Live Messenger IM kontroli koja se može ugraditi u bilo koju web-stranicu i omogućava posjetiteljima da vas direktno kontaktiraju putem Windows Live Messengera, naravno, ukoliko ste u tom trenutku online. Sama kontrola ne zahtijeva da posjetitelj uopće ima na svom računalu instaliran Messenger, jer se sve odvija unutar samog preglednika i same web-stranice. Naravno, zbog toga postoje uvjeti na sam preglednik - kontrola radi u Internet Exploreru 6 i 7 te Firefoxu 2.0.

Uostalom, isprobajte sami - možda ste primijetili s desne strane okvir u kojem stoji moj status na Messengeru i link na prozor za komunikaciju. Sam prozor se zbog svoje širine nalazi na dnu stranice, a omogućava i slanje anonimnih poruka (što potencijalno može biti problem, no implementiran je HIP test, slično CAPTCHA testu, što barem sprečava spamere). Dakle, posjetitelj dođe na stranicu, prijavi se (anonimno ili koristeći vlastiti Messenger račun) i, ukoliko ste online, razmjena poruka može početi. Vi ćete komunicirati putem prirodnog okruženja, Messengera, a posjetitelj putem vaše web-stranice. Nigdje se ne otkriva vaša e-mail adresa Messenger računa pa sve može biti poprilično anonimno i s vaše strane.

Standardni prozor za komunikacijuKako ugraditi tu kontrolu na vlastitu stranicu? Prvi uvjet je, naravno, da imati Windows Live Messenger klijent instaliran na vašem računalu kako biste mogli razmjenjivati poruke. Drugi korak je posjetiti settings.messenger. live.com/applications/websettings. aspx i prijaviti se s Windows Live ID-em kojeg koristite za Messenger. To će otvoriti Windows Live Messenger postavke weba, gdje na početnoj stranici morate uključiti opciju "Omogući web-mjestima da vide moje mrežno stanje i šalju mi poruke" i kliknuti na Spremi.

Zatim kliknite na "Stvaranje HTML-a" u lijevom izborniku, gdje će vam se ponuditi tri opcije. Osim prozora koji se na stranicu ugrađuje putem IFRAME-a, što je implementirano i na ovom blogu, na raspolaganju vam stoje još dvije opcije. Posjetiteljima možete prikazati i gumb sa svojim trenutnim online statusom (klikom na njega otvara se prozor za komunikaciju u pop-up prozoru) ili pak samo sličicu sa statusom (što je implementirano u desnom stupcu ovog bloga). Nakon toga stvari postaju jednostavne - odaberite boju i veličinu te kopirajte generirani HTML kod i zalijepite ga u kod svoje stranice. Ukoliko koristite Bloger kao i ja, potrebno je dodati novu grupu HTML koda i u nju zalijepiti kopirani kod. I to je to!

Želite li biti u kontaktu s posjetiteljima vaših stranica, zašto ne iskoristiti program koji već vjerojatno i koristite? To može biti iznimno korisno ukoliko se bavite pružanjem nekih usluga i želite omogućiti korisnicima da vas na brzinu nešto pitaju ili provjere. Broj mogućih primjena koje mi sad padaju na pamet je doista velik, a na vama je da vidite ima li to smisla i u vašem slučaju. Za više informacija o drugim novostima iz svijeta Windows Live Messengera, bacite pogled na blog Inside Windows Live Messenger.

Visual Basic i XML, stari prijatelji

studeni 6, 2007 12:09 by luka

Evo i malo tehnikalija na ovom blogu. Programski jezici se već desetljećima unapređuju, kompajleri se optimiziraju, no kako danas izgleda vaš kod? Koliko se promijenio od onog što ste učili na fakultetu ili od vašeg prvog pravog programa? Uglavnom je iza našeg koda uvijek vrlo slična logika i proces, a sve konceptualne i arhitekturne promjene je dosta teško usvojiti (o čemu mogu posvjedočiti svi ASP programeri koji su prešli na ASP.NET). No postavite li si ikada pitanje kako će izgledati programiranje u dalekoj budućnosti? Vjerojatno svi zamišljamo slaganje programa iz gotovih blokova (nešto slično Popflyu) bez većih upliva u sam kod koji će se generirati i debagirati automatski. OK, možda je to još predaleko, no kako zamišljate razvoj svog omiljenog programskog jezika u narednih par godina? Imate li uopće ideju što se može promijeniti i što se može poboljšati?

Evo jedne sitnice koja me oduševila. Ovaj tjedan sam na Microsoftovoj europskoj konferenciji za razvojne inženjere, TechEd Developers - ukupno je tu 30-ak ljudi iz Hrvatske, a domaća tvrtka Ekobit je izlagač (predstavljaju svoj proizvod TeamCompanion, no o tome jednom drugom prilikom). Na jednom od jučerašnjih predavanja govorilo se o LINQ-u (Language Integrated Query, novost u .NET Frameworku koja omogućava pisanje upita na izvore podataka, baze, XML datoteke, objekte, što god, direktno u kodu, preopsežno da bih uspio unutar ovih zagrada nešto smisleno objasniti, bacite pogled na link), a spomenule su se i novosti u Visual Basicu 9.

Da ne duljim, pogledajte sljedeću stvar. Kako danas radite s XML-om u kodu? Koristite objekte za stvaranje elemenata ili eventualno parsirate tekst i pretvarate ga u XML. Evo kako to može izgledati u Visual Basicu 9 koji dolazi s Visual Studijom 2008 (čiji je RTM najavljen za ovaj mjesec!).

Dim doc = <?xml version="1.0" encoding="utf-8"?>
<Knjige>
<Knjiga Autor="Hrvoje Horvat">Povijest</Knjiga>
<Knjiga Autor="Pero Perić">Knjiga</Knjiga>
<Knjiga Autor="Marko Marić">Antika</Knjiga>
</Knjige>
doc.Save("knjige.xml")

Da, s XML-om se radi kao s običnim podacima. Kompajler to u pozadini pretvara u nešto drugo, naravno, no vama je kao programeru ovako skinut velik teret s leđa. Što ako želite nešto ubaciti u XML, spojiti ga s drugim varijablama?

Dim autor = "Filip Filipović"
Dim doc = <?xml version="1.0" encoding="utf-8"?>
<Knjige>
<Knjiga Autor=<%= autor %>>Povijest 2</Knjiga>
</Knjige>

A kako raditi s tim podacima? Tome služi LINQ, a vi se više ne morate zamarati s XPathom, elementima, kretanjem kroz nodeove i slično. Evo kako izvući sve knjige koje je napisao "Hrvoje Horvat" iz XML dokumenta učitanog s diska.

Dim doc = XDocument.Load("knjige.xml")
Dim knjige = From knjiga In doc.<Knjige>.<Knjiga> _
Where knjiga.@author = "Hrvoje Horvat" _
Select knjiga.Value

Jednostavno, čitko i u potpunosti podržano alatom pa ćete sve upite moći debagirati, koristiti IntelliSense i pronaći greške puno brže (LINQ se naravno koristi i za upite u baze podataka pa više ne morate pisati, primjerice, T-SQL upite i SELECT naredbe). Ove mogućnosti su naravno mnogo šire i dublje, no nadam se da vas je ovo zainteresiralo – bacite pogled na video koji objašnjava rad s XML-om i LINQ-om u Visual Basicu 9.

Zavalite se u Trosjed, hrvatski MySpace/Facebook

listopad 19, 2007 12:25 by luka

Trosjed Stiglo je vrijeme da vam predstavim i drugu studiju slučaja koju ćemo pokazivati na Advanced Technology Dayu 3. Radi se o novoj usluzi u sklopu Net.hr portala, koji je prema istraživanjima jedan od najposjećenijih domaćih portala (prvi ili drugi, ovisno o mjesecu istraživanja, izmjenjuje se s T-Portalom). Servis se zove Trosjed i predstavlja domaću inačicu popularnih MySpace i Facebook  portala. Kao i svi drugi Web 2.0 projekti, i Trosjed je još uvijek u beta fazi, no broj korisnika mu stalno raste, a bit će zanimljivo vidjeti kako će ga prihvatiti domaći korisnici i da li će steći respektabilnu bazu korisnika. S obzirom na povezanost s portalom Net.hr, ne sumnjam u uspjeh. Kompletnu vijest s više informacija možete pročitati ovdje.

Kao što ste i mogli zaključiti, Trosjed je napravljen u potpunosti na ASP.NET 2.0 tehnologiji, u pozadini je SQL Server 2005, a sve se naravno vrti na Windows Serveru 2003. To je posebno zanimljivo uzme li se u obzir da Net.hr dosad nije koristio Microsoftove tehnologije. Autori projekta su Viktor Marohnić i Saša Šarunić, vlasnici malog startupa pod nazivom Pet Minuta. Njihova priča mi je posebno zanimljiva – obojica su zajedno radili u jednoj većoj tvrtki na razvoju aplikacija i IT sustava, a u svoje slobodno vrijeme su napravili iznimno popularan domaći servis za razmjenu i objavu slika, Ptičicu. Između ostalog, prijavili su ga i na natječaj kojeg smo prošle godine organizirali u suradnji s T-Portalom, Web2Vegas (mogli ste o tome čitati u časopisu Mreža) i pobijedili. Tako smo se i upoznali i tjedan dana družili na njihovom nagradnom putovanju u Las Vegas na konferenciju MIX. Nedugo nakon toga su nam i pokazali preview svog novog projekta, a već tada su imali spreman naziv Trosjed i ove fora glinene likove za grafičke elemente kao na slici uz tekst.

U međuvremenu su pokrenuli vlastiti startup u kojem Viktor nosi titulu CEO, a Saša CTO (eto, spremni su za rast!). Viktor će tako na ATD-u biti sudionik okruglog stola i ispričati svoja iskustva pokretanja i financiranja domaćih startupa, a Saša će održati predavanje pod nazivom "Projektiranje web-sitea za milijun korisnika u ASP.NET-u" na kojem će na ovom konkretnom primjeru govoriti o skalabilnosti, iskustvima u razvoju, konkretnim rješenjima i trikovima i sličnim detaljima iz stvarnog života.

P.S. Obratite i pozornost na desni gornji kut na Trosjedu gdje trenutno stoji "Još je 999143 mjesta slobodno :)". Eto, doista su projektirali site za milijun korisnika :)

BugTV – prvi domaći komercijalni projekt u Silverlightu

listopad 15, 2007 17:25 by luka

BugTV S neskrivenim ponosom objavljujem da imamo prvi domaći komercijalni projekt napravljen u Silverlightu – BugTV. BugTV, video emisije koje izrađuje ekipa iz časopisa Bug, donosi mjesečni pregled noviteta, recenzije hardvera i softvera, savjete, intervjue i razne druge IT priloge. Sami video zapisi se objavljuju na DVD-u uz tiskano izdanje Buga te putem weba. Dosad je objavljeno 27 emisija, svaka s nekoliko različitih priloga, a od danas mogu se gledati kroz novu Silverlight aplikaciju. Od mogućnosti bih izdvojio, uz pretraživanje priloga, über-geeky kocku s desne strane (poigrajte se malo s rotiranjem, označavanjem priloga, puštanjem videa, mrak!). Kompletnu vijest možete pročitati na Bug On Lineu, a skoknite i na glavnu stranicu projekta – http://bugtv.bug.hr/.

Projekt je u potpunosti izradio Domagoj Pavlešić (Dizzy internetska rješenja) i na tome mu iskreno čestitam. Sam je prošao muke i užitke učenja nove tehnologije i projekt je doveo od ideje na papiru do živih web-stranica koje je u prva dva sata od objave posjetilo 685 posjetitelja. Domagoja poznajem već dugi niz godina i zapravo sam se s njim upustio u vode web-developmenta još davne 1998. godine. Od tada smo radili na nebrojeno mnogo projekata, zajedno napisali knjigu o .NET-u za Bugovu biblioteku Sve tajne, a u ovom konkretnom slučaju sam mu pomogao isključivo dnevnim zapitkivanjem o napretku projekta, bacanjem suludih ideja i feature requestova (što je lako kad niste vi taj koji to treba i izraditi) i kao beta-tester.

Domagoj će svoja iskustva ispričati i na predavanju na Advanced Technology Dayu 3, na kojem će ući u detalje projekta i iz prve ruke sa sudionicima podijeliti dobre i možda neke ne toliko dobre strane Silverlighta. To je prva od dvije studije slučaja koje predstavljamo na ATD-u, a druga će zaživjeti već vjerojatno sutra. Da sa Silverlightom nismo ograničeni samo na tehničku publiku dokazuje i predavanje na Zagreb Film Festivalu 24. listopada – Domagoj će predstaviti BugTV projekt, a ja ću sa strane Microsofta predstaviti mogućnosti za distribuciju i prikaz videa putem Interneta, kao i neke nove mogućnosti u oglašavanju.

Dakle, zasad svi na bugtv.bug.hr, a za detaljne insajderske informacije pričekajte Domagojevo predavanje na ATD-u…

Zanima vas izvorni kod .NET-a? Izvolite…

listopad 3, 2007 12:50 by luka

Microsoft .NET Dogodila se prekretnica u razvoju .NET-a – Microsoft će objaviti izvorni kod .NET klasa! Sam kod će biti objavljen pod Microsoft Reference licencom koja dozvoljava njegovo pregledavanje, no ne i kopiranje ili rekompajliranje. Izvorni kod će se moći pregledavati na dva načina. Prvi način jest da se kompletno preuzmei pregledava u bilo kojem tekstualnom editoru. Drugi, daleko prikladniji, štoviše über-geeky način je korištenjem nove mogućnosti u Visual Studiju 2008 koja će omogućiti debagiranje ne samo vlastitog koda, već i izvornog koda .NET Frameworka. Tako će programeri moći, ako žele, iskoristiti step into mogućnost u .NET biblioteke. Više o tome kako će to izgledati pročitajte u blogu Scotta Guthriea.

Dostupan izvorni kod uključivat će Base Class Libraries (što uključuje osnovne klase frameworka poput kolekcija, upravljanja tekstom, IO operacija, serijalizacije, remotinga i drugih), Windows Forms, ASP.NET, System.Data i WPF klase. U planu je da se i druge klase uključe u budućnosti. Ova objava spada u Microsoftovu Shared Source inicijativu o kojoj je već bilo riječi na ovom blogu.

Naravno da ovo ne znači da .NET Framework postaje open-source, no priznajem da me sve to vrlo pozitivno iznenadilo. Zanimaju me i reakcije open-source zajednice…

AJAX – jučer, danas i sutra

rujan 11, 2007 12:15 by luka

AJAX Slučajno sam neki dan naletio na neke stare web projekte koje sam radio prije dolaska u Microsoft. Čistio sam različite direktorije i naletio na, za mene, pravo malo blago – niz testnih koncepata i malih pilot projekata različitih tehnologija, od kojih su neke i završile u finalnim proizvodima. Većinu tih naprednijih projekata radio sam 2002. i 2003. godine (godine prije su bile rezervirane za web-stranice i web-aplikacije po narudžbi, čistu manufakturu) i, što je najzanimljivije, da sam na njima radio danas, bio bih pravi sljedbenik Web 2.0 koncepata, dinamičkih stranica i AJAX-a.

Za početak malo povijesti. Prva ključna stepenica u razvoju dinamičkih stranica je bio Document Object Model, preporuka W3C-a iz listopada 1998. godine. U to doba vladali su Internet Explorer 4 i Netscape Navigator 4, što se i nastavilo do 2000. godine pa je u to vrijeme DOM bio neiskorišten i, zapravo, neimplementiran. Pojavom Internet Explorera 5 (1999. godine) i verzije 6 (2001. godina, što znači da se, ne računajući SP2 za Windowse XP, s verzijom 7 čekalo 5 godina, što je bilo i više nego dovoljno vremena da Firefox uhvati zamah), DOM je otvorio dotad neviđena vrata. Naravno, kasnije su DOM podržali i Gecko preglednici (Mozilla, Firefox), Opera, Konqueror i Safari, što je bilo presudno za kompatibilnost web-stranica.

Sljedeća stepenica u razvoju bila je pojava XmlHttpRequest objekta. Razvijen je za potrebe Outlook Web Accessa za Exchange Server 2000 i implementiran u Internet Explorer 5. To je potaklo lavinu, drugi su preglednici također implementirali isti objekt (odnosno koncept) i zapravo je Outlook Web Access bio prva prava interaktivna web-aplikacija temeljena na AJAX-u. Sam termin AJAX skovao je Jesse James Garett, pazite sad, u veljači 2005. godine da bi klijentima objasnio koje će tehnologije koristiti. S pojavom Web 2.0 koncepata tehnologija je naišla na plodno tlo i danas na raspolaganju stoji barem 18 implementacija AJAX-a. AJAX je postao buzzword i svatko tko imalo drži do sebe i svojih stranica, koristi ga barem za neku sitnicu.

No tehnologija se proširila tek 5 godina poslije svojeg pojavljivanja. Koji je bio presudan faktor za proširivanje i ulazak u mainstream? Upravo čitam knjigu koja objašnjava slične situacije, The Tipping Point. Da li se tek 2005. godine stvorila kritična masa, odnosno količina preglednika koji podržavaju takvu tehnologiju? Da li je u godinama prije bilo ipak dovoljno ono što je stajalo na raspolaganju? Da li su se u godinama prije ljudi još uvijek borili da iskoriste sve što su nudile tadašnje tehnologije, ASP, PHP, CFML i Java? Da li se 2005. godine dogodio sociološki pomak i ulazak nove generacije na Web koja je zahtijevala više interaktivnosti, komunikacije i interakcije, što je u konačnici rezultiralo potrebom za nekom drugom tehnologijom? I konačno pitanje koje si postavljam, koje će današnje tehnologije doživjeti boom tek za dvije, tri ili pet godina?

No da se vratim na ponovno otkrivene svoje stare radove – iznenađen sam koliko su bili napredni. Tad sam radio u tvrtki Tko Zna Zna i razvijali smo internu web-aplikaciju za kolaboraciju za jednu veliku međunarodnu organizaciju. Tadašnji šef imao je nevjerojatan uvid u svakakve tehnologije koje su izlazile iz Microsofta i tako smo se počeli baviti DHTML-om i inim sitnicama. Tad je to radilo samo u Internet Exploreru (ili, da budemo pošteniji, zbog intranet ograničenja aplikacije bili smo toliko slobodni da razvijamo samo za Internet Explorer 5+).

Najbolji demo koji sam upravo našao je mala stand-alone stranica koja na sebi ima implementiran drag&drop boxed elemenata s previewom i malom oznakom gdje će se ubaciti na stranici (današnji Netvibes), zatim tablicu sa stupcima i redcima kojima se mogla mijenjati širina i visina, što bi se zapamtilo za sljedeće učitavanje stranice (standardno za desktop aplikacije, no nisam naišao na nešto slično na webu), i kao šlag na kraju, SmartTag padajući izbornik koji se otvarao nad nekim elementima na stranici za dodatne opcije (uzor nam je tad bio, mislim, Office XP). Danas su ovakvi primjeri standardni i ni po čemu spektakularni, ali sjećam se kako je to tada bila totalna ekstravagancija, pisao sam o tome i u Mreži, a čak sam i održao predavanje o tome na WinDaysima 2003. godine. Predavanje se zvalo „Klijentsko skriptiranje u .NET-u“, ali danas bar mogu priznati – ovo „u .NET-u“ je bilo samo zato da bude primamljivo ljudima, .NET je tad bila vruća roba, a u biti se cijelo predavanje temeljilo na tim DHTML forama kojima se mogu obogatiti web-stranice. Predavanje je doživjelo uspjeh, primarno zbog demonstracija i interaktivnih web-stranica (čak sam od Microsofta dobio na poklon bicikl kao najbolji mladi predavač), a par mjeseci poslije sam i došao u Microsoft. Ah, ta dobra stara vremena…

P.S. Prema naslovu ovog posta, mogao sam se raspisati o ispadanju Hajduka u sezoni 1994/1995, „golu“ Josipa Šimića ili nadolazećem 1. kolu kupa UEFA. Ili možda o rezultatima ultimativnog testiranja proizvoda za čišćenje… Kakve sve mogućnosti pružaju blogovi…

Demokracija na Wikipediji pod povećalom

kolovoz 24, 2007 14:15 by luka

Wikipedia Vjerujem da znate za problem koji muči Wikipediju – s obzirom da se temelji na upisivanju podataka od strane korisnika, nije imuna na unošenje zlonamjernih i neistinitih činjenica u svrhu blaćenja ili, u najblažem slučaju, malo zabave. I dok to po Americi diže dosta buke, jer se cijela stvar počela koristiti u političke svrhe, pojavio se WikiScanner. Radi se o alatu koji skenira sve anonimne izmjene i spaja ih s IP adresama različitih tvrtki i organizacija. Izmjene za koje je poznat autor nisu toliko zanimljive, jer takve obično ne sadržavaju problematične činjenice upitne istinitosti.

WikiScanner pretražuje nešto više od 34 milijuna anonimnih izmjena od 2002. godine i tu se doista može pronaći svašta – pogledajte recimo niz zanimljivih izmjena zajedno s autorima otkrivenim po IP adresi. Na WikiScanneru su već mapirali rangeove IP adresa s izmjenama pa tako možete vidjeti koje su izmjene stigle anonimno (ili ipak ne) iz američkih stranaka, različitih novinskih agencija, korporacija poput Wal-Marta, Pfizera ili pak Microsofta (o tome malo kasnije). Možete čak i sami upisati IP range i vidjeti koje su anonimne izmjene stigle iz vama zanimljivih organizacija ili tvrtki (možda je netko i iz vaše tvrtke nešto mijenjao, tko zna).

Probao sam upisati IP range koji koristi Microsoft Hrvatska i izgleda da moje kolege nisu bile pretjerano zainteresirane nešto mijenjati – očekivanih 0 izmjena, a slično vjerojatno vrijedi i za većinu ostalih domaćih tvrtki. No zanimljivo je stvar pogledati na globalnoj razini. Naletio sam na blog koji je analizirao Microsoftove izmjene na Wikipediji i ispada da čak ni na globalnoj razini nije bilo niti jedne posebno zanimljive anonimne izmjene iz Microsofta. Tome se čak i malo čudim, jer će se među desecima tisuća ljudi sigurno pronaći netko tko će htjeti nešto anonimno i zlonamjerno izmijeniti ne znajući da može biti otkriven. Bacite pogled na spomenuti blog i napišite u komentarima što o tome mislite, odnosno koliko vjerujete u istinitost tih podataka. Pitam, jer se Microsoft redovito optužuje za FUD-anje i beskompromisno blaćenje konkurenata i drugih tehnologija uz istovremeno dizanje vlastitih proizvoda u neslućene visine. Bilo je tu i nedavno domaćih primjera u blogosferi, odnosno optužbi, a bolje platforme za tako nešto od Wikipedije doista ne vidim…

Probijanje leda Silverlightom

kolovoz 20, 2007 14:05 by luka

Microsoft Silverlight Nakon poduže pauze (godišnji u jednom komadu, ostvarenje vječnog sna) koju nisam imao snage prekidati postanjem na blog, vrijeme je za ponovno piskaranje. Što je bolje za probijanje leda i lagano kretanje s poslom, nego stara ljubav – Silverlight? Silverlight je trenutno u Release Candidate fazi (eto, samo što nije izašla verzija 1.0), sve informacije su standardno na službenom webu, uz primjere, tutoriale, downloade, pa je stoga dobro vrijeme za malu rekapitulaciju stvari koje treba znati o Silverlightu...

1. Neovisnost o pregledniku i operacijskom sustavu.
Nekad davno na webu samo sanjani mit, a danas uglavnom stvarnost uz pomoć standarda, vrijedi i za Silverlight. Ništa posebno i neočekivano, ali uzmite u obzir da će Silverlight uključivati i .NET Framework. Znači, vaš .NET kod će raditi u svim preglednicima i operacijskim sustavima na kojima je instaliran Silverlight dodatak, što je dosad bilo moguće samo na Windowsima s instaliranim .NET Frameworkom. Naravno, ovo „svim“ dobro zvuči, ali ne vrijedi u potpunosti – trenutno je dostupan za Internet Explorer, Firefox i Safari na Windowsima i Macu, u izradi je podrška i za Operu, a community je pokrenuo Moonlight projekt koji bi trebao omogućiti izvršavanje Silverlighta na Linuxu.

2. Verzija 1.0 je super, ali čekajte da vidite verziju 1.1.
Silverlight 1.0 izlazi uskoro, no pravi boom očekuje se s verzijom 1.1 (trenutno u alpha fazi). Verzija 1.1 podržavat će pisanje koda u bilo kojem .NET jeziku (Ruby, Python, VB, JScript, C#...), dok verzija 1.0 podržava samo ECMA jezike koji se mogu izvršavati u pregledniku – JavaScript. Verzija 1.1 imat će i podršku za izradu komponenti, a s obzirom na stalan rast tog biznisa u svijetu i mogućnosti koje se pružaju, otvaranje dinamičkih web-aplikacija tom segmentu predstavlja samo dodatni plus.

3. Silverlight koristi već poznate tehnologije.
Razmjena tehnologija između Windows Presentation Foundationa, .NET-a i Silverlighta omogućit će vrlo laku migraciju aplikacija i developera na nove projekte. Svoje znanje XAML-a možete iskoristiti za izradu Windows aplikacija (WPF) i web-aplikacija (Silverlight). Svoj .NET kod možete migrirati iz Windows aplikacija na web i obrnuto. JavaScript vam je u malom prstu? Iskoristite ga za obogaćivanje Silverlight aplikacija. Koga samo malo dijeli od toga da odmah postane Silverlight ekspert? Bilo koga tko je razvijao .NET aplikacije ili koristio XAML. Želite li pak razvijati Flash aplikacije, trebat ćete ipak malo uložiti više truda i vaše znanje i ekspertiza će, nažalost, ipak biti ograničeni samo na Flash.

4. Sučelje Silverlighta je opisno
. Ili, jednostavno ga definirate u tekstualnoj XML datoteci u XAML formatu, što je veoma slično konceptu HTML-a. Tome u pozadini pridijelite neki kod u JavaScriptu ili C#-u i to je to. Svoje sučelje tako možete mijenjati on-the-fly izmjenom tekstualne datoteke. To olakšava i suradnju developera i dizajnera – netko se brine o kodu, a netko o sučelju i nitko se nikome ne petlja u datoteke.

5. Silverlight aplikacije mogu biti iznimno dinamične.
I pritom se ne misli na izgled – u pregledniku možete učitati osnovni kostur aplikacije, a zatim po potrebi downloadati ZIP datoteke s ostatkom aplikacije (ovisno koji dio korisnik želi), koristiti AJAX iz JavaScripta za dohvaćanje podataka, ili pak pozivati web-servise iz .NET koda. Podaci mogu biti svuda oko vas, na vama je da ih iskoristite kako god želite.
Eto, čisto da se ponovno uvučem u pisanje. Za kraj, evo i linka na članak na ComputerWorldu koji je poslužio kao predložak, pa ako vas zanima više detalja, bacite pogled. S izlaskom Silverlighta 1.0 (još koji tjedan ili dan) očekujem i prve prave domaće Silverlight web-aplikacije. Već radimo s domaćim web-studijima i profesionalcima, a ukoliko ste i vi zainteresirani za suradnju s nama u prvim koracima u Silverlightu (pritom govorim o marketingu, treninzima te spajanju s partnerima), javite se…

Gadgeti za Windows Vistu

kolovoz 20, 2007 14:00 by luka

Gadgeti Izlaskom Windows Viste početkom ove godine na desktope su došli i gadgeti, mali programi koji se smještaju u Windows Sidebar, bočnu traku na desktopu. Iako sam koncept nije nov ni originalan (vjerojatno najpopularnija preteča bio je Konfabulator, danas poznat kao Yahoo! Widgets), samim time što se nalazi ugrađen u operacijski sustav dobiva na popularnosti i, očigledno, raširenosti. Microsoftovi gadgeti postoje u dva oblika - mogu se nalaziti na desktopu (tad ih nazivamo Sidebar gadgeti) ili na webu u sklopu Live usluga (tad se radi o Live gadgetima). No daleko popularniji su Sidebar gadgeti, o čemu svjedoči i broj dostupnih za preuzimanje s Windows Live Gallery portala (idealna prilika da upotrijebim floskulu - za svakog ponešto).
Gadgeti su vrlo često ekstenzija neke web-stranice, jer se njima otvara novi kanal komunikacije s posjetiteljem. Primjerice, ukoliko vaš portal sadržava informacije o najnovijim događanjima u regiji, zašto ne napraviti te informacije dostupnima i na desktopu posjetitelja? Informacije se mogu redovito osvježavati, a posjetitelji će za više detalja ionako posjećivati vaše stranice (a i bit će redovito podsjećani da one postoje). Gadgeti mogu i agregirati informacije iz više različitih izvora (najjednostavniji primjer je RSS čitač), ili pak biti zasebne aplikacije poput Sudoku igre ili monitora zauzetosti resursa računala. Što se tiče same tehnologije, gadgeti nisu ništa drugo doli obične HTML stranice potpomognute s malo JavaScripta. Podaci na njima se osvježavaju putem AJAX-a, a imaju mogućnost i spremanja nekih podataka na računalo, poput konfiguracije ili cacheiranih informacija. 
Želite li se upustiti u izradu vlastitih gadgeta, za prvi korak pročitajte članak Gadget Development Overview. Iz prve ruke, izrada je krajnje jednostavna, uz dva neizbježna problema. Prvi je definitivno ograničenje u veličini - gadgeti su mali i uski oko 180 pixela, te može biti dosta složeno smjestiti smisleno sučelje u tako malen prostor. Na raspolaganju vam stoji flyout, odnosno prozor u kojem možete prikazati više detalja i informacija, no osnovno sučelje je vrlo ograničeno, a baš u njemu trebaju biti prikazane ključne informacije. Drugi nedostatak je problem u pisanju koda - s obzirom da je kod gadgeta zapravo JavaScript, problem je u debugiranju. Proces može biti mukotrpan, jer zahtijeva stalno pakiranje gadgeta, instaliranje i provjeravanje rezultata. Usput, gadgeti se mogu i jednostavno pakirati - cijeli se direktorij sa sadržajem gadgeta kompresira u ZIP format i zatim se datoteci promijeni ekstenzija u .gadget i to je to, spremno za instalaciju i distribuciju.
I za kraj, zanima li vas izvorni kod gadgeta koji dolaze s Windows Vistom, ništa vas ne sprečava da ga pogledate. Kod svih gadgeta nalazi se u folderu C:\Program Files\Windows Sidebar\Gadgets, a kod svih naknadno instaliranih gadgeta nalazi se u C:\Users\<ime_korisnika>\AppData\Local\Microsoft\Windows Sidebar\Gadgets. No ni to nije sve - zanimaju li vas hrvatski gadgeti (dakle, s domaćim sadržajem), posjetite www.microsoft.com/croatia/gadgets, gdje ih na raspolaganju trenutno stoji 7 (od pregledavanja cijena dionica, poslova i događanja pa do vijesti i slušanja radio programa). Razvijete li novi hrvatski gadget i želite li ga uključiti na tu stranicu, javite mi!