Razvoj modernih veb-aplikacija

Ova knjiga vam nudi mogućnost da razumete kako se razvijaju moderne veb-aplikacije. Počevši od osnovnih koraka, gde ćete saznati šta se dešava kada pregledač pošalje zahtev ka nekom veb-serveru, kako veb-server obrađuje zahtev i prikazuje podatke u pregledaču, stići ćete do naprednih koncepata, kao što su razlika između serverskih i klijentskih veb-aplikacija, principi rada SPA aplikacija, veb-utičnica, WASM tehnologije i slično. Upoznaćete se sa tehnikama koje se standardno koriste u veb-aplikacijama, među koje se ubrajaju: komunikacija sa veb-servisima pomoću AJAX zahteva, komunikacija sa bazama podataka pomoću ORM frejmvorka, keširanje podataka, inverzija kontrole, kao i sa različitim dizajn šablonima: MVC, MVP, MVVM, a sve to na primerima modernih jezika i biblioteka.
Pred vama su osnovna znanja o programiranju koja će vam biti od velike pomoći u daljoj karijeri. Pošto se upoznate sa svim aspektima veb-programiranja, moći ćete da odaberete svoj put usavršavanja i ostvarite se u ulozi frontend programera, backend programera ili full-stack developera.

Sadržaj

Uvod
Prvi deo
Osnove
1. Internet
Internet mreža
Intranet
Adrese računara
Privatne adrese
Domenska imena
Portovi
Identifikatori resursa (URI)
URI parametri
URI fragmenti
HTTP protokol
HTTP metode
HTTP statusi
Sigurnost
Serverski sertifikati
Ključevi
Šifrovanje saobraćaja
Preuzimanje identiteta
Zaključak

2. HTML i struktura informacija
HTML jezik
Tekstualne strukture
Kreiranje veb-strana
Atributi HTML elemenata
Hipertekst
Složene strukture podataka
Multimedijalni sadržaji
HTML formulari
Blokovi
Zaključak

3. Stilizovanje strana pomoću CSS pravila
CSS pravila
Stilovi
CSS selektori
Raspored elemenata
Proširenja CSS jezika (Less i SaSS)
Stilizovanje Twitter Bootstrap bibliotekom
Stilovi
Raspored elemenata
Komponente
Zaključak

4. JavaScript
Osnove JavaScript jezika
Model dokumenta (DOM)
Obrada događaja
JavaScript biblioteke
Moduli – savremene JavaScript biblioteke
Komponente
Tabele (JQuery DataTable)
Stabla (jsTree)
Dijalozi (Bootstrap, JQuery UI)
Zaključak
Drugi deo
Serverske veb-aplikacije
5. Serverske veb-aplikacije
Razvoj veb-aplikacija
Veb-serveri
Node.js veb-server
ASP.Net veb-server
Serveri statičkih veb-strana
Nginx server
Node.js server statičkih strana
ASP.NET server statičkih strana
Serviranje dinamičkog sadržaja
Rutiranje HTTP zahteva
Podaci u veb-aplikacijama
Šablonski prikazi
CMS aplikacije
Pristup bazama podataka
Dapper.NET
Entity frejmvork
Arhitekture serverskih veb-aplikacija
Troslojna arhitektura veb-aplikacija
Kontroler prikaza
Dizajn zasnovan na komponentama
Dizajn zasnovan na modelima
Keširanje podataka
Zaključak

6. Veb-servisi
Implementacija veb-servisa
OData
GraphQL
Opisivanje interfejsa veb-servisa
Sigurnost veb-servisa

7. Veb-strane sa prezentacionom logikom
Implementacija naprednih JavaScript funkcionalnosti
Šablonski prikazi u JavaScript kodu
Objektni model dokumenta strane (DOM)
Vue
React
Angular
Povezivanje podataka
JavaScript prezentacione komponente
Eksterne biblioteke
Vue komponente
React komponente
Angular komponente
Asinhrona obrada zahteva
Obećanja
Posmatrači
Asinhrono učitavanje podataka (AJAX)
Veb-utičnice (WS)
Implementacija veb-utičnica u .NET tehnologiji (SignalR)

Treći deo
Implementacija klijentskih veb-aplikacija
8. Klijentske JavaScript aplikacije (SPA)
Projektno okruženje
Upravljanje komponentama
Proširenja komandnog interfejsa
Arhitektura klijentskih aplikacija
Angular komponentna arhitektura
Komponente
Servisi
Arhitekture zasnovane na stanju
Linearni tok kontrole (Flux frejmvork)
Moderne arhitekture zasnovane na stanju (Redux, NgRx)
Rutiranje
Zaključak

9. Aplikacije učitane u pregledaču
Web Assembly (WASM)
Projekti
Blazor 2
Zaključak

10. Naredni koraci