Slide 1

Slide 1 text

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

Slide 27

Slide 27 text

webpack React + Redux TypeScript npm Node.js bundle

Slide 28

Slide 28 text

bundle

Slide 29

Slide 29 text

Мораль?

Slide 30

Slide 30 text

А теперь наоборот: погружаемся в серверную разработку на .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 Системы модулей

Slide 40

Slide 40 text

Разработка через StackOverflow

Slide 41

Slide 41 text

Спасибо за внимание! Георгий Минашин [email protected]