WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Asp.net - fördelar / nackdelar (https://www.wn.se/forum/showthread.php?t=1045869)

coredev 2011-01-14 13:52

Asp.net - fördelar / nackdelar
 
Hej!

Sitter just nu och utvecklar i vb.net (asp.net) och i takt med de problem som uppstår så stiger frustrationen exponentiellt. Det vore trevligt att få höra era åsikter som verktyget.

Åsikter från folk utan erfarenhet av vb.net / asp.net undanbes :)

Själv ser jag följande problem:

* Event. Eventen kommer ibland i ologisk ordning i kombination med att dokumentationen på området är rätt kass.

* Kontrollers instanser. Ibland är det när omöjligt att få tag på olika kontrollers instanser. FindControl är otillräcklig. Att säga att "det är dåligt pattern" att behöva känns till olika kontrollers instanser är att göra det jävligt lätt för sig.

* Datagrid. En mastodont-kontroll som personifierar allt som är dåligt med asp.net. Håll dig till ramarna = Det går OK, gå utanför ramarna = Du får ett helvete. Och tyvärr är det inte sällan man måste gå utanför ramarna.

* Webkontroller. Ibland kan det vara helt omöjligt att få koden att validera eller utföra det man vill göra. Får en känsla av att asp.net skriver xhtml lika bra som ie6 tolkar den.

* ViewState. Onödigt-jävla-bloat.

* VisualStudio 2008. Grattis Microsoft, er IDE är till och med segare än eclipse. Förutom det så förutsätter editorn att man har en kognitivt nedsatt funktionalitet och inte själv vet hur man vill att koden skall se ut.


Och jag gillar följande:

* Ehh.. Jo.. alltså.. vi har ju det här med... ehm..

digiArt 2011-01-14 20:41

Event:
Ologiskt, hmm, kanske. Finns dokumenterat, krävs lite grävande. Själv använder jag mest OnPreInit och Page_Load.

Kontrollers instanser:
Om du behöver FindControl kanske du har tänkt "fel"?

DataGrid:
Använd GridView eller Repeater.

Webkontroller:
Säger inte emot valideringen

ViewState:
Håller med

VS2008:
Byt till VS2010

Själv kör jag numera en hybrid av asp.net webapp och mvc. Minskar bloatet och ökar kontrollen över applikationen. Har också stoppat undan mkt av repetitivt kodande i ett bibliotek.

(Och så kör jag C#, men det är mer tycke och smak där...)

dAEk 2011-01-14 20:54

Förstår att du antagligen var hyfsat irriterad när inlägget skrevs, hoppas att det är muntrare toner nu. Jag har suttit med klassisk ASP (VBScript - ugh!) hela dagen - vill du byta? Nä, tänkte väl det. ;)

Citat:

Ursprungligen postat av coredev (Inlägg 20387747)
* Event. Eventen kommer ibland i ologisk ordning i kombination med att dokumentationen på området är rätt kass.

Jag ogillar eventen också men det underlättar ju mer man kodar. Är webforms relativt nytt för en kommer man åka på en massa strul. Ibland har jag till exempel fortfarande problem med vissa kombinationer av events trots ca 2 års webformskodande.
Det jag tycker är dåligt med webformsdesignen är att det ökar risken för runtime exceptions. Gör man fel sak i fel event eller missade att det borde ha skett i ett annat event, då får man bara hoppas att man testat sin kod ordentligt. Dessutom blir koden utspridd när vissa delar körs i eventen x, y och z. Kanske beror det på att jag suttit med Java och MVC-ramverk tidigare men det känns bara så himla onödigt med den här typen av problem.

Citat:

Ursprungligen postat av coredev (Inlägg 20387747)
* Kontrollers instanser. Ibland är det när omöjligt att få tag på olika kontrollers instanser. FindControl är otillräcklig. Att säga att "det är dåligt pattern" att behöva känns till olika kontrollers instanser är att göra det jävligt lätt för sig.

Är inte med på vad du menar. Kan du ge ett exempel?


Citat:

Ursprungligen postat av coredev (Inlägg 20387747)
* Datagrid. En mastodont-kontroll som personifierar allt som är dåligt med asp.net. Håll dig till ramarna = Det går OK, gå utanför ramarna = Du får ett helvete. Och tyvärr är det inte sällan man måste gå utanför ramarna.

