Friday, June 04, 2010

Коментар: зошто го избегнувам ASP.NET

Веднаш да кажам зошто, а потоа ќе елаборирам:

Во ASP.NET околината, програмерот нема потполна контрола над кодот, ниту знае во целост што се случува со неговата апликација. Практично, ASP.NET е константно во „маскирен“ мод. Од програмерот ги крие фундаменталните аспекти на вебот.



Всушност, се работи за добро (одлично) направен генератор на код. Било кој генератор, по дефиниција, не е оптимизиран. Значи, ASP.NET кодот е лошо оптимизиран и создава непотребно оптоварување на целиот процес. Знам, згодно е да си кликаш со маус и да шлапаш контроли на некаков „web form“, без да му се секираш многу-многу околу стандарди, оптимизација, или каков код всушност е генериран. Овој начин на работење е особено привлечен за помладите и понеискусни програмери, чии апликации изгледаат попрофесионално одошто навистина се. Ваквото happy-go-lucky „програмирање“ подоцна создава многу проблеми, како при модификации, така и при дебагирање или оптимизација.

Ме фаќа нервоза ако точно не знам како изгледа мојот код. Којзнае која генерирана линија ми создава проблем во мојот рачно напишан код?

Втората, особено важна причина зошто не сакам ASP.NET е затоа што нејзината експлоатација става непотребни финансиски и технички оптоварувања на клиентот-корисникот. Потребен е „специјален третман“ на хостот, со лиценци кои честопати чинат повеќе од парите кои ги земал програмерот, а за „претплатите“ - специјалитетот на Мајкрософт, да не почнувам. Слични финансиски оптоварувања се поставуваат и пред компанијата која го прави развојот. Настрана бесплатните студентски верзии, ИТ компаниите треба да се испружат за сериозен кеш ако сакаат Мајкрософт развојна околина.

И не ми го споменувајте Моно. Освен што ги намалува трошоците, не одзема ништо од комплексноста и маскирањето, а вообичаено е генерација-две во заостанување.

На крај, она што многу пати сум го кажал: Во модерните веб-апликации (не велам веб-сајтови, за кои е гревота да се зезаш со ASP.NET), ионака клучна улога има JavaScript. Апликацијата мора да биде респонзивна, без непотребни рефреши и да има контрола врз корисничкиот инпут. Тоа е front-end-от -- JavaScript. А за back-end, за да се направи бизнис-логиката, доволен е и PHP.

6 comments:

  1. nikoj ne te forsira da gi koristis tie kontroli :)
    iskluci postback na kontrolite i nemas bezpotrebni refreshiranja na strana. na kraj kraeva mozes slobodno da koristis cist html i sekoja funkcionalnost na front-end-ot da ti e preku javascript. Dosega ne sum naisol na podobro ide od visual studio vo smisla na funkcionalnost a i debugger-ot si e bajgi dobar (a sum probal mnogu od niv posto gi sakam i asp.net i php). Generiraniot kod mozebi ne e najdobar ili najoptimiziran no sepak e po W3C standardite i e kompajliran taka da vo sekoj slucaj ke e pobrz od php. po internet mozes da najdes mnogu tabeli so sporedbi za brzinata pomegju asp.net i php. na kraj kraeva OOP principi vo php seuste se smesni primer constructor overloading ne postoi (a znaeme deka toa e mnogu korisno) barev do php 6 vo koj bi trebalo da se sredat tie raboti. Bi se soglasil samo so toa deka trosocite se mnogu pogolemi za drugoto e tvoj izbor.

    ReplyDelete
  2. Никој и не ме форсира :)
    И не го користам ASP.NET, освен кога морам, кога клиентот инсистира на негова употреба. :)

    Сепак, и покрај сите предности, сметам дека недостатоците се поголеми и поважни.

    ReplyDelete
  3. neznam kolku se nedostatoci vo smisla dokolku vrabotite eto primer kaj vas pomlad i poneiskusen programer, poveke ke vi se isplati toj da koristi asp.net zatoa sto bas moze i da neznam kako stojat rabotite nadvor od dizajnerot vo visual studio :), no kako sto rekovte happy-go-lucky programiranje moze da bide i vo php ne samo asp.net. Nemojte da me svatite pogresno dokolku bi izbiral pomegju asp.net i php a treba da pravam da receme pokreativna aplikacija so dobar user-friendly interface bi odel so php, plus milo mi e sto ima i kaj nas nekoj sto misli deka deka web programiranje ne e samo drag and drop na kontroli i sekoj vtor i negovoto kuce se web programeri zatoa sto naucile da stavaat kontroli vo formata pa povrzuvaat datasource itn itn i ta-daa aplikacija.
    jas ne go osporuvam vaseto mislenje, niti sakam da go nametnam moeto zatoa sto go nemam vaseto iskustvo :)
    ama bi piel kafe so vas :D

    ReplyDelete
  4. @Vlatko
    Кафе? Си го нашол вистинскиот човек! Пијам по кафиња 10 дневно! :))

    И секогаш сакам да разговарам, а особено со колеги-програмери. Пушти ми email и ќе се договориме за кафе-муабет.

    ReplyDelete
  5. Забелешките ти се на место, Ванчо. Можеше да додадеш и JSP во равенката, како постар брат (и инспирација) на .NET, кој ги има сите „тешки“ оружја, но е open-source, т.е. без лиценци и трошоци.

    А околу развојната околина (IDE): за било кој од спомнатите јазици доволен е Notepad! :-)

    ReplyDelete
  6. si go smenil naslovot :) hehe
    kaj si na skype da naprajme eden muabet.. samo ja i ti se karame na itcommk :D

    ReplyDelete