Проєктування web застосунків (пм)
Тип: На вибір студента
Кафедра: прикладної математики
Навчальний план
Семестр | Кредити | Звітність |
6 | 5 | Залік |
Лекції
Семестр | К-сть годин | Лектор | Група(и) |
6 | 32 | Заневич О. Б. | ПМп-32, ПМп-33 |
Лабораторні
Семестр | К-сть годин | Група | Викладач(і) |
6 | 32 | ПМп-32 | Заневич О. Б. |
ПМп-33 | Заневич О. Б. |
Опис курсу
Анотація: Курс “Проектування web застосунків” призначений для засвоєння ключових концепцій та практичних навичок у сфері сучасної веб-розробки. Студенти дізнаються про розробку RESTful та GraphQL сервісів, досліджують реактивне програмування на Spring WebFlux, а також отримують досвід роботи з фреймворком Angular на фронтенді. Курс також включає в себе розгляд websockets для реалізації двосторонньої комунікації в реальному часі.
Мета: Забезпечити студентів глибоким розумінням процесів проектування, розробки та впровадження веб-застосунків з використанням передових технологій та підходів.
Цілі:
- Ознайомити студентів з архітектурою RESTful сервісів та розробкою на Spring.
- Поглибити розуміння реактивного програмування через Spring WebFlux.
- Дослідити можливості та переваги GraphQL у веб-розробці.
- Закласти основи роботи з фреймворком Angular для розробки клієнтської частини застосунків.
- Вивчити принципи роботи та використання websockets для двосторонньої комунікації.
Основний зміст курсу:
- Архітектура RESTful сервісів: принципи та практика.
- Основи Spring Boot: конфігурація, компоненти, внедрення залежностей.
- Розробка REST API на Spring: контролери, сервіси, обробка помилок.
- Вступ до реактивного програмування: концепції, оператори, принципи.
- Реактивні веб-застосунки з Spring WebFlux: особливості, модель обробки.
- GraphQL: вступ, типи даних, запити та мутації.
- Розробка GraphQL сервісів на Spring: схема, резолвери, безпека.
- Основи Angular: компоненти, модулі, директиви.
- Робота з даними в Angular: сервіси, HTTP клієнт, обробка відповідей.
- Websockets: принципи роботи, застосування в реальному часі.
- Впровадження Websockets у веб-застосунки: Spring Websockets, Socket.io.
- З’єднання бекенду та фронтенду: стратегії, протоколи, безпека.
- Тестування веб-застосунків: юніт-тестування, інтеграційні тести, тестування UI.
- Продуктивність та оптимізація веб-застосунків: аналіз завантаження, кешування, оптимізація коду.
- Заключні зауваження: найкращі практики, подальше навчання, тренди у веб-розробці.
Рекомендована література
- Spring
-
- Walls, C. (2019). Spring in Action. Manning Publications.
- Long, J., & Winch, R. (2020). Spring Security in Action. Manning Publications.
- Spring WebFlux
-
- Pivovarit, M. (2020). Reactive Programming with Spring 5. Packt Publishing.
- Long, J. (2019). Reactive Spring. Leanpub.
- GraphQL
-
- Porcello, E., & Banks, A. (2018). Learning GraphQL: Declarative Data Fetching for Modern Web Apps. O’Reilly Media.
- Bojan, T. (2020). Full-Stack GraphQL Applications with GRANDstack – Essential Excerpts. Leanpub.
- Websockets
-
- Pimentel, V., & Lourenço, J. R. (2019). WebSocket: Lightweight Client-Server Communications. O’Reilly Media.
- Angular
-
- Freeman, A. (2018). Pro Angular 6. Apress.
- Staples, M. (2019). Angular for Enterprise-Ready Web Applications. Packt Publishing.
- Kimmel, R. (2019). Angular Development with TypeScript. Manning Publications.
- General Web Application Design and Architecture
-
- Richardson, C., & Smith, R. (2019). Microservices Patterns. Manning Publications.
- Newman, S. (2018). Building Microservices: Designing Fine-Grained Systems. O’Reilly Media.
- Fowler, M. (2018). Patterns of Enterprise Application Architecture. Addison-Wesley Professional.
- Additional Resources
-
- Spring Documentation (Official): https://docs.spring.io/spring/docs/current/spring-framework-reference/
- Angular Documentation (Official): https://angular.io/docs