Autorove arhive: senaidmax

ASP.NET (2)

Danas je petak, trinaesti, nekima je to nesretan dan, nama ne, jer danas nastavljamo sa našom školom, prelazimo konkretno na ASP.NET, no i danas ćemo se baviti općenitim stvarima, a u nastavku 3 prelazimo na ASP.NET kontrole.

Prošli put smo se upoznali sa načinom funkcionisanja server – side tehnologija, a u ovom postu ćemo preći na konkretnu tehnologiju – ASP.NET.

Šta je ASP.NET?

ASP.NET je Microsoftova tehnologija za razvoj Web stranica. ASP.NET je Web framework ili dio .NET frameworka. Mi ćemo u ovoj školi raditi sa Web formama, ali imamo još i MVC i Web Pages. Za potonju Microsoft je razvio i poseban IDE – Web Matrix. Namjenjen onima  sa manje znanja oko ASP.NET. Kada smo već kod IDE-a, mi ćemo u našoj školi koristiti Microsoft Visual Web Developer 2010 Express, koji je besplatan. Ukoliko ste student ili srednjoškolac možete besplatno preuzeti i punokrvnu verziju Visual Studia – Professional, sa DreamSparka (http://www.dreamspark.com).

ASP.NET je “naslijednik” Microsoftove stare tehnologije za razvoj Web stranica. Ista je nosila ime ASP (Active Server Pages), ako se malo vratimo unazad – desetak godina – pored PHP-a, ASP je bila jako korištena tehnologija, ali sa današnjeg aspekta – ASP.NET-a – “stari” ASP je bio veoma loš. Nije mi cilj objašnjavati istorijske stvari oko ASP.NET-a, ali trebali bi znati neke osnovne stvari.

ASP.NET-ovu logiku možemo kodirati u C#-u ili VB.NET-u, u ovoj školi ćemo koristiti C#. Nemojte misliti da VB.NET nevalja, dapače odličan je, nego autor radi C#, pa sam više kompetentan za pisanje C# koda nego VB.NET.

Zašto ASP.NET?

Kao prvo mogli bi postaviti pitanje zašto ne ASP.NET, ali da ne idemu u krajnost, odgovorit ću na pitanje iz podnaslova, koliko budem u mogućnosti.
Postoji više razloga, imamo odličan IDE – Visual Web Developer. Potonji je, bukvalno, sve što nam treba za razvoj naših Web aplikacija. Dalje, možemo kodirati logiku u više jezika, što je veoma korisno, PHP ima specifičnu sintaksu, koja, istina je, liči na C sintaksu, ali je, kao takva, specifična. Dok kod ASP.NET-a je druga priča, ukoliko znate C#, sve što trebate je pohvatati, relativno jednostavnu, sintaksu ASP.NET-a. Dok onaj teži dio ostaje, približno, isti. Ista stvar je i sa VB.NET-om.
Microsoft podrška za mnoge stvari. Mada je ista odlična i u drugim aspektima .NET-a i općenito Microsoftovih razvojnih tehnologija. Ta podrška se ogleda u Microsoft AJAX-u, jQuery-u… Microsoft je prigrlio ove tehnologije i radio na njihovoj implementaciji ASP.NET-u.
Veoma lahko se “kačimo” na baze podataka, zahvaljujući ADO.NET Entity Frameworku i LINQ tehnologijama. Istim se možemo “kačiti” na baze podataka i u drugim jezicima pod CLI-em.
Odličan deployment server – IIS (Internet Information Services). O serverima smo govorili prošli put, pa se nećemo ponavljati.

Pretpostavljam da su vam ove stvari, barem većina, nepoznata, no nema veze, polahko ćemo doći do svake.

Da sumiramo, da bi mogli pratiti ove tutorijale, odnosno školu, skinite Microsoft Visual Web Developer 2010 (SP1), kao što sam rekao on vam je faktički dovoljan, kroz sljedeće tutorijale ćemo koristiti jQuery, TinyMCE… Ali za sada njih nije potrebno skidati.

Skinite IDE i malo se podružite sa njim, upoznajte menije, idući put ćemo ukratko objasniti Toolbox, Solution Explorer, i još po nešto, a onda idemo na ASP.NET kontrole. Treba spomenuti da naglasak nije na Visual Web Developeru, nego na samom ASP.NET-u.

I za kraj da formalno objasnimo postupak kreiranja novog Web Form projekta i najjednostavniji primjer.

Ukoliko ste skinuli VWD (ubuduće ćemo koristiti ovu skraćenicu za Visual Web Developer), pokrenite ga, kliknite na File->New->Project (kao na slici 1)

Nakon klika na Project dobivate sljedeći prozor:

Odaberite jezik C#, tip projekta ASP.NET Empty Web Application, dajte neko ime i kliknite na OK.
Za ovaj članak nisam bio u mogućnosti instalirati samo Web Developer, pa sam koristio Professional verziju Visual Studia, tako da meni Project Template kod vas će izgledati drugačije.
Nakon kreiranja Solutiona i Projecta, dobit ćete izgled kao na slici ispod:

Na ljevoj strani imamo Solution Explorer, o kojem ćemo govoriti u sljedećem nastavku.
Desno kliknite na ime projekta, zatim na Add, pa na New Item.
Kao na slici ispod:

Nakon klika na New Item dobivamo prozor kao na slici ispod:

Odaberite Web Form, dajte joj neko ime (ne morate paziti na ekstenziju .aspx, jer će je VWD dodati sam) i kliknite Add.
Nakon toga u Solution Exploreru dobit ćete i novu Web Formu koju ste prethodno kreirali, u mom slučaju Default.aspx, kao na slici ispod:

Otvorite je dvoklikom i dobit ćete Markup forme (o ovome ćemo govoriti u sljedećoj školi), kao na slici ispod:

Iz Toolboxa (o kojem ćemo govoriti u sljedećem nastavku), iz grupe kontorla Standard dovucite Label, između <div> i </div>.
Ili kopirajte ovaj kod između <div> i </div>

<asp:Label ID=”Label1” runat=”server” Text=”Label”></asp:Label>

Stanje bi trebalo biti kao na slici ispod:

Klikom na F7 prebacujemo se u Code Behind, gdje kucamo C# kod, o ovome će biti više riječi idući put.
Dobivamo kod kao na slici ispod:

U metodu Page_Load, koja se pokreće pri učitavanju stranice sa servera, dodajte sljedeći kod:
Label1.Text = System.DateTime.Now.ToString();
Kao na slici ispod:

Pokrenite stranicu preko Ctrl+F5 (što je u biti, Start Without debugging), u pregledniku ćete dobiti trenutni datum i vrijeme, pogodite čega, govorili smo prošli put gdje se stranica prevodi u pregledniku razumljiv kod? Da, tačno ste odgovorili – na serveru. Znači dobit ćemo trenutno datum i vrijeme servera, u mom sličaju kao na slici ispod:

Ovim smo završili za danas i za ovu sedmicu, sljedeći petak idemo dalje, probajte sami zamisliti šta se dešava, nakon zahtjevanja ove stranice u pregledniku, na serveru. Idući put idemo detaljno sa kontrolama, pa ćemo i ovaj primjer detaljno objasniti.

Pozdrav!

Microsoft licenciranje softvera

U slučaju Microsoft licenciranja, razlikujemo više vrsta licenci. Pa tako krajnji korisnici imaju mogućnost birati između OEM licenci, koje su i najpovoljnije, a iste se dobivaju ili bi se trebale dobivati uz kupljeni računar. Potonje traju dok i vaš računar, ali nemate mogućnost prebacivanja licence na drugi računar. Dalje imamo Retail licence, one su dosta skuplje od gore pomenutog OEM-a, ali daju nam mogućnost koja fali OEM-u – prenos licenci sa jednog računara na drugi.

Situacija u našoj državi kao i u još država je dosta kritična, što se piratstva tiče, pa Microsoft tu dolazi sa dvije nove licence – GGK i GGWA. Zašto?, zato što većina računara kupljena u našoj zemlji, i u još dosta njih, ima piratski softver, pa i same Windowse, znamo da OEM nije moguće kupiti odvojeno, iz tog razloga Microsoft nastupa sa dvije gore navedene licence gdje je druga nešto povoljnija za firme sa više od 5 računara.

Ukoliko ste vlasnik veće kompanije, od Microsoft-a možete tražiti licencne ugovore sa većim brojem licenci, tzv. Open Licence. Navedeni vrijedi za firme sa više od 5, a manje od 250 računara. Ukoliko pak imate firmu sa više od 250 računara, tu je Enterprise Agreement.
Open Value Subscription je ugovor sa kojim se pretplaćujete na najnovije verzije softvera.

Sa serverima je malo drugačije, softver za njih se licencira po broju servera i procesora u njima.

ASP.NET škola(1)

Pozdrav!

Ukoliko ste se ikada bavili Web dizajnom, vjerovatno ste čuli za server – side tehnologije, ako pak niste, nema veze, krećemo od nule.

Krenimo…

Princip rada klijent – server tehnologije

Web browser je samo “host” za web stranice, šta to znači? Onaj dio preglednika gdje vidimo prezentaciju prima HTML kod od servera i renderiše ga po pravilima. Ovo je tipični primjer Client – Server mreže, s tim da je u ovom slučaju klijent naš preglednik, a server je mjesto gdje se Web stranica hosta. Kako to sve funkcioniše?, objasniti ću vam!

Kada zatražite stranicu putem URL-a naš preglednik komunicira preko određenog protokola sa serverom gdje se zatražena stranica hosta. Server primi zahtjev i šalje HTML kod, naravno još neke stvari (CSS fajlove, JS biblioteke, slike…), našem pregledniku, zatim potonji tim HTML kod-om “pozloži” kako prezentacija treba da izgleda. Ovo je primjer kada imamo čiste client – side jezike. Kakva je situacija sa server – side tehnologijama, u našem slučaju ASP.NET?, saznati će te samo ako ostanete na ovom mom blogu.

U gornjem paragrafu sam objasnio kako to približno funkcionira kada je riječ o klijentskim tehnologijama, a sada idemo sve to malo zakomplikovati sa serverskim tehnologijama.

Prije svega, postavlja se pitanje zašto bi koristili server – side tehnologije. Klijentske tehnologije, mogu naše Web sajtove učiniti dosta dinamičnim, ali neke stvari jednostavno ne možemo realizirati bez server – side tehnologije. Recimo, slanje elektronske pošte preko naše Web stranice, pristup bazama podataka… je ne moguće zamisliti bez server – side tehnologije.

Imamo više ovakvih tehnologija, a najpoznatije su: ASP.NET (koji ćemo mi obrađivati), PHP, Ruby On Rials, Python via Django, classic ASP, C via CGI, Java via JSP…
Prve dvije se najviše koriste.

Vratimo se na princip rada server – side tehnologije. Rekli smo kako to funkcionira sa klijentskim tehnologijama, sa serverskim nije puno teže, krenimo.

Kao prvo, niti jedan preglednik ne razumije serverske kontrole. Zbog toga na serverskom računaru gdje se hosta stranica moramo imati instaliran i konfiguriran server za tu tehnologiju. Recimo, za ASP.NET koristimo Internet Information Services (IIS), a, recimo, za PHP je najpoznatiji Apache. Šta su zapravo oni? Kao što sam rekao niti jedan preglednik ne razumije serverske kontrole, što znači da ih nekako prije “postbacka” istom moramo prevesti u pregledniku razumljiv kod (HTML, CSS, JS).

Kada zatražimo stranicu koja koristi neku serversku tehnologiju, nakon što server primi zahtjev, kod napisan u toj server – side tehnologiji se prevodi u kod koji razumije preglednik i ostatak postupka je isti kao što smo na početku objasnili.
Ukoliko vam sada stvari nisu baš najbolje jasne, nemojte da brinete, kada krenemo sa ASP.NET-om sve će vam postati jasno.
U idućem postu ćemo govoriti nešto o ASP.NET-u, koji su vam softverski alati potrebni i još po nešto, a nakon toga krećemo sa izradom Web Forma.
Hvala na čitanju!