Po?etkom devedesetih godina pro?log stolje?a, to?nije
1992.
godine, svoj je razvoj zapo?eo
World Wide Web
, danas najpoznatiji i najkori?teniji dio
Interneta
. Svojim ubrzanim razvojem uvelike je pridonio ogromnoj popularnosti Interneta u svijetu te je kod ve?ine ljudi postao njegovim sinonimom. Tako danas ve?ina ljudi govore?i o Internetu, zapravo govori o Webu i Web stranicama.
Paralelno s razvojem Weba, tekao je i razvoj tehnologija koje su omogu?avale njegovu implementaciju u sva podru?ja kompjuterskog svijeta, ali i ?ire. Povijesno gledano, na scenu su stupali CGI (Common Gateway Interface) - prvi u nizu tzv. Web
programskih jezika
,
PHP
(Hypertext PreProcesor) - stvoren 1995., a populariziran tek u tre?oj verziji (1997.)
Ne?to malo prije popularizacije PHP-a, na Web scenu stupa
Microsoft
, izdavanjem Option Packa za Windows NT Server, u kojem unutar IIS-a 4.0 (Internet Information Services) uvodi zna?ajnu novost - prvu verziju svojeg Web programskog jezika nazvanog Active Server Pages ili skra?eno ASP. Dvije godine kasnije, izlaskom Windowsa 2000, izlazi i IIS 5.0 s ASP-om 3.0 ?to ?e, budu?nost ?e pokazati, biti ujedno i posljednja ina?ica "klasi?nog" ASP-a.
Ve? tada Microsoftov ASP po svojim mogu?nostima uvelike zaostaje za PHP-om koji je jo? k tome pod Open Source licencom i vrti se na
Linux
/Unix-based operativnim sustavima (besplatna platforma). Upravo zbog toga Microsoft prestaje razvijati staru tehnologiju i okre?e se izradi nove, koja ?e, vrijeme ?e pokazati, predstavljati revoluciju i svijetu Web-a, ali i informati?kom svijetu uop?e.
Negdje po?etkom 2001. godine, Microsoft objavljuje osnovnu arhitekturu svoje nove tehnologije nazvanu .NET. Sredinom 2002. godine finaliziran je .NET Framework 1.0 i MS Visual Studio 2002. Od tog vremena potje?e sveop?a op?injenost .NET-om koja traje i danas.
Osnovu .NET-a predstavlja svakako .NET Framework. Najjednostavnije re?eno, to je sustav koji nadograđuje mogu?nosti samog operativnog sustava. Radi se o posebnoj infrastrukturi koja programerima nudi gotova rje?enja i funkcionalnosti da bi ubrzala i pojednostavila razvoj aplikacija svih vrsta i oblika.
Najva?nija sastavnica .NET Frameworka zove se Common Language Runtime ili skra?eno CLR. CLR je softverski sustav u kojem se kod izvr?ava. Kada korisnik pokrene aplikaciju pisanu za .NET Platformu, CLR ju izvr?ava kako bi joj osigurao stabilnost i funkcionalnost. Instrukcije u programu se u realnom vremenu prevode u izvorni strojni kod koji razumije ra?unalo. Za taj je posao zaslu?an JIT-kompajler (eng. Just In Time). Upravo prevođenje u izvorni strojni kod ra?unala, omogu?ilo je .NET-u prelazak na druge operativne sustave kao ?to su Linux ili MacOS (putem pomo?nog third-party MONO sustava).
Kako kompajliranje zasigurno usporava izvr?avanje aplikacija, ono ?e se izvr?avati samo jednom, a njegov ?e se rezultat spremiti kako bi se kasnije mogao koristiti bez ponovnog kompajliranja.
Aplikacije za .NET platformu mogu se pisati u raznim programskim jezicima, gotovo svim poznatijim. CLR, međutim, ne poznaje niti jedan taj jezik - on dobiva naredbe isklju?ivo u jeziku nazvanom Microsoft Intermediate Language (skra?eno MSIL), temeljen na pravilima koja se nazivaju Common Language Specifications (CLS). Stoga je jasno da mora postojati kompajler koji ?e programski jezik u kojem programer pi?e kod prevesti u MSIL kako bi ga CLR razumio. Ovi kompajleri nazivaju se IL-kompajleri te su dostupni za velik broj programskih jezika. Microsoft je izdao kompajlere za pet jezika: C#, J#, C++,
Visual Basic
i JScript, dok su se ostali proizvođa?i softvera potrudili oko brojnih drugih kao ?to su:
Perl
,
Python
,
Cobol
,
Eiffel
…
Kako se svi ovi jezici prvo pretvaraju u MSIL, sasvim je svejedno u kojem ?ete od njih pisati aplikacije. Iz ovoga također proizlazi i druga velika mogu?nost .NET-a - vi?ejezi?no pisanje aplikacija. Tako sada vi?e nije nu?no da svi programeri koji rade na određenom projektu poznaju isti programski jezik, va?no je samo da je podr?ka za njihov jezik dostupna u .NET-u, odnosno da postoji IL-kompajler za njihov jezik.
Mogu?nosti koje CLR nudi su izuzetne, no same po sebi nisu dovoljno uporabljive iz ljudskog aspekta. Upravo zbog toga u .NET Frameworku postoje setovi klasa koje omogu?avaju brzo i jednostavno kori?tenje mogu?nosti koje CLR nudi.
Prva i osnovna skupina klasa zove se Base Class Library ili skra?eno BCL te sadr?i osnovne funkcionalnosti koje se koriste u programiranju (funkcije za transformaciju teksta, mre?nu komunikaciju, provjeravanje sigurnosnih prava, hvatanje unosa s tipkovnice…)
Svojevrsna nadogradnja osnovne biblioteke sadr?i set klasa zadu?enih za komunikaciju s bazama podataka (ADO.NET) te XML-om. One omogu?uju povezivanje aplikacija s bazama podataka (kao MS Access, SQL Server, Oracle…), kao i manipulaciju podacima u XML-dokumentima.
Web Forms je dio skupa klasa nazvanog ASP.NET i zadu?en je za razvoj web aplikacija. ASP.NET nasljednik je ASP-a, ali definitivno nije njegova nova ina?ica. Sam ASP.NET svakako predstavlja budu?nost web programiranja. Tzv. Web forme u sebi sadr?e sve objekte potrebne za objektno-orijentirani pristup generiranju HTML sadr?aja, koji predstavljaju kona?ni produkt ovakvog tipa web aplikacija.
.NET donosi novost u programiranju na podru?ju web-servisa. Radi se o prihva?enom standardu za komunikaciju između aplikacija pomo?u
SOAP
poruka preno?enih Webom. Pravu snagu web servisa predstavlja mogu?nost integracije razli?itih sustava i aplikacija putem standardiziranog na?ina komunikacije.
Web servisi zapravo predstavljaju web aplikacije koje pru?aju određenu funkcionalnost udaljenim programima.
Njihovo kori?tenje (konzumiranje, eng. consuming) u aplikacijama relativno je jednostavno: u svojoj aplikaciji dodate web referencu na ?eljeni web servis, upi?ete njegovu adresu i mo?ete ga pozivati iz svoje aplikacije kao da se radi o bilo kojoj drugoj klasi koja se nalazi unutar Va?e aplikacije, a ne negdje na Internetu. Naravno, aplikacija u trenutku kori?tenja funkcionalnosti web servisa mora imati pristup Internetu.
Windows Forme predstavljaju standardne klase za rad s Windows okru?enjem. Microsoft je nanovo izradio (skoro) sve objekte standardnog Windows su?elja (Tree View i List View je ostao isti, napravljeni su samo "omota?i" koji omogu?uju njihovo kori?tenje u .NET-u) te im dodao novije opcije.
Svakako je velika novost i GDI+ tehnologija (ne toliko karakteristi?na za same WinForms) koja omogu?uje napredni rad s grafikom te puno jednostavnije iscrtavanje OwnerDrawn kontrola nego dosad.