Kurs Introduction to Microsoft Web Development

Web development, tj. razvoj internet softvera predstavlja skup poslova koji se obavljaju tokom rada na razvoju web-sajta ili neke aplikacije za internet. Razvoj podrazumeva jednostavnije operacije poput izrade statičke web-stranice do rada na složenih web-aplikacija. Sve je to moguće zahvaljujući globalnoj mreži. 

Internet, tj. World Wide Web, predstavlja kolosalnu mrežu svih mreža koja povezuje brojne mašine koje se mogu klasifikovati na dva tipa: serveri i klijenti. Mreža funkcioniše tako što mašine koje zahtevaju određene informacije (klijenti) njih dobijaju od strane mašina koje ih poseduju i čuvaju (serveri).

Komunikacija između njih je uslovljena skupom pravila koja se nazivaju protokoli. TCP/IP (Transmission Control Protocol/Internet Protocol) je osnovni komunikacioni jezik i protokol na internetu. On takođe može da se koristi kao komunikacioni protokol za privatnu mrežu. Celokupna razmena podataka preko svetske globalne mreže zasniva se na TCP/IP protokolu. 

Za komunikaciju između web pregledavača, web servera i web aplikacije koristi se HTTP (Hypertext Transfer Protocol). Reč je o request-response protokolu, što znači da se njegov način funkcionisanja zasniva na međusobnom smenjivanju zahteva i odgovora između klijenta i servera. 

Jezik koji se koristi za kreiranje dokumenata na World Wide Webu je HTML (HyperText Markup Language) jezik. Reč je o opisnom jeziku namenjenom za opis web stranica. Da biste uspešno savladali ovaj kurs i postali uspešan programer, potrebno je da posedujete predznanje kurseva Introduction to Programming in C# i Uvod u HTML i CSS.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Microsoft Windows Development ProgramMicrosoft Web Development Program i Microsoft Development Program.

Opis i cilj kursa Introduction to Microsoft Web Development

Tokom kursa Introduction to Microsoft Web Development, koji možete pohađati online ili tradicionalno – u učionici, a koji je deo pripadajućih programa, upoznaćete se sa svim potrebnim detaljima za razvoj internet softvera. Kurs ima za cilj da osposobi polaznika za samostalno kreiranje, konfigurisanje i objavljivanje web aplikacija baziranih na Microsoft .NET tehnologiji. 

Ključna tema ovog kursa su ASP.NET i ASP.NET Core biblioteke. Microsoft ASP.NET je set alata i tehnologija za razvoj interaktivnih, dinamičkih web aplikacija koje rukuju podacima preko interneta. Korišćenjem ASP.NET-a moguća je upotreba dve tehnologije za razvoj web aplikacija na Windows platformi: ASP.NET Web Forms i ASP.NET MVC. ASP.NET Core – unapređena verzija ASP.NET platforme sa podrškom za druge sisteme (MacOS i Linux). Ova tehnologija se upotrebljava za razvoj ASP.NET Core MVC aplikacija.

Kurs pokriva osnovne aspekte razvoja web aplikacija korišćenjem ASP.NET Core MVC web tehnologije i tehnologiju ASP.NET Web Forms.

Predstavljaju se HTML forme i HTML elementi koji se koriste za kreiranje kontrola forme. Posebna pažnja posvećuje se razvoju klijentskog dela web aplikacije korišćenjem JavaScript jezika, biblioteke jQuery i AJAX zahteva. Obrađuje se upotreba kolačića, sesionog i lokalnog skladišta, kao i dependency injection patern (DI), uvodi se pojam servisa i middleware komponente.

Izučava se rad sa statičkim fajlovima kod .NET Core web aplikacija. Takođe, vrši se praćenje korisnika posredstvom sesije. Kurs se izvodi uz upotrebu alata Visual Studio i Visual Studio Code

