Крос-платформне програмування (весна 2019)

Викладач

Шемет Євген Олександрович yevhene@vntu.edu.ua

Посилання

Звіти до лабораторних подаються через сайт.

Налаштування proxy у ВНТУ.

Література

Розділ 1: Термінал (shell)

Лабораторнi

Лекція 1: Вступ

Лекція 2: Основи JavaScript

  • Теми:
    • Вирази, оператори, змінні;
    • Масиви, об'єкти;
    • Умови, цикли;
    • Функції.
  • Слайди
  • Конспект

Лекція 3: Основи Node.js

  • Теми:
    • Основи node.js;
    • Менеджер пакетів npm;
    • Маніфест аплікації package.json.
  • Слайди
  • Конспект

Лекція 4: Область визначення (scope)

  • Теми:
    • Область визначення;
    • Декларація змінних (var, let, const);
    • Вспливання змінних (hoisting).
  • Слайди
  • Конспект

Лекція 5: Функції

  • Теми:
    • Функції;
    • Параметри і аргументи;
    • Функції вищого порядку (map, reduce);
    • Зворотні виклики (callbacks). Замикання.
  • Слайди
  • Конспект

Лекція 6: Об'єкти

  • Теми:
    • Об'єкти;
    • Властивості;
    • this.
  • Слайди
  • Конспект

Практика: Контроль версій

  • Теми:
    • Системи контролю версій;
    • Git (init, commit);
    • Галудження (branch, checkout, reset, merge, rebase).
  • Слайди

Лекція 7: Типи

  • Теми:
    • Типи, typeof;
    • Приведення типів.
  • Слайди
  • Конспект

Лекція 8: Протоколи та стандарти Web

  • Теми:
    • WWW;
    • URI (URL/URN);
    • HTTP (request, response, method, header).
  • Слайди

Лекція 9: express.js

  • Теми:
    • Роутинг;
    • Шаблонізатори;
    • Ресурси.
  • Слайди

Лекція 10: HTML Форми

  • Теми:
    • form;
    • input/textarea/select;
    • Валідація.
  • Слайди

Лекція 11: Прототипи і Конструктори

Лекція 12: Обіцянки

  • Теми:
    • Promise;
    • Ланцюжки;
    • Групування.
  • Слайди

Лекція 13: Збереження даних

  • Теми:
    • Бази даних (CAP);
    • Документна база MongoDB;
    • Драйвер доступу (mongo, mongoose).
  • Слайди

Лекція 14: Тестування

  • Теми:
    • Тестування (mocha, chai);
    • Контроль якості коду (eslint);
    • Моніторинг в реальному часі.
  • Слайди

Лекція 15: Асинхронність (Генератори)

  • Теми:
    • Ітератори;
    • Генератори.
  • Слайди

Лекція 16: Асинхронність

  • Теми:
    • Асинхронні функції;
    • Асинхронні ітератори;
    • koa.js.
  • Слайди

Практика: Розгортування

  • Теми:
    • Хмарні сервіси (Heroku);
    • Системи керування мікросервісами (foreman, pm2).
  • Слайди

Лекція 17: Браузерні технології

  • Теми:
    • HTML, DOM;
    • CSS, селектори;
    • Bootstrap.
  • Слайди

Лекція 18 JavaScript HTML5 API

  • Теми:
    • Інтеграція JavaScript із браузером;
    • HTML5 APIs (geolocation, canvas, history).
  • Слайди

Лекція 19: jQuery

  • Теми:
    • Пошук;
    • Маніпуляція;
    • Анімація.
  • Слайди

Лекція 20: API

  • Теми:
    • API (Види, формати);
    • REST;
    • GraphQL.
  • Слайди

Лекція 21: AJAX

  • Теми:
    • Історія;
    • Інструменти (jQuery.ajax, fetch);
    • Автентифікація;
    • CORS.
  • Слайди

Лекція 22: Websocket

  • Теми:
    • Websocket протокол
    • Підтримка на сервері та у браузері
  • Слайди

Лекція 23: Apache Cordova

Лекція 24: Electron

Лекція 25: Hello React

Лекція 26: React

Лекція 27: Архітектура Fiber

Лекція 28: Управління станом

Лекція 29: React Native

Лекція 30: React Native Navigation

Лекція 31: ECMAScript

  • Теми:
    • Стандарт ECMAScript;
    • Історія;
    • Нововведення. Стандарт. Історія.
  • Слайди