ASP.NET MVC 3 RTM

poruka: 35
|
čitano: 13.422
+/- sve poruke
ravni prikaz
starije poruke gore
Ovo je tema za komentiranje sadržaja Bug.hr portala. U nastavku se nalaze komentari na "ASP.NET MVC 3 RTM".
18 godina
offline
ASP.NET MVC 3 rtm

I nisu bas neke novosti za major verziju. Ima jos nekih featura koje si zaboravio nabrojat ali svakako su ovo premali skokovi za v.3. 

Koliko vas uopce radi sa MVC-om? Ja se ne mogu skroz "presaltat" sa Formsa na MVC. Negdje mi MVC olaksa zivot, a negdi mi jednostavno stvari puno brze idu sa formsima. 

Idemo kod Petre Sanader na party... nema joj staroga doma!
 
0 0 hvala 0
17 godina
odjavljen
offline
RE: ASP.NET MVC 3 rtm
tnakir kaže...

I nisu bas neke novosti za major verziju. Ima jos nekih featura koje si zaboravio nabrojat ali svakako su ovo premali skokovi za v.3. 

Koliko vas uopce radi sa MVC-om? Ja se ne mogu skroz "presaltat" sa Formsa na MVC. Negdje mi MVC olaksa zivot, a negdi mi jednostavno stvari puno brze idu sa formsima. 

Mislim da je Razor najveća novost, ali naravno da stiže i hrpa drugih poboljšanja. Mislim da su skokovi OK, jer imaj na umu da se radi o nepunih godinu dana nakon druge verzije. - Ja ga koristim na novim projektima (baš s v3 krećem ovih dana), a u v2 imam već nekoliko projekata iza sebe. Osobno - nikad više na Forms, jer mi je MVC puno bliži po načinu razmišljanja i smatram ga fleksibilnijim i ugodnijim za korištenje. S Formsima sam se živcirao nekoliko godina i nikad nisam sjeo na zelenu granu s nekim glupostima koje "pruža".

16 godina
neaktivan
offline
RE: ASP.NET MVC 3 rtm

Definitivno se slažem, web forme su jednostavno u samom startu krivo dizajnirane, nemožeš ti web prilagoditi windows programerima, to jednostavno nema smisla.

18 godina
protjeran
offline
ASP.NET MVC 3 RTM

Za večinu stari koje meni trebaju Forms su OK, al sad radim na jednom projektu koji radi na forms način, al u kombinaciji s json, jQuerijem i ajaksom uopće nema ni jednu ASP.NET kontrolu. Ne koristi ni jedan standardan feature od formsa. I sad mi je žao zašto baš taj projekt nismo započeli prije 6 mjeseci s MVC-om.

Programko http://programko.bloger.hr
 
1 0 hvala 0
18 godina
offline
ASP.NET MVC 3 RTM

Mene kod formsa nervira prljav output (html) kod. Inace sam picajzla sta se toga tice.

Idemo kod Petre Sanader na party... nema joj staroga doma!
 
2 0 hvala 0
17 godina
offline
lol

Bit će da sam ja malo tupav al fakat ne kužim opčinjenost tim raznolikim view engineima..

Kaj sam uštedio na ovdje danom primjeru? <% %> - ne moram napisati ova dva znaka?

Dobro kužim da je ekipa koja je stigla iz nekih drugih okruženja tamo navikla na neke template sisteme pa im

je jednostavnije korisitit nešto s čim su već radili - i to mi je jedino razumno objašnjenje za to.

 

Nego kad će napraviti da im preview radi dobro pa da vidim bar poprilici u Visual studiju kako to izgleda?

Ovako kada imaš parcijalne elemente možeš se s time pozdraviti. I neka ojačana desing time logika mogla bi malo pomoć oko toga da

štancanje pod MVCom postane ozbiljnije.

Poruka je uređivana zadnji put pet 14.1.2011 8:50 (SasaFrr).
18 godina
offline
ASP.NET MVC 3 RTM

Nije kod WebFormsa toliko problem generirani HTML kod, jerbo se moze dobiti cisti i uredan HTML i CSS (osim valjda Forms taga, sve ostalo se moze izbjec), nego vise model evenata koji je preuzet iz windows (statefull) programiranja. Tesko je odvojiti prezentacijski i BLL kod, GET i POST su u potpunosti apstrahirani, i treba biti dosta iskusan i znat sta i kako "ispraviti" (MVP pattern npr.)

 

Mislim da dvije-tri godine nisam napravio WinForms aplikaciju (izuzev sto se do sada koristio WinForms view engine u MVCu, uz nVelocity, Spark i sl), na MVCu sam od prije MS-ovog izdanja, i to na MonoRail i Promesh frameworcima.

 

Osim Razora, intellisensa za njega, "nenametljujuceg" javascripta, poboljsane validacije, parcijalnog cachiranja, mozda meni najbitnija novost je uvođenje IoC/DI, iako to nisam probao koristiti. Daljnji razvoj ce vise biti u smjeru raznih validacija, ajaxa, intergracije sa ORM i EF, view helpera i scaffoldinga, posto sam MVC je vise-manje bio solidno izveden i u v1.

 

MS ima poseban nacin programiranja svojih frameworka gdje koriste mnoga nasljeđivanja i interne sealed klase, pa je i asp.net mvc izveden tako, ali to se mislim nece u skorije vrijeme mijenjati, ako ikad. To se nekima ne sviđa, nego vise preferiraju kompoziciju i otvorenost, pa je ekipa napravila FubuMVC i OpenRasta (nije bas pravi MVC, al ajde). 

Smith and Wesson - the original point and click interface | http://twitter.com/hhrvoje, http://www.hudosvibe.net
Moj PC  
0 0 hvala 0
18 godina
offline
RE: lol
SasaFrr kaže...

Bit će da sam ja malo tupav al fakat ne kužim opčinjenost tim raznolikim view engineima..

Kaj sam uštedio na ovdje danom primjeru? <% %> - ne moram napisati ova dva znaka?

 

Nego kad će napraviti da im preview radi dobro pa da vidim bar poprilici u Visual studiju kako to izgleda?

Ovako kada imaš parcijalne elemente možeš se s time pozdraviti. I neka ojačana desing time logika mogla bi malo pomoć oko toga da

štancanje pod MVCom postane ozbiljnije.

 

Probaj sloziti kompleksniji view sa ViewForms-om pa ce ti sve biti jasno. Spark npr daje puno cisci kod koji je lakse za odrzavati, sto je najbitnija stvar.

 

Preview malo slozenijih webova vjerojatno nikada nece niti raditi, ali to ionako nitko ne koristi - svi "profesionalci" pisu rucno html i razor/webforms kod, i onda u browseru gledaju kako to izgleda. Iako je preview od vs2010 uz sam bok Dreamweaveru IMHO. 

Smith and Wesson - the original point and click interface | http://twitter.com/hhrvoje, http://www.hudosvibe.net
18 godina
protjeran
offline
ASP.NET MVC 3 RTM

Istina, al kod biranja prljavog HTML outputa i masovnog mješanja koda i HTML-a u jednoj datoteci. (još se dobro sječam  kako je izgledao ASP kod) . Biraš ono što ti više paše.

A uostalom tko te tjera da gledaš HTML output, nije valjda da gledaš i mašinski output compilera {#}.

Programko http://programko.bloger.hr
 
0 0 hvala 0
18 godina
offline
ASP.NET MVC 3 RTM

Pa naravno da zelim sto cisci kod, u skladu sa standardima?

Idemo kod Petre Sanader na party... nema joj staroga doma!
 
0 0 hvala 0
18 godina
protjeran
offline
ASP.NET MVC 3 RTM

E sad bi ti {#},  pokušaj koristiti control adaptere od ScottGu-a ili napravi svoje. A ima tu i još nekoliko trikova da stari budu po standardima. Pričam o WebFormama.

Programko http://programko.bloger.hr
 
0 0 hvala 0
18 godina
offline
ASP.NET MVC 3 RTM

Webforms mi je nezamjenjiv u nekakvim poslovnim web aplikacijama, a tu me zapravo nije ni briga kakav je kod u pozadini posto su te aplikacije najcesce na nekakvom intranetu ili slicno. Medjutim, kada su u pitanju webovi/public aplikacije koje su dostupne siroj publici onda mi smeta i viewstate, i prefiksi na imenima objekata i slicno...

Idemo kod Petre Sanader na party... nema joj staroga doma!
 
1 0 hvala 0
17 godina
odjavljen
offline
ASP.NET MVC 3 RTM

Prvi problem WebFormsa je model izvršavanja stupnjeva aplikacije i način na koji sve to funkcionira. WF su wrapper oko weba, što je jednostavno neprirodno i postane pravi pakao za održavanje. U srži jednostavne stvari, poput gridova i dijaloga, neke firme su pretvorile u pravi mali biznis, prodajući "kontrole". Ako u WebFormskima želiš bilo što nepredviđeno u samoj kontroli, prelaziš u poseban sektor za luđake i provodiš desetke sati na implementaciji vlastite kontrole ili hakiranju postojeće.

WebForms je super za prezentacijske aplikacije i ako želiš točno ono što ti je dozvoljeno (kao i sve Microsoftove turbo-cool alatke, npr. Lightswitch). Web je previše fleksibilan i previše otvoren za ograničenja koja nude WF.

Moj PC  
1 0 hvala 0
18 godina
offline
ASP.NET MVC 3 RTM

Ja jos nisam nasao nesto sto nisam uspio zaobici kod formsa. Istina, to se zaobilazilo svakako, modificiranjem kontrola etc etc ali sam na kraju sve uspio rijesiti.

Idemo kod Petre Sanader na party... nema joj staroga doma!
 
0 0 hvala 0
17 godina
offline
RE: lol
hudo kaže...
SasaFrr kaže...

Bit će da sam ja malo tupav al fakat ne kužim opčinjenost tim raznolikim view engineima..

Kaj sam uštedio na ovdje danom primjeru? <% %> - ne moram napisati ova dva znaka?

 

Nego kad će napraviti da im preview radi dobro pa da vidim bar poprilici u Visual studiju kako to izgleda?

Ovako kada imaš parcijalne elemente možeš se s time pozdraviti. I neka ojačana desing time logika mogla bi malo pomoć oko toga da

štancanje pod MVCom postane ozbiljnije.

 

Probaj sloziti kompleksniji view sa ViewForms-om pa ce ti sve biti jasno. Spark npr daje puno cisci kod koji je lakse za odrzavati, sto je najbitnija stvar.

 

Preview malo slozenijih webova vjerojatno nikada nece niti raditi, ali to ionako nitko ne koristi - svi "profesionalci" pisu rucno html i razor/webforms kod, i onda u browseru gledaju kako to izgleda. Iako je preview od vs2010 uz sam bok Dreamweaveru IMHO. 

 

A gle moraš malo paziti i kako dijeliš stvari po viewovima i partial viewovima plus da uvijek uredno pišeš ,al osobno stvarno ne volim neke specijalizirane engine koji imaju svoja pravila i sintaksu i onda jednog dana zamru i ostane ti kod u nečem arhaičnom i zaboravljenom.

17 godina
odjavljen
offline
RE: ASP.NET MVC 3 RTM - mala slova
tnakir kaže...

Ja jos nisam nasao nesto sto nisam uspio zaobici kod formsa. Istina, to se zaobilazilo svakako, modificiranjem kontrola etc etc ali sam na kraju sve uspio rijesiti.

Tu leži problem :-). Ključ održivog softvera je u urednom projektu (kodu). Sve ostalo trune.

16 godina
odjavljen
offline
ASP.NET MVC 3 RTM

Neznam dali je pitanje na mjestu, zanima me koncept razvoja sučelja kod desktop aplikacija u .NET frameworku.Vidim da ima znači winforms koji renderira sučelje kroz winAPI, i u biti sve te kontrole imaju eventhandlere koji čekaju neki događaj i tek se onda kod počinje izvršavati.I onda ima WPF gdje je prezentacijski dio odvojen od programskog i pisan u XAML-u.

 
0 0 hvala 0
18 godina
offline
RE: lol
SasaFrr kaže...

A gle moraš malo paziti i kako dijeliš stvari po viewovima i partial viewovima plus da uvijek uredno pišeš ,al osobno stvarno ne volim neke specijalizirane engine koji imaju svoja pravila i sintaksu i onda jednog dana zamru i ostane ti kod u nečem arhaičnom i zaboravljenom.

Ne ovisi o tome koliko ti pazis, jer je WebForms uvjek "nakrcan" sa tonu svojih znakova:

 

webforms:

 

 

<% if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6)
   { %>
  <p>It's bed time!</p>
<% } else { %>
  <p>Party!</p>
<% } %>

 

 

