DotNext
Москва, 7 ноября 2019
Ад клиентской разработки
на JavaScript
Георгий Минашин
Разработчик-эксперт
Slide 2
Slide 2 text
Психотерапия
Slide 3
Slide 3 text
Почему «ад»?
Slide 4
Slide 4 text
Как было раньше
Slide 5
Slide 5 text
Выбираем технологии
для сайта
Slide 6
Slide 6 text
Каркас для графического интерфейса
Slide 7
Slide 7 text
Каркас для графического интерфейса
Пакетный менеджер
Slide 8
Slide 8 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Slide 9
Slide 9 text
Куда ставить npm?
Slide 10
Slide 10 text
Компьютер
разработчика
Сервер
для сборки
и публикации
Боевой
сервер
Slide 11
Slide 11 text
Компьютер
разработчика
Сервер
для сборки
и публикации
Боевой
сервер
Slide 12
Slide 12 text
Компьютер
разработчика
Сервер
для сборки
и публикации
Боевой
сервер
Slide 13
Slide 13 text
Продолжаем выбирать технологии
для сайта
Slide 14
Slide 14 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Slide 15
Slide 15 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 16
Slide 16 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 17
Slide 17 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 18
Slide 18 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 19
Slide 19 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 20
Slide 20 text
Это известная проблема
Slide 21
Slide 21 text
Общая схема
разработки на React
Slide 22
Slide 22 text
Visual Studio
Slide 23
Slide 23 text
React
+ Redux
TypeScript
Visual Studio
Slide 24
Slide 24 text
React
+ Redux
TypeScript
npm
Node.js
Visual Studio
Slide 25
Slide 25 text
webpack
React
+ Redux
TypeScript
npm
Node.js
Visual Studio
Slide 26
Slide 26 text
webpack
React
+ Redux
TypeScript
npm
Node.js
bundle
Visual Studio
А теперь наоборот:
погружаемся в серверную
разработку на .NET
Slide 31
Slide 31 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 32
Slide 32 text
Каркас для приложения
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 33
Slide 33 text
Каркас для приложения
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 34
Slide 34 text
Каркас для приложения
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
AMD Common
JS
UMD
ES6
modules
Системы модулей
Slide 35
Slide 35 text
Каркас для приложения
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
Файл проекта csproj
старый
project
.json
csproj
новый
Slide 36
Slide 36 text
Каркас для приложения
Пакетный менеджер
Дополнительные зависимости
Сборка
Расширение каркаса
Статическая типизация
Файл проекта csproj
старый
project
.json
csproj
новый
Slide 37
Slide 37 text
Каркас для приложения
Пакетный менеджер
Дополнительные зависимости
Сборка
Объектно-реляционное отображение
Статическая типизация
Файл проекта csproj
старый
project
.json
csproj
новый
Dapper
Slide 38
Slide 38 text
Каркас для приложения
Пакетный менеджер
Дополнительные зависимости
Сборка
Объектно-реляционное отображение
Статический анализ
Файл проекта csproj
старый
project
.json
csproj
новый
Dapper
Slide 39
Slide 39 text
Каркас для графического интерфейса
Пакетный менеджер
Дополнительные зависимости
Компоновка и минификация
Расширение каркаса
Статическая типизация
AMD Common
JS
UMD
ES6
modules
Системы модулей