понедељак, 12. фебруар 2018.

Uvod u ASP .Net

Tačno je da sam započeo tutorijal za ASP .Net MVC tehnologiju, jer se ona uglavnom i koristi dok se ASP .Net tehnologija sve manje upotrebljava. Međutim, kada hoćete nekome da objasnite  ASP .Net MVC dolazite u konfliktnu situaciju jer se mnoge bitne stvari uče kroz ASP .Net tehnologiju. I samo zbog toga kroz svoj blog ću pokrenuti i starije tehnologije da svi vi koji učite C# programski jezik nemate propuste koje vam u budućnosti mogu kočiti vaš progres ili vas čak koštati posla. Znači, ako sebi pravite neki bitan projekat, pravite ga u novijim tehnologijama, ali učite i stare tehnologije detaljno i profesionalno. Šta je ASP .Net i koja je razlika između ASP .Net i ASP .Net MVC će vam biti jasnija ako pročitate uvode na mom blogu za obe tehnologije. ASP .Net – Active ServerPages .Net je Microsoft-ova platforma koja vam omogućava da pravite i razvijate dinamičke veb sajtove, veb aplikacije i veb servise. Ova platforma se najčešće koristila kada pravite virtualne prodavnice i kad pravite portale bazirane na mnoštvom podataka. Zahvaljujući ASP .Net tehnologiji; veb programeri ne moraju da pišu i spajaju gomilu HTML i skript koda. ASP .Net takođe ima prednost u performansama i na spram Python i Ruby programskog jezika. Može da se koristi i na Linux operativnom sistemu kao open-source u svojoj Mono i .Net Core verziji. U svakom slučaju ova tehnologija ima podršku Microsoft korporacije, velikih kompanija i učenje vašeg C# programskog jezika kroz ASP .Net će biti definitivno bogatije. Ali krenimo redom da prvo vidite kako se došlo do ASP .Net-a.


( Microsoft-ova ASP .Net tehnologija )

I pored toga što je Internet nastao krajem šezdesetih godina, njegova komercijalna primena je počela početkom devedesetih. Prvi sajtovi su uglavnom bili fiksne HTML stranice koje su se ažurirale ručno. HTML 2.0 je uveo osnovne elemente veb programiranja kroz HTML forme tako što su uveli tagove za grafičke dodatke, kontrole. To je omogućilo programerima da mogu kreirati standardne stranice za unos podataka. Svi podaci sa kontrola se prosleđuju kao jedan veliki String veb serveru i veb aplikacija na stranici servera obrađuje podatke. Ovaj princip je i danas osnova za kreiranje ASP .Net stranica. Pre su veb serveri koristili CGI – Common Gateway Interface standard, što znači da su morali da pokrenu novu i zasebnu instancu za svaki primljeni zahtev. Serveri su morali da obrade stotine odvojenih kopija jedne aplikacije. Korišćenje baza podataka i njihov prikaz je zahtevalo pisanje ogromnog koda od nule. Zato je Microsoft kreirao razvojnu platformu višeg nivoa ASP koja je omogućila kreiranje dinamičkih veb stranica bez petljanja sa detaljima nižeg nivoa. Ali je takođe bio zasnovan na skriptama. I pored toga što je ASP prevazišao očekivanja i samog Microsoft-a, dizajn ASP tehnologije nije bio dovoljno razvijen i planiran za mnoge oblasti. Ali kod ASP  tehnologije, nastali su veliki problemi sa performansama, zaštitom i konfigurisanjem. Zato je napravljen ASP .Net koji je prevazišao sva prethodna ograničenja baziranjem svoje platforme na objektno orjentisani programski model i odmah doživeo ogroman uspeh i pored toga što su programeri dali veću važnost klijentskoj strani i sve više su ugrađivali minijaturne aplete u svoje veb stranice razvijene u ActiveX-u, Java-i, JavaScript-u i Flash-u. Znači, korisnicu su skidali celu veb aplikaciju u svoj računar i izvršavali je u lokalu. Međutim, tada je nastao komplikovan problem sa kompatabilnosti veb čitača; programeri su bili prisiljeni da testiraju svoje veb aplikacije i sa veb čitačima ali i pod različitim operativnim sistemima i da konstantno distribuiraju ažurirane dodatke za različite veb čitače svim svojim klijentima. ASP .Net nema tih komplikacija jer je apsolutno serverska tehnologija. Jednostavno, sav kod se izvršava na serveru i vraća se korisniku u obliku HTML jezika. ASP .Net tehnologija vam omogućava primenu HTML umesto XHTML jezika, koja jeste dobra kad želite na brzinu da preuzmete HTML stranice i pretvorite iste u ASP .Net obrasce; ali to se u praksi retko radi jer bi ste te imati kasnije probleme sa AJAX-om i čitavom grupom tehnologija. Zato je u ASP .Net-u akcenat na XHTML jeziku.   

Koje su još prednosti ASP .Net-a?