razor:

 

 

@if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6) {   
  <p>It's bed time!</p>
} else {
  <p>Party!</p>
}

 

 

spark:

 

 

<p if='DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6'>
  It's bed time!
</p>
<else>
  <p>Party!</p>
</else>

 

 

nhaml:

 

 

- if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6)
  %p= "It's bed time!"
- else
  %p= "Party!"

 

 

 

treba dan-dva da se privikne na drugi viewengine, i onda ti je ostatak zivota laksi :)

 

Smith and Wesson - the original point and click interface | http://twitter.com/hhrvoje, http://www.hudosvibe.net
Poruka je uređivana zadnji put pet 14.1.2011 10:46 (hudo).
17 godina
offline
RE: lol

Ok

<% if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6)   { %>
  <p>It's bed time!</p>
<% } else { %>
  <p>Party!</p>
<% } %>

 

a sada imamo

 

@if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6) {  
  <p>It's bed time!</p>
} else {
  <p>Party!</p>
}

 

Znači riješilo smo se šet komada <% kombinacija - ajd nije da nije nešto ;). Nisam neki ljubitelj <% znaka al nije sad da me i nervira nešto.

18 godina
offline
RE: lol
SasaFrr kaže...

Ok

<% if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6)   { %>
  <p>It's bed time!</p>
<% } else { %>
  <p>Party!</p>
<% } %>

 

a sada imamo

 

@if (DateTime.Now.Hour > 20 || DateTime.Now.Hour < 6) {  
  <p>It's bed time!</p>
} else {
  <p>Party!</p>
}

 

Znači riješilo smo se šet komada <% kombinacija - ajd nije da nije nešto ;). Nisam neki ljubitelj <% znaka al nije sad da me i nervira nešto.

 

ako ti ne smeta, super, svako ima svoje preferencije! Bitno je da imamo izbora sada, da nismo samo na WebFormsima. Ako se nekome svidja "stari" nacin rada bez MVC, neka radi tako.

Smith and Wesson - the original point and click interface | http://twitter.com/hhrvoje, http://www.hudosvibe.net
16 godina
odjavljen
offline
RE: lol
hudo kaže...

 

ako ti ne smeta, super, svako ima svoje preferencije! Bitno je da imamo izbora sada, da nismo samo na WebFormsima. Ako se nekome svidja "stari" nacin rada bez MVC, neka radi tako.

Hudo, vidim da si ti dosta kompententan, objasniš malo MVC i WebForms?

18 godina
offline
RE: lol
alankish kaže...
hudo kaže...

 

ako ti ne smeta, super, svako ima svoje preferencije! Bitno je da imamo izbora sada, da nismo samo na WebFormsima. Ako se nekome svidja "stari" nacin rada bez MVC, neka radi tako.

Hudo, vidim da si ti dosta kompententan, objasniš malo MVC i WebForms?

 