Posebna pažnja posvećena je uvodu u AJAX (Asynchronous JavaScript and XML). AJAX je skup međusobno povezanih tehnologija koje se koriste za asinhronu komunikaciju sa serverom i poboljšanje korisničkog iskustva pri korišćenju web aplikacija. AJAX je neizostavan gradivni blok za razumevanje i upotrebu klijentskih okvira poput Angulara, Reacta i drugih.

Kurs Introduction to Microsoft Web Development će vam odgovoriti na pitanja:

1. Šta je web programiranje?

Svi programi funkcionišu tako što prihvataju neki ulaz i rezultiraju nekim izlazom, a razlikuju se po tipovima ulaznih i izlaznih podataka i načinima njihovog unosa, obrade ili prezentacije. Kod tradicionalnih programa, ulaz u program se vrši pomoću tastature, miša, skenera i raznih drugih perifernih uređaja, a izlaz je monitor, štampač ili neki lokalni medijum. Kod web aplikacija, ulaz u program i izlaz iz njega mogu se obaviti i putem mreže, pa tako i u samom izvršavanju programa može učestvovati više računara. Razvoj ovakvih programa naziva se web programiranje i ono podrazumeva upravljanje mrežnim i aplikativnim protokolima, kao i različitim tehnologijama koje se moraju angažovati kako bi neki ulaz u aplikaciju bio pretvoren u očekivani izlaz. 

Veliki broj faktora koji utiču na izvršavanje jedne web aplikacije, česte tehnološke izmene, platformske različitosti i različita izvršna okruženja čine ovu vrstu programiranja izazovnim i interesantnim.

2. Kako se prave web aplikacije na Microsoft tehnologijama?

Microsoft, kao i ostale tehnologije koje pokrivaju sferu razvoja web aplikacija, moraju poštovati utemeljene standarde: TCP i HTTP protokole, HTML prezentaciju strana, CSS stilizaciju i slično. Ovo su pojmovi od kojih nije moguće odstupiti kako bi standardi web aplikacija bili poštovani. 

Microsoft nudi različite opcije za realizaciju web aplikacija u skladu sa pomenutim standardima. Od najosnovnijeg upravljanja tcp i udp soketima, preko pomagala sa ugrađenom HTTP podrškom, sve do kompletnih platformi za bogate, brze i funkcionalne poslovne web aplikacije.

Tehnologija Web Forms jeste brza i efikasna platforma, koja programerima već naviknutim na razvoj desktop grafičkih aplikacija omogućava brz i transparentan pristup razvoju web aplikacija. 

Tehnologija ASP.NET MVC nudi mogućnost razvoja web aplikacija na Microsoft platformi, kroz univerzalne koncepte MVC-a, dok ASP.NET Core, osim pomenutog, omogućava multiplatformski razvoj i distribuciju Microsoft Web aplikacija.

3. Šta je to ASP.NET?

ASP.NET (Active Server Pages) jeste Microsoft okvir za kreiranje web aplikacija, korišćenjem .NET platforme. S obzirom na to da se sve web aplikacije izvršavaju delom na serveru, a delom na klijentu, te da se, autoritativni deo, gotovo uvek izvršava na serveru, ovaj deo se obično kreira proverenom tehnologijom koja je dovoljno moćna da opsluži često veliki broj mrežnih zahteva. U ASP.NET-u, ova tehnologija je CLR (Common Language Runtime) – Microsoft platforma za izvršavanje .NET programa. .NET programi postoje u formi jezika Intermedia Language, a rezultat su prevođenja nekog od mnoštva programskih jezika podržanih .NET prevodiocima.

Kurs Introduction to Microsoft Web Development

4. Šta su to web forme?

Web Forms je jedna u nizu Microsoft tehnologija za kreiranje web aplikacija. Ova tehnologija omogućava kreiranje kompletne aplikacije u vizuelnom maniru – prevlačenjem različitih kontrola na web stranu i uvođenjem njihove funkcionalnosti pomoću grafičkog interfejsa. Web forme svaku stranu tretiraju kroz dva fajla. Jedan je HTML, a drugi fajl pozadinskog koda (code behind). Okruženje obezbeđuje i održava vezu između ova dva fajla, a programeru omogućava jednostavan i brz razvoj, bez bavljenja detaljima.

5. Šta je JavaScript i čemu služi?

Svaka web aplikacija izvršava se na dva mesta. Jedno je klijent, a drugo server. Serverski deo aplikacije moguće je realizovati pomoću različitih tehnologija po izboru, sve dok je konačni rezultat izvršavanja html. Na klijentskom delu web aplikacije (u browseru) ne postoji tako širok spektar dostupnih tehnologija za razvoj, već je on ograničen samo na jedan jezik – JavaScript.

Pomoću JavaScripta radimo sve ono što na serveru inače ne možemo. Jednom kada server napravi html dokument, on ga isporučuje klijentu i više nema uticaja na sadržaj. Tada nastupa JavaScript, pomoću koga možemo dalje kontrolisati dokument, manipulisati njegovim sadržajem ili komunicirati sa serverom.

6. Šta je to AJAX i čemu služi?

Kako su klijentski i serverski deo web aplikacije razdvojeni, veoma je bitno da serverski deo obezbedi sve što je potrebno pre nego što sadržaj konačno pošalje dalje – klijentu. Kod modernih web aplikacija klijentski deo često komunicira sa serverom i nakon što je sadržaj isporučen. Ovo se postiže pomoću posebne oblasti JavaScripta koja se naziva Asinhroni JavaScript i XML (AJAX).

7. Na kojim se sve sistemima mogu izvršavati Microsoft web aplikacije?

Microsoft web aplikacije su isprva podrazumevale izvršavanje isključivo na Microsoft Windows platformama. Neke od tehnologija i dalje zahtevaju isključivo ovu platformu kako bi funkcionisale ispravno. Novije Microsoft tehnologije nemaju ovo ograničenje i moguće je izvršavati ih i na drugim popularnim platformama, poput operativnih sistema Linux i MacOS. Tehnologije .NET Core i ASP.NET Core podržavaju multiplatformsko izvršavanje. Hostovanje ASP.NET Core web aplikacija je moguće pomoću Kestrel servera, koji je takođe multiplatformski podržan. 

Osim višesistemskih platformi za izvršavanje, Microsoft takođe nudi i okruženja za izgradnju, koja se mogu izvršavati na različitim sistemima, pa je moguće kreirati aplikacije u alatima Visual Studio i Visual Studio Core, na operativnim sistemima Microsoft, Linux i MacOS.

Plan i program predavanja

1. Uvod Web App Development

  • Uvod u Web programiranje
  • Uvod u ASP.NET
  • Kreiranje prve web aplikacije

2. Osnove razvoja web aplikacija korišćenjem Web Forms tehnologije

  • Serverske kontrole
  • Dodavanje funkcionalnosti Web formama
  • Rukovanje događajima
  • Rukovanje stanjem

3. Rukovanje greškama, tracing i debug

  • Rukovanje greškama
  • Tracing

4. Definisanje izgleda i navigacije

  • Stilizacija i teme
  • Master strane
  • Navigacija

5. Rad sa podacima

  • Osnove rada sa podacima
  • Validacija podataka
  • Povezivanje podataka
  • Kontrole za rad sa podacima

6. Bezbednost

  • Osnove bezbednosti
  • Membership
  • Korisnički profili

7. ASP.NET AJAX

  • Uvod u AJAX
  • ASP.NET AJAX kontrole

8. Konfigurisanje i objavljivanje

  • Rad sa konfiguracionim fajlovima
  • Podešavanje servera i objavljivanje aplikacije 

9. Uvod u ASP.NET Core

  • Uvod u ASP.NET Core
  • Kreiranje ASP.NET Core aplikacije
  • Upotreba Razor šablona
  • Rad sa podacima u ASP.NET Core aplikacijama
  • Razvoj klijentskih delova

Kurs Introduction to Microsoft Web Development