Проєктування web застосунків (пм)

Тип: На вибір студента

Кафедра: прикладної математики

Навчальний план

СеместрКредитиЗвітність
65Залік

Лекції

СеместрК-сть годинЛекторГрупа(и)
632Заневич О. Б.ПМп-32, ПМп-33

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
632ПМп-32Заневич О. Б.
ПМп-33Заневич О. Б.

Опис курсу

 

Анотація: Курс “Проектування web застосунків” призначений для засвоєння ключових концепцій та практичних навичок у сфері сучасної веб-розробки. Студенти дізнаються про розробку RESTful та GraphQL сервісів, досліджують реактивне програмування на Spring WebFlux, а також отримують досвід роботи з фреймворком Angular на фронтенді. Курс також включає в себе розгляд websockets для реалізації двосторонньої комунікації в реальному часі.

Мета: Забезпечити студентів глибоким розумінням процесів проектування, розробки та впровадження веб-застосунків з використанням передових технологій та підходів.

Цілі:

  1. Ознайомити студентів з архітектурою RESTful сервісів та розробкою на Spring.
  2. Поглибити розуміння реактивного програмування через Spring WebFlux.
  3. Дослідити можливості та переваги GraphQL у веб-розробці.
  4. Закласти основи роботи з фреймворком Angular для розробки клієнтської частини застосунків.
  5. Вивчити принципи роботи та використання websockets для двосторонньої комунікації.

Основний зміст курсу:

  1. Архітектура RESTful сервісів: принципи та практика.
  2. Основи Spring Boot: конфігурація, компоненти, внедрення залежностей.
  3. Розробка REST API на Spring: контролери, сервіси, обробка помилок.
  4. Вступ до реактивного програмування: концепції, оператори, принципи.
  5. Реактивні веб-застосунки з Spring WebFlux: особливості, модель обробки.
  6. GraphQL: вступ, типи даних, запити та мутації.
  7. Розробка GraphQL сервісів на Spring: схема, резолвери, безпека.
  8. Основи Angular: компоненти, модулі, директиви.
  9. Робота з даними в Angular: сервіси, HTTP клієнт, обробка відповідей.
  10. Websockets: принципи роботи, застосування в реальному часі.
  11. Впровадження Websockets у веб-застосунки: Spring Websockets, Socket.io.
  12. З’єднання бекенду та фронтенду: стратегії, протоколи, безпека.
  13. Тестування веб-застосунків: юніт-тестування, інтеграційні тести, тестування UI.
  14. Продуктивність та оптимізація веб-застосунків: аналіз завантаження, кешування, оптимізація коду.
  15. Заключні зауваження: найкращі практики, подальше навчання, тренди у веб-розробці.

Рекомендована література

  1. Spring
    • Walls, C. (2019). Spring in Action. Manning Publications.
    • Long, J., & Winch, R. (2020). Spring Security in Action. Manning Publications.
  1. Spring WebFlux
    • Pivovarit, M. (2020). Reactive Programming with Spring 5. Packt Publishing.
    • Long, J. (2019). Reactive Spring. Leanpub.
  1. 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.
  1. Websockets
    • Pimentel, V., & Lourenço, J. R. (2019). WebSocket: Lightweight Client-Server Communications. O’Reilly Media.
  1. 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.
  1. 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.
  1. Additional Resources

Силабус:

Завантажити силабус