Mislim da ne razumijem pitanje dobro, sta da tocno objasnim? Sve :) ? Mogu ti ovdje u kratkim crtama objasniti kako to radi, ali mislim da bi bilo puno bolje da zaguglas, jer to drugi mogu objasniti puno bolje od mene i 10-tak recenica koliko mogu ovdje napisati : )  Ima stvarno brdo informacija po blogovima.

Ali ako te zanima neki detalj, iskustvo ili specificno pitanje, rado cu odgovoriti!

Smith and Wesson - the original point and click interface | http://twitter.com/hhrvoje, http://www.hudosvibe.net
18 godina
offline
ASP.NET MVC 3 RTM

Forms su pokusaj microsofta da programiranje za desktop prebaci u programiranje za web. Dakle imas iste kontrole kao za desktop, slicnu filozofiju (evente i slicno). 

 

MVC je intuitivniji pristup. Imas model koji zapravo predstavlja tvoje klase, imas view koji je zapravo prezentacijski dio (dakle HTML + kod za ispis) i controller koji upravlja akcijama, dohvaca podatke i proslijedjuje ih viewu.

 

Ukratko i laicki :)

Idemo kod Petre Sanader na party... nema joj staroga doma!
Poruka je uređivana zadnji put pet 14.1.2011 13:14 (tnakir).
 
0 0 hvala 1
18 godina
moderator
offline
RE: lol
hudo kaže...
alankish kaže...

Hudo, vidim da si ti dosta kompententan, objasniš malo MVC i WebForms?

Mislim da ne razumijem pitanje dobro, sta da tocno objasnim? Sve :) ? Mogu ti ovdje u kratkim crtama objasniti kako to radi, ali mislim da bi bilo puno bolje da zaguglas, jer to drugi mogu objasniti puno bolje od mene i 10-tak recenica koliko mogu ovdje napisati : )  Ima stvarno brdo informacija po blogovima.

Ali ako te zanima neki detalj, iskustvo ili specificno pitanje, rado cu odgovoriti!

Kako mu ne možeš objasniti? Eto, uzmi sat vremena i gledaj hudoa kako ti objašnjava: http://www.webug.com.hr/200912/video.aspx :-)

Domagoj
18 godina
offline
ASP.NET MVC 3 RTM

Domagoj, vi razvijate u MVC ili?

Idemo kod Petre Sanader na party... nema joj staroga doma!
 
0 0 hvala 0
18 godina
moderator
offline
Re: ASP.NET MVC 3 RTM
tnakir kaže...

Domagoj, vi razvijate u MVC ili?

Kako što, ovisi o projektu. Nisam slijepi obožavatelj MVC-a, i od Formsa se mogu napraviti čuda uz malo samokontrole i pametnog pristupa, posebno kad izbaciš sve što Formse čine formsima :-)

Forum i BOL je u Formsima.

 

PS. Nadam se da mi nisi rekao "vi" :-)

Domagoj
Poruka je uređivana zadnji put pet 14.1.2011 13:22 (Domagoj).
18 godina
offline
Re: ASP.NET MVC 3 RTM
Domagoj kaže...
tnakir kaže...

Domagoj, vi razvijate u MVC ili?

Kako što, ovisi o projektu. Nisam slijepi obožavatelj MVC-a, i od Formsa se mogu napraviti čuda uz malo samokontrole i pametnog pristupa, posebno kad izbaciš sve što Formse čine formsima :-)

Forum i BOL je u Formsima.

 

PS. Nadam se da mi nisi rekao "vi" :-)

Mislio sam kao tim :)

Idemo kod Petre Sanader na party... nema joj staroga doma!
17 godina
odjavljen
offline
Re: ASP.NET MVC 3 RTM
Domagoj kaže...
tnakir kaže...

Domagoj, vi razvijate u MVC ili?

Kako što, ovisi o projektu. Nisam slijepi obožavatelj MVC-a, i od Formsa se mogu napraviti čuda uz malo samokontrole i pametnog pristupa, posebno kad izbaciš sve što Formse čine formsima :-)

Forum i BOL je u Formsima.