Ja, men det finns inget som hindrar dig från att skriva egna controls eller overrida de som redan finns. Dom inbyggda funkar i många lägen men det betyder inte att de funkar i alla. Om du tänker dig dem som grundläggande men ganska funktionella controls blir det lite mindre frustrerande. :)

Citat:

Ursprungligen postat av coredev (Inlägg 20387747)
* Webkontroller. Ibland kan det vara helt omöjligt att få koden att validera eller utföra det man vill göra. Får en känsla av att asp.net skriver xhtml lika bra som ie6 tolkar den.

Min åsikt är den att man får ta webforms för vad det är (eller verkar vara): ett ramverk för att utveckla snabbt utan att kunna särskilt mycket om webben. Outputten verkade inte vara viktig när MS kom på webforms. Det ska ha blivit bättre i v4 men det är bara vad jag hört. Jag är inte så intresserad av att ta reda på om det stämmer eller ej utan är desto mer sugen att hoppa på Asp.net MVC till 100% istället. Du kanske borde göra likadant om möjligheten finns.

Webforms är för windows/desktoputvecklare som inte kan, vill eller orkar lära sig webbutveckling. Det är min syn på ramverket. Jag gillar det inte speciellt mycket men tyvärr är det just webforms vi kör med på jobbet pga att plattformar inte finns för MVC än. I många fall är det åtminstone på g så man får väl hålla ut ett tag till.

Citat:

Ursprungligen postat av coredev (Inlägg 20387747)
* ViewState. Onödigt-jävla-bloat.

Om du tycker att det är onödigt är det bara att slå av det i web.config.
Men återigen: viewstate är ännu en grej som MS la in för att underlätta för (desktop)utvecklare. Det i sin tur leder lätt till prestandaproblem iom gigantiska viewstates. Tror dom flesta som har jobbat med webforms ett tag har sett sådana någon gång. Annars är det dags att kolla i källkoden. ;)

Citat:

Ursprungligen postat av coredev (Inlägg 20387747)
* VisualStudio 2008. Grattis Microsoft, er IDE är till och med segare än eclipse. Förutom det så förutsätter editorn att man har en kognitivt nedsatt funktionalitet och inte själv vet hur man vill att koden skall se ut.

Om du inte har testat VS 2010 är det ett hett tips. Den är bättre än 2008 och framförallt mycket snabbare. Eclipse har länge varit min favorit men nu vet jag inte längre.

Lyx 2011-01-14 22:30

Nja. Jag kan bara hålla med om att det är lite så och så med valideringen mot xhtml, annars är det du talar om otroligt kraftfullt om det används på rätt sätt. Hur längre har du kodat i .net? Kanske är det en vanesak?

coredev 2011-01-14 22:41

Citat:

Ursprungligen postat av digiArt (Inlägg 20387807)
Själv kör jag numera en hybrid av asp.net webapp och mvc. Minskar bloatet och ökar kontrollen över applikationen. Har också stoppat undan mkt av repetitivt kodande i ett bibliotek.

Har hört mycket gott om Microsofts MVC. Hoppas att jag får chans att pröva det nån gång :-)

Citat:

Ursprungligen postat av dAEk (Inlägg 20387810)
Förstår att du antagligen var hyfsat irriterad när inlägget skrevs, hoppas att det är muntrare toner nu. Jag har suttit med klassisk ASP (VBScript - ugh!) hela dagen - vill du byta? Nä, tänkte väl det. ;)

Haha jag var inte nådigt trött på det hela. Nu är jag tillbaka i mitt lugna jag igen. Lider riktigt mycket med dig - klassisk ASP har också sina brister. Mins framförallt att libbet var så litet att man var tvungen att köpa till massa moduler, moduler som inte sedan fungerar när man kör på nyare Windows-versioner, etc. *ryser*

Citat:

Ursprungligen postat av Lyx (Inlägg 20387814)
Hur längre har du kodat i .net? Kanske är det en vanesak?

I .net har jag kodat i flera år, men asp.net är nytt sedan ett halvår tillbaka. Har utvecklat i de flesta miljöer man kan tänka sig, både desktop och web - och är helt tagen av hur dåligt jag upplever asp.net. Kan dock tillägga där att applikationen i fråga är mycket gammal och inte speciellt välskriven från början. Det är svårt att bygga korthus om grunden är dålig :-/

