Ова књига вам нуди могућност да разумете како се развијају модерне веб-апликације. Почевши од основних корака, где ћете сазнати шта се дешава када прегледач пошаље захтев ка неком веб-серверу, како веб-сервер обрађује захтев и приказује податке у прегледачу, стићи ћете до напредних концепата, као што су разлика између серверских и клијентских веб-апликација, принципи рада SPA апликација, веб-утичница, WASM технологије и слично. Упознаћете се са техникама које се стандардно користе у веб-апликацијама, међу које се убрајају: комуникација са веб-сервисима помоћу AJAX захтева, комуникација са базама података помоћу ORM фрејмворка, кеширање података, инверзија контроле, као и са различитим дизајн шаблонима: MVC, MVP, MVVM, а све то на примерима модерних језика и библиотека.
Пред вама су основна знања о програмирању која ће вам бити од велике помоћи у даљој каријери. Пошто се упознате са свим аспектима веб-програмирања, моћи ћете да одаберете свој пут усавршавања и остварите се у улози frontend програмера, backend програмера или full-stack developera.
Садржај
Увод
Први део
Основе
1. Интернет
Интернет мрежа
Интранет
Адресе рачунара
Приватне адресе
Доменска имена
Портови
Идентификатори ресурса (URI)
URI параметри
URI фрагменти
HTTP протокол
HTTP методе
HTTP статуси
Сигурност
Серверски сертификати
Кључеви
Шифровање саобраћаја
Преузимање идентитета
Закључак
2. HTML и структура информација
HTML језик
Текстуалне структуре
Креирање веб-страна
Атрибути HTML елемената
Хипертекст
Сложене структуре података
Мултимедијални садржаји
HTML формулари
Блокови
Закључак
3. Стилизовање страна помоћу CSS правила
CSS правила
Стилови
CSS селектори
Распоред елемената
Проширења CSS језика (Less и SaSS)
Стилизовање Twitter Bootstrap библиотеком
Стилови
Распоред елемената
Компоненте
Закључак
4. JavaScript
Основе JavaScript језика
Модел документа (DOM)
Обрада догађаја
JavaScript библиотеке
Модули – савремене JavaScript библиотеке
Компоненте
Табеле (JQuery DataTable)
Стабла (jsTree)
Дијалози (Bootstrap, JQuery UI)
Закључак
Други део
Серверске веб-апликације
5. Серверске веб-апликације
Развој веб-апликација
Веб-сервери
Node.js веб-сервер
ASP.Net веб-сервер
Сервери статичких веб-страна
Nginx сервер
Node.js сервер статичких страна
ASP.NET сервер статичких страна
Сервирање динамичког садржаја
Рутирање HTTP захтева
Подаци у веб-апликацијама
Шаблонски прикази
CMS апликације
Приступ базама података
Dapper.NET
Entity фрејмворк
Архитектуре серверских веб-апликација
Трослојна архитектура веб-апликација
Контролер приказа
Дизајн заснован на компонентама
Дизајн заснован на моделима
Кеширање података
Закључак
6. Веб-сервиси
Имплементација веб-сервиса
OData
GraphQL
Описивање интерфејса веб-сервиса
Сигурност веб-сервиса
7. Веб-стране са презентационом логиком
Имплементација напредних JavaScript функционалности
Шаблонски прикази у JavaScript коду
Објектни модел документа стране (DOM)
Vue
React
Angular
Повезивање података
JavaScript презентационе компоненте
Екстерне библиотеке
Vue компоненте
React компоненте
Angular компоненте
Асинхрона обрада захтева
Обећања
Посматрачи
Асинхроно учитавање података (AJAX)
Веб-утичнице (WS)
Имплементација веб-утичница у .NET технологији (SignalR)
Трећи део
Имплементација клијентских веб-апликација
8. Клијентске JavaScript апликације (SPA)
Пројектно окружење
Управљање компонентама
Проширења командног интерфејса
Архитектура клијентских апликација
Angular компонентна архитектура
Компоненте
Сервиси
Архитектуре засноване на стању
Линеарни ток контроле (Flux фрејмворк)
Модерне архитектуре засноване на стању (Redux, NgRx)
Рутирање
Закључак
9. Апликације учитане у прегледачу
Web Assembly (WASM)
Пројекти
Blazor 2
Закључак
10. Наредни кораци