Avatar billede amews_aj Nybegynder
29. september 2009 - 12:56 Der er 9 kommentarer og
2 løsninger

ASP.NET WebForms vs MVC

1. Jeg kunne godt tænke mig at vide om fordele og ulemper ved hhv. WebForms og MVC i forbindelse med ASP.NET.
2. Hvornår ville man vælge det ene, og hvornår det andet?
3. Som begynder indenfor ASP.NET, hvad ville I så anbefale? (Kender allerede til C# Apps, og for den sags skyld Java og PHP)
4. Hvad bliver nok den mest udbredte "standard"? (Selvom begge eksisterer side om side).

Jeg har allerede søgt på google og læst en del, men vil gerne høre personlige holdninger herfra.

På forhånd tak.
Avatar billede kennethjohnsen Nybegynder
29. september 2009 - 14:49 #1
1) WebForm har du mulighed for grafisk at designe dine websider, hvor MVC kræver at du kender til html osv. (lidt som hvis du skulle lave PHP).
MVC hjælper dig (tvinger...) til at holde struktur på din applikation, og understøtter genbrug (du får ikke smasket domain-kode sammen med brugerfladen, som du gør med WebForms (og nej, code-behind filer er ikke at adskille domain-kode fra brugerfladen)).

2) Jeg ville vælge WebForms hvis jeg skulle have noget op at køre hurtigt, eller hvis applikationen mest bestod af brugerflade (masser af sider, ikke så meget bagvedliggende logik).
Til gengæld ville jeg vælge MVC hvis jeg vidste det ville blive et stort og kompliceret system, der skulle ændres mange gange i dets levetid.

3) Start med WebForms, for det er ikke "enten-eller", og meget af det du lærer af at lave WebForms-applikationer, kan bruges i MVC.

4) WebForms forsvinder ikke. MS har investeret for meget i dette, så det vil stadig være det mest udbredte, men MVC skal nok blive meget udbredt, og som sagt er det ikke "enten-eller".
Avatar billede amews_aj Nybegynder
29. september 2009 - 15:09 #2
2.1 Nu siger du start med WebForms - hvorfor?
2.2 Hvis du nu skulle skrive fx et forum - hvilken teknologi ville du vælge og hvorfor?
Avatar billede arne_v Ekspert
30. september 2009 - 16:25 #3
Generelt vil jeg anbefale ASP.NET Web Forms til:
- sider med kompleks logik
- projekter med mange sider
- projekter hvor performance ikke er kritisk
- projekter hvor kort udviklingstid ikke er krtisk
og ASP.NET MVC til:
- sider med simpel logik
- projekter med faa sider
- projekter hvor performance er kritisk
- projekter hvor kort udviklingstid er kritisk

Jeg vil nok ogsaa foreslaa at du starter med WinForms - ofte er det en fordel at laere teknologier i kronologisk raekkefoelge, fordi det er raekkefoelgen som forfatterne har laert dem i.

ASP.NET er stoerst idag fordi de var foerst. ASP.NET MVC er ret "hot" for tiden. Saa der bliver nok startet en hel del ASP.NET MVC projekter. Men medmindre ASP.NET MVC udvikler sig meget i de kommende aar, saa tror jeg at ASP.NET Web Forms vil foblive markant stoerre end ASP.NET MVC i fremtiden.
Avatar billede amews_aj Nybegynder
30. september 2009 - 19:02 #4
Mange tak. svar...?
Avatar billede arne_v Ekspert
04. oktober 2009 - 03:37 #5
os begge ?

(ogs var fra mig)
Avatar billede arne_v Ekspert
04. oktober 2009 - 03:37 #6
om igen
Avatar billede TagMan101 Nybegynder
04. oktober 2009 - 09:28 #7
En enkelt kommentar:
Hvis du skal bygge noget der er Web-baseret får du ingen fordel af at spilde tid på Winforms.
Det er en helt anden ting og jeg tvivler på at Phill Haack og de andre bag MVC.Net har brugt megen tid på Winforms profesionelt.
Avatar billede arne_v Ekspert
04. oktober 2009 - 15:08 #8
Da jeg skrev win forms i #3 var det altså en fejl - det er naturligvis web forms.
Avatar billede amews_aj Nybegynder
04. oktober 2009 - 18:22 #9
kennethjohnsen, smid du også lige et svar ;)
Avatar billede TagMan101 Nybegynder
04. oktober 2009 - 20:02 #10
Først til Arne. Så giver dit svar jo god mening.

Så til selve spørgsmålene.
Jeg sidder selv med samme problem. Mht. til webforms/MVC.
Så jeg kommer med det de begrundelser jeg selv har bruger for at vælge en kombination af MVC/WCF.

Webforms er nemmere at gå til hvis man er ude på at få en løsning i luften hurtigt og gerne vil læne sig op af det framework MS stiller til rådighed. Hvis du har mulighed for at bruge færdige kontroller som f.eks. Teleriks, kan du komme rigtig langt meget hurtigt.

MVC giver bedre kontrol over det output der havner i browseren og sammen med AJAX(Jeg har valgt JQuery, der supporteres af MS) står du med et utroligt kraftfuldt og skalerbart grundlag for en professionel web applikation.
Jeg har gode erfaringer med MVC generelt, i andre sammenhænge.

Med hensyn til udbredelsen er Webforms, i sagens natur det mest udbredte indenfor ASP.NET(se arnes svar), mens MVC har 20-30 år på bagen som arkitektur pattern indenfor Java og andre objektorienterede sprog.
Selv har jeg brugt det med ASP-Classic og C# med god succés og er derfor glad for at MS har taget det til sig.
Så jeg tror at MVC vil blive stort indenfor applikationer hvor skalerbarhed og en stringent opdeling af lag i Database/Foretningslogik/præsentation vigtigt.

Så hvis du har styr på objektorienteret programmering og lagdelt applikationesudvikling, så gå efter MVC, men hvis du leder efter en indgang til mainstream .NET gå efter webforms.

Held og lykke med det.
Avatar billede amews_aj Nybegynder
18. oktober 2009 - 21:17 #11
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester