PDA

Pogčedajte punu verziju : Microsoft - Silverlight?!?!?


LiquidBrain
01. 05. 2007., 17:54
Kao sto sam topik kaze, da li je neko upucen ili mozda imao iskustva sa navedenom m$ tehnologijom?!?
Meni izgleda interesantno, iako izbegavam da programiram pod windows platformom...

degojs
01. 05. 2007., 19:05
To je u stvari preimenovan WPF/E (Windows Presentation Foundation/Everywhere).

MrSteel
03. 05. 2007., 14:10
sasvim pristojna platforma, zasada ne pruza nista neverovatno,
jos uvek nije spremno za sve OS platforme ali ce izgleda biti,
community jos nisu razvili i u svakom slucaju ce im dosta trebati da dostignu Flash

sa druge strane WPF, sto oni Ultimate experience je super, jeste samo za Win ali je pruzio sjajan lejer izmedju aplikacije i grafike sto je falilo desktop razvoju na Windows-u

"there are three tiers of offerings here, Ultimate Experience (WPF),
Great Experience (Silverlight) and Good Experience (AJAX/HTML)."

lopkiju
03. 05. 2007., 16:18
Silverlight na Linuxu...

http://news.com.com/8301-10784_3-9714669-7.html

bNasty
03. 05. 2007., 17:17
Mark Pilgrim u svom elementu:

http://diveintomark.org/archives/2007/05/02/silly-season

ylodi
04. 05. 2007., 08:31
sasvim pristojna platforma, zasada ne pruza nista neverovatno,
jos uvek nije spremno za sve OS platforme ali ce izgleda biti,
community jos nisu razvili i u svakom slucaju ce im dosta trebati da dostignu Flash


Iako se o njemu govorilo kao o flash killeru ipak mislim da Silverlight treba gledati malo drugačije. Riječ je o MS razvojnoj platformi i oni će to proturiti svim svojim developerima. Nema zajednice, ali imate hrpu MS developera. Jasno da će to u početku dovesti do toga da će i u njemu razvijati aplikacije na klasični način kao u desktop okruženju (što u ovom slučaju i neće biti takva katastrofa kao što je bila s ASP.NET-om), ali definitivno je da neće biti masovne migracije flash developera na Silverlight.

jablan
04. 05. 2007., 10:07
Jasno da će to u početku dovesti do toga da će i u njemu razvijati aplikacije na klasični način kao u desktop okruženju (što u ovom slučaju i neće biti takva katastrofa kao što je bila s ASP.NET-om)
Jel može razjašnjenje, o kakvoj katastrofi govoriš?

ylodi
04. 05. 2007., 11:13
Jel može razjašnjenje, o kakvoj katastrofi govoriš?

O tome kako su klasični desktop developeri počeli razvijati web aplikacije na isti način tj. ASP.NET 1.x i VS 2003 nije napravljen u duhu weba već tako da se klasičnim desktop developerima olakša posao.

Ja održavam jednu takvu aplikaciju koju je napravio klasični desktop developer koji je to radio po uzoru na MS learning tečajeve. I što imamo? Post back poslije svakog ažuriranja polja na ekranu (provjera na serverskoj strani poslije svake provjere i onda još prije spremanja sloga). Ne moram ti govoriti koliko to prometa generira i kako je aplikacija spora. A onda ogromni dataset-ovi, ogromni viewstate, ružnjikavi linkovi (developeri nemaju naviku da ih mijenjaju), ružni JavaScript postbackovi, ogromni kriptični ID-ovi za kontrole, korištenje Server.Transfer metode pa location bar govori jedno, a stranica je sasvim druga. Master page je dodan tek u ASP.NET 2.0 frameworku, pa mi svaka stranica ima svoj header (ajde barem je footer user controla pa nije nužno mijenjati nešto na svim stranicama).

jablan
04. 05. 2007., 11:51
U pitanju je delimično tradeoff koji ja nikako ne bih nazvao katastrofom, a delimično različite programerske navike koje se mogu ispoljiti na bilo kojoj platformi. Štaviše, usudio bih se da tvrdim da je procenat neodrživog koda veći u PHP-u nego u ASP.NET-u... Sve u svemu, druga tema.

degojs
04. 05. 2007., 16:32
A onda ogromni dataset-ovi, ogromni viewstate, ružnjikavi linkovi (developeri nemaju naviku da ih mijenjaju),