Pre svega svaka prednost serverske tehnologije na spram tehnologija na strani klijenta jeste prednost ASP .Net-a. Pojavom mobilnih telefona, tableta i PDA računara čiji veb čitači ne podržavaju opcije klasičnih veb čitača, iz tog razloga se zovu “Laki“ klijenti; ne podržavaju opcije poput JavaScript-a ali itekako podržavaju serverske veb aplikacije poput  ASP .Net-a. Klijentska aplikacija jako teško pristupa sadržaju datoteka ili baza podataka koji se nalaze na serveru uz velike probleme po pitanju kompatabilnosti i zaštite. Još kad neki Hacker otkrije kako program radi u klijentu, lako može uneti neželjene izmene. Zato je poželjno da vaši projekti rade na strani servera. ASP .Net bez obzira na svoje serversko izvršavanje ne izbacuje upotrebu i klijentskog code-a poput JavaScript-a i AJAX-a istovremeno na strani klijenta što veb projekte i sajtove čini još praktičnijim i boljim. Do sada, dok pišem ovaj post; najnovija verzija ASP .Net-a je verzija 4.0; koja je izašla 10 aprila 2010 dok su kasnije verzije nastavljene pod nazivom ASP .Net Core čija je i svrha promenjena u besplatan open-source web framework.

  • Prva verzija ASP.Net-a; 16 januara 2002 godine je donela osnovu i širok spektar najbitnijih opcija ASP .Net-a. Programeri više nisu morali da koriste Server.CreateObject(…) već su mogli da koriste već kompajlirane datoteke *.dll.

  • ASP .Net verzija 1.1; realizovana 24 aprila 2003 godine je specifična po tome što joj je dodata mogućnost automatske validacije unosa. Takođe su dodati novi elementi za podešavanje performansi i otklanjanje grešaka. 
  • ASP .Net verzija 2.0 donela je mnoštvo novih opcija poput podrške za veb navigaciju, standardizaciju izgleda veb stranice i pojednostavljivanje izdvajanja informacija iz baza podataka. Uvedene su nove kontrole DatailsView, GridView i FormView. I što je najbitnije, ASP .Net platforma od verzije 2.0 podržava 64-bitne procesore.

  • ASP .Net 3.5 verzija je zadržala osnovni mehanizam prethodne verzije, ali je uvela najznačajnije promene u uvođenju ASP .Net AJAX alatki. Uvedene su nove kontrole ListView i DataPager. Data je podrška LINQ-u.

  • ASP .Net 4.0 verzija je donela sve paralelne ekstenzije sa .Net Framework 4 mogućnostima.

Kako se kreira ASP .Net aplikacija?

Posle neki uopštenih informacija o ASP .Net-u koje trebate znati, prelazimo sa teoretskog na lakši tj. praktičniji pristup ASP .Net  platformi. Pokrenite Visual Studio 2017 Community, kliknite na New, zatim Project. Sa desne strane prozora izaberite Web i odaberite ASP .NET Web Application (.Net Framework) i pritisnite OK.


Kad vam se otvori novi prozor, izaberite Web Forms aplikaciju, takođe čekirajte Web Forms i isključite MVC ako je čekiran. Sa desne strane imate dugme Change Authentication. Kliknite na navedeno dugme i izaberite Individual User Account. Pritisnite OK i zatim opet pritisnite OK i sačekajte da se vaš projekat u potpunosti kreira.  




Isključite prozor kojeg vidite tako što ćete na Tab-u od prozora kliknuti na malo dugme x. Otvorite Solution Explore ili pritisnite CTRL+ALT+L. Obratite pažnju u Solution Explore na sve direktorijume i datoteke koje je VS dodelio vašem projektu da bi vam olakšao izradu vaše ASP .Net aplikacije.


Kliknite na datoteku Default.aspx. Pogledajte code i izbrišite deo koda da izgleda ovako:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="HelloWorld_Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

    <div class="jumbotron">
        <h1>My first ASP.NET application !!!</h1>
         
    </div>
  
</asp:Content>

Zatim pogledajte na dnu VS IDE-a sve tri kategorije prozora: Design, Split i Source. Kliknite na Design prikaz prozora. Videće te da kursor treperi iza teksta My first ASP:NET application !!! . Kliknite na Enter. Otvorite prozor ToolBox ili pritisnite CTRL+ALT+X. Kliknite dvaput na Label kontrolu. Zatim dva puta kliknite Enter i kliknite dvaput na Button kontrolu.


Pređite u prikaz Source i izmenite code da izgleda ovako:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestHelloWorld2._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

    <div class="jumbotron">
        <h1>My first ASP.NET application !!!</h1>
        
        <br />
        <asp:Label ID="Label1" runat="server"></asp:Label>
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" Text="Click Me!" />
        
    </div>
  
</asp:Content>

Zatim opet pritisnite na kategoriju Design prozora. Kliknite na Button dvaput da kreirate događaj Button1_Click i zatim unesite ovu liniju code-a u C# programskom jeziku:

protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Hello, World!";

}    

Pokrenite aplikaciju sa F5. Zatim pritisnite na dugme Click Me!



Kako to sve izgleda možete pogledati i na video-u:


 ( ASP .Net - 1#. Hello World )