1 semester

1.       

Course title

Thin client technologies

2.       

Course of Study, Speciality

1, 1-31 81 06 Web Development and Internet Technologies (2 years)

3.       

Semester

1

4.       

Credits

2,5

5.       

Lecturer

PhD of physical and mathematical sciences

Alexander J. Perez Tchernov

6.       

Course goal

Mastering the knowledge, sufficient for an understanding of modern approaches to designing and developing client applications.

7.       

Prerequisites

8.       

Course Topics

  1. История развития технологий для веб-приложений и основные концепции.
  2. Работа с отладкой приложений в браузере (WireShark, Chrome DevTools, Page Speed, Source Maps, Fiddler): профилирование памяти, скорости работы, отладка протоколов взаимодействия.
  3. Основные протоколы низкоуровневые (TCP, HTTP, COMET, WebSockets) и высокоуровневые (REST, GRAPHQL, STOMP, AMP) и способы сериализации данных (JSON, Protobuf-light, Thrift-js, ASN, XML).
  4. Технологии серверной и клиентской шаблонизации (Google SOY, Handlebars, CTPP, XJST, YATE, XSLT, Nunjucks, React Component ).
  5. Описание сервисов и способы взаимодействия между ними: XML / SOAP / WSDL, REST / WADL / SWAGGER, THRIFT. Сравнения протоколов сериализации данных, включая Protobuf, Avro, Thrift. Интеграция на основе сообщений. Нюансы организации клиентского кода для обращения к сервисам. Автогенерирование кода.
  6. Cборка и комплиляция приложений: TypeScript, Google Closure, ASM, WebAssembly. Взаимодействие с WebPack и связанными проектами сборки. Препроцессоры СSS.
  7. Работа с DOM,  связывание, способы быстрой перерисовки контента, WebGL, PixiJS, WebWorkers.
  8. Тестирование веб-приложений.
  9. Функциональное и асинхронное программирование, обзор RXJs, Redux store, EventBus.
  10. Жизненный цикл компонент, реализация компонент в разных фреймворках, WebComponent.
  11. Обзор популярных библиотек и фреймовков: Angular, React, Vue.

9.       

Recommended Literature

  1. React [Электронный ресурс] – Электронные данные. –  Режим доступа: https://reactjs.org.
  2. Closure [Электронный ресурс] – Электронные данные. –  Режим доступа: https://developers.google.com/closure/.
  3. Angular [Электронный ресурс] – Электронные данные. –  Режим доступа: https://angular.io.

10.   

Teaching Methods

Problematic, project

11.   

Teaching language

Russian

12.   

Requirements, current control

  • testing;
  • check of laboratory works,
  • delivery of an individual project

13.   

Method of certification

Credit