Pa ne možeš to da vezuješ za sam ASP.NET, već za programera. Ako neko neće ili ne ume da isključi viewstate, ostavi difolt linkove, ne ume da koristi CSS, server-side skinove, itd.. to nije problem ASP.NET-a.

Druga stvar, zašto bi se ti nužno i toliko brinuo o kriptičnim ID-ovima za kontrole? Mislim i kada praviš desktop aplikaciju (ako to još neko radi), pa nije baš obavezno da se ide u asemberski kod i gleda šta je kompajler izbacio. Možeš, ali i na ASP.NET-u takođe možeš da menjaš ponašanje kontrola, itd.

Imaj na umu i vreme izrade stranica, itd.

ylodi
04. 05. 2007., 19:42
Ne možeš id od nekog polja u formi uspoređivati s asemblerom, nije to ista kategorija. U desktop aplikaciji obično kažeš

Button btOk = new Button();

ekvivalent kriptičnim ID-evima bi bio

Button btl00___ctl00___duw1_ac1___Ok = new Button();

Jesu li ljudi tako pisali kod u desktop aplikacijama? ;-)

Što sam ja nazvao katastrofom? Ne sam ASP.NET već ono što su u njemu proizvodili klasičari i nazvali to web aplikacijama.

Kad sam ja prvi put malo dublje ušao u ASP.NET čudom sam se čudio kako to da nisu iskoristili XMLHttpRequest objekt. Kolega koji je radio tu aplikaciju nije imao pojma o čemu govorim. A onda, kad je Jesse James Garrett imenovao razvoj dinamičkih web aplikacija i kad je sve to postalo poznato kao Ajax, mora je sam sebi priznati da sam bio u pravu.

A brzo vrijeme izrade nije uvijek dobar izgovor za loš posao.

degojs
04. 05. 2007., 19:45
U desktop aplikaciji obično kažeš

Button btOk = new Button();

ekvivalent kriptičnim ID-evima bi bio

Button btl00___ctl00___duw1_ac1___Ok = new Button();

Jesu li ljudi tako pisali kod u desktop aplikacijama? ;-)


Čekaj malo, o čemu ti pričaš?

Neki programer je dao ime promenjivoj "btl00___ctl00___duw1_ac1___Ok" i ASP.NET je kriv za to???

Pa u ASP.NET bez problema možeš da napišeš:

Button btOk = new Button();

???

U stvari, Visual Studio kontrolama dodeljuje, po difoltu, "imena" poput "Button1", "DataRepeater1", itd, a ne ovako kako si ti napisao. Ako neko nalazi za shodno da to preimenuje u tu gore kobasicu, kako ASP.NET treba da ga sprečava i zašto bi?

Ono što tebe možda buni jeste ono što se generiše kao UniqueID (ili ClientID). Nema potrebe da to direktno ukucavaš (čak to nije ni preporuka, čini mi se), već do tog imaš pristup kroz pomenuta svojstva kontrole.

Paralela sa kompajlerima stoji, bar ja tako mislim: kompajler izbaci mašinski kod (ili npr. bytecode za Javu), a server ovde izbaci HTML/Java script kombinaciju. Ni u prvom, a ni u drugom slučaju ja ne moram nužno da brinem koje razne ID-jeve je kompajler/server koristio u tom krajnjem izlazu i slično..

degojs
04. 05. 2007., 20:19
Kad sam ja prvi put malo dublje ušao u ASP.NET čudom sam se čudio kako to da nisu iskoristili XMLHttpRequest objekt. Kolega koji je radio tu aplikaciju nije imao pojma o čemu govorim. A onda, kad je Jesse James Garrett imenovao razvoj dinamičkih web aplikacija i kad je sve to postalo poznato kao Ajax, mora je sam sebi priznati da sam bio u pravu.

Ne znam opet šta pokušavaš da kažeš - neko nije koristio AJAX i sad kao.. šta? ASP.NET ne valja? Inače taj objekt koji je osnova Ajaxa jeste nastao upravo u Microsoftu i prvo se, koliko je meni poznato, pojavio u IE, tako da je nekako neobično što to pričaš vezano za ASP.NET?? Ili možda ne kapiram ništa šta hoćeš da kažeš :)

Čini mi se da bespotrebno dovodiš u vezu nečije brljanje sa nekom tehnologijom...

lopkiju
04. 05. 2007., 21:26
Kada dodajes ASPNET kontrole na formu, VSNET ti sam generise deklaraciju za tu kontrolu i ime ce biti tipa button1, DataGrid1 ili sta si vec dodao.