Ne vidiš problem tu? {#} - Ja vidim ogromnog slona...

 

To izbacivanje je bio redoviti rezultat mog rada u ASP.NET-u prije MVC-a. Na kraju bih praktički imao samo procesor za vlastitu implementaciju nečeg sličnog MVC-u (u praksi bi to bio DAL-BLL-SRCL-VM-P).

18 godina
offline
ASP.NET MVC 3 RTM

Is nekog iskustva, ovo bi bila glavna razlika:

 

WebForms:

  • poziv dolazi na web stranicu (.aspx fajl)
  • svaka stranica ima odvojem prezentacijski kod (html + asp.net kontrole) i codebehind (c#/vb kod od te stranice)
  • svaka web stranica ima (dugacki) niz evenata (OnLoad, OnInit, ...) koji se okidaju
  • za prikaz se koriste razne kontrole (button, label, menu, gridview, repeater, checkbox, ...)
  • svaka ta kontrola moze okinuti niz svojih evenata pod kojima ti stavljas svoj kod (OnClick, OnSelectedIntexChanged, OnRowDatabound, ...)
  • gridview, button, treeview i ostale kontrole same generiraju HTML kod, koji u vecini slucajeva sadrzi dosta (nepotrebnih) atributa - dizajneri polude od toga
  • ti eventi se izvrsavaju u tkz. Page Life Cycle-u, nekim redosljedom, a mogu i okinuti "postback", odnosno refresh stranice

 

MVC

  • poziv dolazi na routing engine (ala Url rewriting, samo pametniji), on prema patternu odredi koja klasa odnosno metoda se mora izvrsiti (kontroler i akcija, to je onaj C u MVC), po konvenciji je to uvjek url.com/kontroler/akcija/parametri
  • akcija (obicna metoda u klasi koja nasljeđuje Controller klasu) se izvrsi, i vrati neki rezultat  (V u MVC): renderiranje view-a (aspx, ascx), XML, JSON, file dowload, bilo sto... i tom Viewu se prosljeđuje Model (M u MVC, obicni bilo koji objekt) - to je jedina veza između kontrolera i view-a
  • view se izrenderira i rezultat posalje browseru (u Response objekt)
  • ne postoje kontrole (label, button, gridview,...), nego se koriste obicni HTML elementi (form, input, option) - u biti sve ono "low level" sto inace standardne asp.net webforms kontrole ispljunu u browser, to se ovdje pise rucno ili se koriste helperi (<%= Html.TextBoxfFor(x=>x.Ime) %>)
  • velika razlika je sto se u MVC koristi <form> i <input> elementi za crtanje polja, i <input type='submit'> koji salje podatke na neki URL - to je umjesto onog Button.OnClick eventa! 
  • ne postoji Postback

 

ukratko ...

Smith and Wesson - the original point and click interface | http://twitter.com/hhrvoje, http://www.hudosvibe.net
Poruka je uređivana zadnji put pet 14.1.2011 13:40 (hudo).
Moj PC  
2 0 hvala 1
18 godina
moderator
offline
Re: ASP.NET MVC 3 RTM
Tonči kaže...
Domagoj kaže...
tnakir kaže...

Domagoj, vi razvijate u MVC ili?

Kako što, ovisi o projektu. Nisam slijepi obožavatelj MVC-a, i od Formsa se mogu napraviti čuda uz malo samokontrole i pametnog pristupa, posebno kad izbaciš sve što Formse čine formsima :-)

Forum i BOL je u Formsima.

Ne vidiš problem tu? {#} - Ja vidim ogromnog slona...

 

To izbacivanje je bio redoviti rezultat mog rada u ASP.NET-u prije MVC-a. Na kraju bih praktički imao samo procesor za vlastitu implementaciju nečeg sličnog MVC-u (u praksi bi to bio DAL-BLL-SRCL-VM-P).

Malo sam karikirao, no moglo bi se reći i da stare navike teško umiru, a prebacivanje dugotrajnjih projekata u MVC nema smisla.

Domagoj
Nova poruka
E-mail:
Lozinka:
 
vrh stranice