Kurs Web Application Development – ASP.NET Core MVC

Kurs Web Application Development – ASP.NET Core pokriva tehnike razvoja web aplikacija korišćenjem Microsoft tehnologije ASP.NET Core. Akcenat je na razvoju aplikacija koje se zasnivaju na MVC arhitekturalnom softverskom šablonu, ali i na kreiranju REST servisa i njihovom korišćenju upotrebom softverskog okvira Angular.

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

Opis i cilj kursa Web Application Development

Polaznici na ovom kursu imaju priliku da se, osim sa osnovnim postulatima softverskog okvira ASP.NET Core, upoznaju i sa pojmovima kao što su bezbednost, rutiranje, lokalizacija, keširanje i klijentsko programiranje. Na taj način polaznici upoznaju sve tehnike neophodne za kreiranje i konfigurisanje bezbednih, modernih web aplikacija koje rukuju podacima.

Na početku kursa Web Application Development – ASP.NET Core polaznici se upoznaju sa ultimativnom tehnologijom za razvoj web aplikacija ASP.NET Core MVC, saznaju koje su njene prednosti i kako se ona koristi. Uz to, polaznici se upoznaju sa osnovnim okruženjem u kome postoje web aplikacije, pri čemu se prevashodno misli na WWW servis i HTTP protokol.

Tokom trajanja kursa ilustrovan je razvoj jedne realne web aplikacije. Sa svakom novom lekcijom mogućnosti takve aplikacije se proširuju. Prilikom rada na takvoj aplikaciji, kako kurs odmiče, polaznici se upoznaju sa principima za kreiranje kontrolera, modela i pogleda, ali i sa pristupima za realizaciju bezbednosti i sprečavanje eksternih napada. Stilizacija takve web aplikacije u kursu je obavljena korišćenjem Bootstrapa.

Kurs Web Application Development – ASP.NET Core ilustruje i pristupe za lokalizaciju web aplikacija, što polaznicima omogućava da kreiraju aplikacije koje se prilagođavaju jeziku i regionu korisnika. Obrađeni su i različiti pristupi za keširanje, što na kraju omogućava razvoj web aplikacije visokih performansi.

Poslednja celina kursa posvećena je kreiranju REST servisa posredstvom softverskog okvira ASP.NET Core. Realizacija klijentske logike aplikacija koje koriste takve REST servise u kursu je obavljena korišćenjem jednog od najznačajnijih softverskih okvira frontend razvoja koji se zove Angular. Polaznici imaju prilike da čitaju o osnovnoj strukturi Angular okvira i da nauče kako se kreiraju i koriste Angular moduli, komponente, šabloni i direktive. Priča o Angularu propraćena je i izučavanjem osnova programskog jezika TypeScript, Node.js izvršnog okruženja i npm menadžera paketa.

Cilj kursa je osposobljavanje polaznika za samostalno kreiranje, konfigurisanje i objavljivanje web aplikacija pomoću tehnologije ASP.NET Core. Polaznik se detaljno upoznaje sa softverskim okvirom MVC, teoretski, ali i praktično prilikom realizacije ASP.NET Core MVC aplikacija. Polaznici se osposobljavaju i za kreiranje REST API kontrolera, ali i za njihovo korišćenje upotrebom softverskog okvira Angular.

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:

Modul 1 – Uvod

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

Modul 2 – Kontroleri

  • Rad sa kontrolerima
  • Filteri

Modul 3 – Pogledi

  • Rad sa pogledima
  • Dodavanje dinamičkog sadržaja pogledima
  • Stilizacija pogleda korišćenjem Bootstrapa

Modul 4 – Modeli

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

Modul 5 – Bezbednost

  • Implementacija sigurnosti
  • Sprečavanje web napada

Modul 6 – Rutiranje

  • Rutiranje u ASP.NET Core aplikaciji
  • Oblasti

Modul 7 – Lokalizacija

  • Lokalizacija

Modul 8 – Keširanje

  • Keširanje sadržaja

Modul 9 – Angular i ASP.NET Core

  • Uvod u klijentsko programiranje
  • Angular instalacija i osnove
  • TypeScript iz ugla Angulara
  • Angular moduli i komponente
  • Angular šabloni i direktive
  • Rad sa podacima 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