Ta cudna imena (UserControl1:btnPushMeIamClean, ako se dugme nalazi unutar user controle) za kontrola koja mozes da vidis nakon renderovanja ASPNET stranice je ASPNET generisao, ali ta imena uopste ne treba da koristis.
Sto bi to koristio, kada imas ono button1.

Ti mozda mislis na onaj doPostBack(cudna_imena_kontrola, ...), ali poenta je da ti ne moras u VSNETu da koristis ta imena, nego imas ona user friendly.

Ako je neko i koristio ta imena, blago njemu i za to nikako nije kriv ASPNET.
Mozda i jeste, trebao je da zabrani da se koriste ta imena :).

LiquidBrain
05. 05. 2007., 15:36
Ne dirajte mi ASM!!! :)

IgorHW
08. 05. 2007., 14:00
Ti mozda mislis na onaj doPostBack(cudna_imena_kontrola, ...), ali poenta je da ti ne moras u VSNETu da koristis ta imena, nego imas ona user friendly.

Ako je neko i koristio ta imena, blago njemu i za to nikako nije kriv ASPNET.
Mozda i jeste, trebao je da zabrani da se koriste ta imena :).
Ne moras da ih koristis ako ne radis u ASP.NET-u nego pustis kolegu da se bahce sa tim :). Sta kada zelis da stavis neki klijentski kod tj. javascript na stranicu, koje onda ime moras da koristis? Moras da izvlacis UniqueID koji je kontrola dobila i ubacujes po javascriptovima...

jablan
08. 05. 2007., 14:10
Sta kada zelis da stavis neki klijentski kod tj. javascript na stranicu, koje onda ime moras da koristis? Moras da izvlacis UniqueID koji je kontrola dobila i ubacujes po javascriptovima...
Na primer, kombinacija jQuery-ja i <%=MojEdit.ClientID%> sasvim elegantno rešava posao, bez potrebe za kobasicama.

Uostalom, nije potrebno veliko umeće da bi se videla razlika u eleganciji između

<input type="text" name="mojEdit" value="<?php print 'Pera' ?>" />
i

mojEdit.Text = "Pera";

IgorHW
08. 05. 2007., 14:27
Na primer, kombinacija jQuery-ja i <%=MojEdit.ClientID%> sasvim elegantno rešava posao, bez potrebe za kobasicama.

Naravno, ali je ipak potrebno pisati js code na drugaciji nacin, ne kazem ja da je to nesto mnogo naporno ali ponekad kad zaboravim na to, dobijem js koji ne radi pa trazim greske kasnije. U sustini sam samo hteo da kazem ovima sto su rekli da ta asp generisana imena nema potrebe koristi da ipak ima potrebe.


Uostalom, nije potrebno veliko umeće da bi se videla razlika u eleganciji između

<input type="text" name="mojEdit" value="<?php print 'Pera' ?>" />
i

mojEdit.Text = "Pera";

Tu se vidi razlika da. Ali sta npr kada zelis da dodas neke tagove koje asp ne prepoznaje, naravno ti mozes da napises <asp:button id="dugme" onclick="return false;" ...> i on ce taj tag da prosledi bez greske ali ce uvek dok gledas html code da ti bude podvuceno to kao da si pogresio. Sto znaci da bi morao napisati: dugme.addAttribute("onclick", "return false;")

jablan
08. 05. 2007., 15:58
U sustini sam samo hteo da kazem ovima sto su rekli da ta asp generisana imena nema potrebe koristi da ipak ima potrebe.
O tome i pričam. Nema potrebe, sem ako nisi priučeni PHP ili ASP programer.

Napišeš .ClientID, ne koristiš generisano ime.

IgorHW
10. 05. 2007., 11:10
Ne, nisam ja mislio da ima potrebe direktno pisati ono ime clt0_blabla_imekontrole, vec sam mislio na to da moras znaci da izvlacis taj ClientID. Ne mozes npr. da samo stavis ime kontrole u nekom javascriptu vec moras znaci napisati <%=imekontrole.ClientID%>.

DejanVesic
11. 05. 2007., 07:30
da moras znaci da izvlacis taj ClientID. Ne mozes npr. da samo stavis ime kontrole u nekom javascriptu vec moras znaci napisati <%=imekontrole.ClientID%>.

Što je i logično, pošto kontrola može da se pojavi n puta na stranici (razmestiš druge kontrole koje sadrže tu), pa svaka instanca _mora_ da ima jedinstveno ime.