Är säker på att man, som ni nämner, kan skriva asp.net på ett bra sätt. Speciellt om man har moderna verktyg och versioner. Men då och då stöter man på situationer där man tänker "hur f*n tänkte Microsoft här" :-P

coredev 2011-01-14 22:47

Men om vi snackar fördelar med ASP.NET jämfört med andra ramverk, skulle ni säga att det främst är den påstått korta utvecklingstiden för mindre projekt som är fördelen? Finns det fler fördelar?

tartareandesire 2011-01-15 02:29

Citat:

Ursprungligen postat av coredev (Inlägg 20387817)
Men om vi snackar fördelar med ASP.NET jämfört med andra ramverk, skulle ni säga att det främst är den påstått korta utvecklingstiden för mindre projekt som är fördelen? Finns det fler fördelar?

Den stora fördelen skulle jag vilja säga är att det är lätt att integrera olika interna Microsoft-baserade system. Har man ett hyfsat funktions- och klassbibliotek så blir utvecklingstiden ofta ganska kort även för vanlig PHP. Jag har själv jobbat en hel del med både gammal klassisk ASP och .NET / C# tidigare men är ärligt talat inte särskilt förtjust i det. Gillar att ha mer kontroll över koden.

MRDJ 2011-01-15 03:41

Jag har arbetat med .NET ända sedan det kom, och samtidigt med PHP och ser både för och nackdelar med båda sidorna..

Fördelar med .NET:
* Smidig utvecklingsmiljö ( visual studio )

Nackdelar med .NET:
* Genererar otroligt ful kod ( om man inte anpassar med t.ex MVC ).
* Dålig prestanda ( av många anledingar, bland annat pga den fula koden som generaras ).
* buggar ofta vid hög belastning. ( IIS:en klarar t.ex inte av att processen tar mer än 4 gb ).
* Utvecklingsverktyget visual studio och en webbserver med IIS kostar ganska mycket pengar.



Kort och gott, jag ser faktiskt ingen framtid i .NET. Anledningen till att företag fortfarande använder .NET är för att det är såpass integrerat med Microsofts övriga produkter och att det är ett smidigt utvecklingsverktyg.

danjel 2011-01-17 13:40

Citat:

Ursprungligen postat av MRDJ (Inlägg 20387838)
Nackdelar med .NET:
* Genererar otroligt ful kod ( om man inte anpassar med t.ex MVC ).
* Dålig prestanda ( av många anledingar, bland annat pga den fula koden som generaras ).
* buggar ofta vid hög belastning. ( IIS:en klarar t.ex inte av att processen tar mer än 4 gb ).
* Utvecklingsverktyget visual studio och en webbserver med IIS kostar ganska mycket pengar.



Kort och gott, jag ser faktiskt ingen framtid i .NET. Anledningen till att företag fortfarande använder .NET är för att det är såpass integrerat med Microsofts övriga produkter och att det är ett smidigt utvecklingsverktyg.

Prestanda kan man inte säga är dålig med ASP.NET, då det är kompilerad kod jämfört med t.ex PHP.
Inte heller kan man generalisera och säga att den buggar vid hög belastning. Det är ofta felaktig konfiguration eller dyligt som orsakar prestandabuggar inte tekniken i sig.

MRDJ 2011-01-17 13:58

Citat:

Ursprungligen postat av danjel (Inlägg 20388189)
Prestanda kan man inte säga är dålig med ASP.NET, då det är kompilerad kod jämfört med t.ex PHP.
Inte heller kan man generalisera och säga att den buggar vid hög belastning. Det är ofta felaktig konfiguration eller dyligt som orsakar prestandabuggar inte tekniken i sig.

Jag har tidigare jobbat med en relativt stor site och sett utmaningarna vid extrem belastning, Jag syftar väll inte direkt på ASP-Net i sig utan mer en kombination av IIS:en, windows server och ASP.NET. Ett exempel är t.ex att processen för asp.net / ISS inte får använda mer än 4 GB minne, använder den mer så hänger hela IIS sig..vet inte om dem fixat dessa buggarna ännu men det är sådana saker som får en att tröttna..


Alla tider är GMT +2. Klockan är nu 19:23.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson