Kurs Web Application Development – ASP.NET Core MVC

Kurs Web Application Development pokriva tehnike razvoja web aplikacija korišćenjem Microsoft tehnologije ASP.NET Core MVC. Izučava se princip rada Dependency Injection kontejnera, konfigurisanje protočne obrade zahteva – middleware i konfigurisanje servisa. 

Kao polaznik ovog kursa imaćete priliku da se, osim sa osnovnim pojmovima MVC softverskog okvira, upoznate i sa pojmovima kao što su bezbednost, rutiranje, lokalizacija, keširanje i klijentsko programiranje. Na taj način ćete steći sve neophodne tehnike za kreiranje i konfigurisanje bezbednih, modernih web aplikacija koje rukuju podacima.

Da biste efikasno učestvovali u praćenju nastave tokom ovog kursa, potrebno je da posedujete određena predznanja. Veštine koje su vam neophodne možete da steknete pohađanjem kurseva Introduction to Programming in C#, Uvod u HTML i CSS i Introduction to Web Application Development.

Na početku kursa upoznaćete se sa ultimativnom tehnologijom za razvoj web aplikacija ASP.NET Core MVC, saznati koje su njene prednosti i kako se koristi. Uz to, naučićete i da kreirate prve ASP.NET Core MVC aplikacije. Nakon toga očekuje vas deo kursa tokom koga ćete se upoznati sa radom na kontrolerima i filterima.

Zatim ćete saznati šta je dinamički sadržaj i na koji način se može dodati. U nastavku kursa fokus će biti na kreiranju modela, povezivanju i validaciji podatka, a nakon tog modula i na bezbednosti, odnosno implementaciji sigurnosti i sprečavanju eksternih napada. Kako kurs bude odmicao, upoznavaćete se sa rutiranjem u ASP.NET Core MVC i lokalizacijom, a posle toga i sa keširanjem sadržaja, odnosno klijentskim programiranjem. 

Osnovni cilj ovog kursa je da se svi polaznici nakon uspešno odslušanih predavanja pripreme za samostalno kreiranje, konfigurisanje i objavljivanje Microsoft web aplikacija. Stečena znanja kvalifikovaće vas kao stručnjaka u ovoj oblasti IT-ja i omogućiti vam da nastavite sa nadogradnjom svojih veština kako biste ostvarili što uspešniju karijeru.

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

Opis i cilj kursa Web Application Development

Cilj kursa je osposobljavanje polaznika za samostalno kreiranje, konfigurisanje i objavljivanje Microsoft Web aplikacija pomoću tehnologije ASP.NET Core.

Polaznik će nakon savladanog gradiva kursa moći detaljno da objasni MVC softverski okvir, generalno i u kontekstu ASP.NET Core aplikacije, kao i koncept dependency injectiona. Takođe, biće u stanju da kreira i objavi sopstvenu ASP.NET Core aplikaciju, na različitim platformama. 

Biće u stanju da unutar kreirane aplikacije koristi sve standardne elemente ASP.NET Core tehnologije, poput kreiranja MVC infrastrukture, rutiranja, filtriranja i slično, kao i da kombinuje statičke i dinamičke sadržaje pomoću kombinacija ASP.NET Core MVC kontrolera i strana pokretanih Razor endžinom. 

Moći će da obogati aplikaciju upotrebom kombinacije relacione baze podataka i sistema za objektno relaciono mapiranje i da poboljša performanse izvršavanja aplikacije keširanjem sadržaja. A pomoću stečenih znanja i podrške za lokalizaciju, ugrađene u ASP.NET Core okvir, polaznik će ovladati konceptima za lokalizaciju.  

Polaznik će upoznati i elementarne koncepte kreiranja REST servisnog okruženja pomoću tehnologije ASP.NET Core Web Api.

Nakon savladanih serverskih tehnologija, polaznik će tokom kursa takođe biti upoznat sa aktuelnim klijentskim tehnologijama karakterističnim za Microsoft web aplikacije, ali i druga okruženja. Znaće kako da se obraća elementima web strane, pomoću jQuery, JavaScript okvira i da pomoću istog okvira komunicira asinhrono sa serverom s ciljem dobavljanja podataka ili pripremljenog html sadržaja.

Korisnik će, osim pomenutih klijentskih tehnologija, detaljno proučavati i vodeću klijentsku web tehnologiju – Angular, kao i njoj bliske tehnologije: node.js i programski jezik TypeScript. Nakon čega, osim serverskih, biti u stanju da kreira i bogate klijentske aplikacije po savremenim standardima.

Potrebno predznanje

Podrazumeva se da polaznik poseduje predznanje kurseva Introduction to Programming in C#, Uvod u HTML i CSS i Introduction to Web Application Development.

Kurs Web Application Development će vam odgovoriti na pitanja:

1. Šta je to MVC?

Ova skraćenica danas je nezaobilazna u gotovo svim vrstama programa. Ona označava podelu programa na tri dela: model, pogled i kontroler (model, view, controller). Ova podela donosi mnogo olakšica prilikom izgradnje programa, dok krajnji korisnici najčešće nisu svesni njenog postojanja. Model se odnosi na podatke koje program koristi tokom svog postojanja. Pogled je deo programa koji će korisnik imati priliku da vidi. To je najčešće neki grafički interfejs. A kontroler je deo programa koji spaja model i pogled, obezbeđujući da korisnik na kraju dobije smislen sadržaj – baš ono što je i tražio.

Podela programa olakšava njegovu bržu i efikasniju izradu, jer se različiti delovi mogu rasporediti različitim kreatorima programa, pa se na njima može raditi paralelno. Takođe, podela programa olakšava njegovo održavanje jer se lako mogu dodavati novi delovi ili modifikovati postojeći. 

2. Šta je ASP.NET Core?

Microsoft web tehnologije su trenutno veoma prisutne, naročito u velikim kompanijama. Okosnica ovih tehnologija je platforma ASP.NET. ASP.NET je set alata i funkcionalnosti za kreiranje web aplikacija na Microsoft platformi. Ovi alati i funkcionalnosti obuhvataju, na primer, sistem za obradu HTTP zahteva, rad sa HTTP sesijama, alate za autentifikaciju i autorizaciju, HTML šablone i slično. 

ASP.NET Core je platforma koja prevazilazi tehnološka ograničenja ASP.NET-a, jer omogućava izgradnju i izvršavanje ASP.NET-a izvan Microsoft operativnih sistema. Zahvaljujući platformi ASP.NET Core, Microsoft web aplikacije možemo praviti na gotovo svim operativnim sistemima (Linux, MacOS i naravno Windows). 

3. Čemu služi i šta je to TypeScript?

TypeScript je programski jezik. Ovaj jezik je strogo tipiziran, objektno orijentisan i sintaksno striktan. Rezultat prevođenja ovog jezika je JavaScript. 

TypeScript je prihvaćen u najpopularnijim JavaScript bibliotekama, poput biblioteka Angular i React, zbog čega se smatra nezaobilaznim sastojkom frontend developmenta.

Razlog za korišćenje TypeScripta su nedostaci JavaScripta u izvornom obliku. JavaScript nije strogo tipiziran. To znači da možemo napraviti podatak nekog tipa, a zatim taj tip promeniti u neki drugi (na primer, broj možemo implicitno pretvoriti u tekst). Ovakvo ponašanje može dovesti do grešaka u izvršavanju programa, a takve greške se teže reprodukuju i ispravljaju. TypeScript je takođe u potpunosti objektno orijentisan. Za razliku od JavaScripta, ovaj jezik poznaje nasleđivanje klasa, interfejse, apstraktne klase i njene članove i druge elemente koji olakšavaju rad i na koje su programeri već naviknuti iz drugih programskih jezika. 

TypeScript se prevodi u JavaScript. Prevođenje garantuje potpuno ispravan JavaScript kod, pa se smanjuje mogućnost grešaka u izvršavanju. Jer se one dešavaju tokom prevođenja.

Kurs Web Application Development

4. Šta je to REST API?

Aplikacije se danas najvećim delom izvršavaju na dva mesta. Klijentu i serveru. Klijent obično radi manje autoritativne operacije, dok server obezbeđuje ključne podatke za obavljanje tih operacija i manipuliše njima. U ovakvoj podeli, obično su kompletna grafika i njoj bliska logika na klijentu, dok na serveru grafike i nema. U ovakvom svetu, gde podaci imaju individualan tretman, razvili su se različiti protokoli za njihovu distribuciju i manipulaciju. Jedan od takvih protokola je i REST (Representational State Transfer). REST podrazumeva da se podaci transportuju putem HTTP protokola, ali da se HTTP protokol takođe koristi kako bismo serveru „rekli” šta želimo da uradimo sa podacima. Da li želimo da nam samo budu date neke informacije, da li želimo da pošaljemo serveru neke nove informacije, izmenimo ili obrišemo postojeće i slično.

REST je veoma fleksibilan. Može se pojavljivati u različitim oblicima i poštovati različita pravila, ali u osnovi podrazumeva da se jednom web adresom (url-om) predstavlja neki resurs, a da se HTTP metodama startuju operacije nad tim resursom. Ali čak i ukoliko se ovaj koncept u potpunosti poštuje, svaka aplikacija će zbog prirode svojih resursa imati specifičnosti u njihovoj manipulaciji. Način na koji pomoću REST protokola tretiramo resurse u nekoj aplikaciji (nazivi resursa, operacije koje nad njima možemo izvršavati i slično) naziva se API (Application Programming Interface).

5. Koje su slabe tačke u bezbednosti web aplikacija?

Kako se izvršavaju u mreži, web aplikacije su veoma izložene. Bilo ko može da im pristupi i da pokuša da ih iskoristi na nepredviđen način. Kao programeri, i mi snosimo odgovornost za takve aplikacije, i trebalo bi da jedna aplikacija bude takva da minimizuje mogućnost ovakvih pojava. 

Jedna od bezbednosno najkritičnijih tačaka u aplikaciji je baza podataka. Napadač koji se domogne baze podataka može napraviti ogromnu štetu programu. Najčešći napadi na bazu podataka, vrše se pomoću tehnike poznate kao SQL Injection. Ova tehnika podrazumeva pokušaj modifikacije SQL upita, tako da se u bazi izvrši operacija koja zapravo nije predviđena samom aplikacijom. 

Krađa sesije je takođe jedan od napada na aplikaciju. U generalnom obliku, ona podrazumeva da se jedan korisnik predstavi kao drugi korisnik. 

Obe pomenute tehnike mogu da se izvršavaju neprimetno, što ih čini opasnim. Ali postoje i druge tehnike koje se primećuju, ali su podjednako opasne, poput DOS (Denial Of Service) napada. U ovom napadu, šalje se mnoštvo zahteva na server na kome se aplikacija izvršava, što aplikaciju može opteretiti do nivoa nefunkcionisanja.

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

Node.js je platforma za izvršavanje JavaScript programa. Obično se koristi u konzolnom okruženju, a postoji za sve vodeće platforme (Windows, Linux i MacOS). Inicijalno, sadrži veliki broj modula, pretežno orijentisanih ka mrežnim i IO operacijama, ali, zahvaljujući velikoj podršci zajednice, moguće je doći i do mnoštva eksternih Node.js biblioteka različitih namena. 

Bez ove platforme danas je nezamisliv rad na Angular, React, Express i drugim aplikacijama. A takođe je već tradicionalna upotreba ove platforme u izgradnji aplikacija koje rade sa tehnologijama websocket ili long pooling.

7. Šta je Angular i čemu služi?

U modernim web aplikacijama često je klijent taj koji obavlja najveći deo posla. Ovaj posao, zahvaljujući performansama browsera, više ne mora biti trivijalan poput validacije polja ili jednostavnih animacija, već može biti veoma kompleksan, poput izvršavanja kompletne aplikativne logike, učitavanja šablona strana, dobavljanja podataka, kompleksnih animacija i slično. U zavisnosti od tipa aplikacije, razvijene su različite platforme za njihovo izvršavanje.

Od platformi za kreiranje i izvršavanje igara, do platformi za kreiranje i izvršavanje poslovnih aplikacija. Takva platforma je i Angular. U pitanju je okvir za izvršavanje web aplikacija/sajtova na klijentskoj strani. Ova platforma olakšava proizvodnju aplikacija, jer su osnovni problemi u njoj već rešeni. Programer ne mora da razmišlja o tome da li će aplikacija raditi na različitim platformama, niti kako će raditi, već može da se fokusira na probleme specifične za aplikaciju. Angular aplikacije se lako kreiraju, brzo se izvršavaju, a imaju i dobru podršku zajednice, pa je veoma lako doći do rešenja za gotovo svaki problem.

Plan i program predavanja:

1. Uvod u ASP.NET Core MVC

  • Uvod u ASP.NET Core MVC 
  • Kreiranje prve ASP.NET Core MVC aplikacije 

2. Kontroleri

  • Rad sa kontrolerima 
  • Šta su filteri i kada se koriste? 

3. Pogledi

  • Rad sa pogledima 
  • Dodavanje dinamičkog sadržaja pogledima 
  • Stilizacija pogleda 

4. Modeli

  • Uvod u kreiranje modela 
  • Objektno-relaciono mapiranje 
  • Povezivanje podataka 
  • Validacija podataka 

5. Bezbednost

  • Implementacija sigurnosti 
  • Sprečavanje eksternih napada 

6. Rutiranje

  • Rutiranje u ASP.NET Core MVC aplikaciji 
  • Upoznavanje sa pojmom oblasti u ASP.NET MVC aplikaciji 

7. Lokalizacija

  • Upoznavanje sa pojmom lokalizacije 

8. Keširanje

  • Keširanje sadržaja 

9. Klijentsko programiranje

  • Uvod u klijentsko programiranje 
  • Šta je i kada se koristi jQuery? 
  • Web API
  • Okruženje Node.js 
  • Programski jezik TypeScript
  • Uvod u Angular 
  • Elementi Angular aplikacije
  • Rad sa podacima u Angular aplikaciji
  • Rad u servisnom okruženju

Kurs Web Applications Development

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok je otvoren!

Da saznate sve o upisu, kliknite ovde