ASP.Net – sākumam

Ir tāds bieži dzirdēts vārds ASP.Net, ko katrs saprot pa savam. Cits uzskata, ka tā ir programmēšanas valoda (patiesībā nav vis), cits tajā saskata tālāku attīstību no Microsoft Active Server Pages (un tā arī ir), cits atzīst par nopietni apskatāmu kandidatūru web aplikācijas risinājumiem (līdzvērtīgu PHP vai ColdFusion), cits spēj vien kārtējo reizi nospļaudīties “Ak, tas [pīiii] maikrosofts”.

Iegūstot zināmu darba pieredzi ar ASP.Net tehnoloģiju, esmu sapratis, ka tas patiešām ir sava veida turpinājums “vecajam ASP”, kas veidots tā, lai tīmekļa aplikāciju izstrāde būtu līdzīga Windows aplikāciju izstrādei (kontroles, to dzīves cikls u.c.) Parādījies jēdziens “web forma“, kas tuvināts Windows formām – ir pat izveidoti GUI redaktori, ar kuriem strādājot nav jūtama liela atšķirība starp WebFormu un Windows formu (ne tikai VisualStudio.net, bet arī, piemēram SharpDevelop) .

ASP.Net web formu izstrādātājs dizaina laikā teorētiski darbojas tikai ar kontroļu izkārtojumu uz “formas”, nav jāuztraucas par to, kāds HTML kods tiks ģenerēts šai webformai (tas tiešām tiek ģenerēts atkarībā no lietotāja aģenta, kas lapu pieprasījis – piemēram, mobilās ierīces saņem pavisam citādu kodu nekā FireFox pārlūks. Savukārt MS Internet Explorer saņem kodu, kas “pārbāzts” ar Microsoft papildinājumiem HTML4.0 standartam. Manuprāt, korekts risinājums, ja citi pārlūki netiek ar to traucēti).

Pateicoties pietiekami interesantajai arhitektūrai, ASP.Net ir labi piemērots mērogojamu aplikāciju izstrādei, savukārt tas, ka tehniski sīkumi ir paslēpti pašā ASP.Net infrastruktūrā, ļauj vairāk koncentrēties uz biznesa loģikas implementēšanu. No otras puses, tieši sīkumu paslēpšana ļauj darboties diletantiski, kā rezultātā rodas jautājumi kā, piemēram “Kā es varu norādīt faila upload dialogam, kurus faila tipus drīkst izvēlēties?”

Protams, jāsaprot arī tos, kuri par šo tehnoloģiju izsakās nievājoši – tās sarežģītības dēļ rodas pārpratumi, kuru pamatā visbiežāk tas, ka kāds rīks tiek lietots citiem mērķiem nekā tas sākotnēji paredzēts. Tādēļ, izstrādājot ASP.Net aplikācijas, ir tomēr jāizprot WWW būtība, HTTP protokola īpatnības (sesijas, datu pārsūtīšana u.c.) un rūpīgi jālasa dokumentācija, kuras gan šajā gadījumā netrūkst.

Cits bieži minēts arguments ir, ka ASP.Net ģenerē W3C standartiem neatbilstošu HTML kodu. Tā ir taisnība, taču, cik zināms ASP.Net 2.0 šī vaina būs labota un tiks ģenerēts tīrs XHTML. Tik jājautā, vai tas būs efektīvi, ja zinām, ka Microsoft parasti neaizraujas ar kompakta HTML ģenerēšanu?

ASP.Net darbojas uz serveriem, kur instalēts .Net Framework un lieliski sadarbojas ar Internet Information Server. IIS nebūt nav vienīgā iespēja, ASP.Net var darbināt arī caur Apache 2.0, ja tam papildus tiek izmantots Cassini modulis vai Mono projekta ietvaros izstrādāto Apache moduli mod_mono. Strādājot ar IIS, protams, ir ērti pieejama visu veidu lietotāju autorizācija (Basic/Windows/Digest), kas citu webserveru gadījumā, šķiet, varētu nebūt tik vienkārša.