nuxt - dataart.com · Давайте познакомимся с Вуем python вообще...

52
Nuxt.js Григорий Петров

Upload: others

Post on 23-Jul-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Nuxt.js

Григорий Петров

Page 2: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что сейчас будет?

Рассказывает Григорий Петров

Специализация Руководство разработкой

Чем занимается DevRel

Опыт Более 15 лет

Время выступления 30 минут

Вопросы В конце выступления

2https://twitter.com/grigoryvp

Page 3: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Давайте познакомимся с Вуем

Python вообще “Пайтон”, но мы говорим “Питон”

Azure вообще “Эжа”, но мы говорим “Азура”

Vue вообще “Вью”, но мы говорим “Вуй”

Nuxt вообще “Накст”, но мы говорим “Нукст”

3https://twitter.com/grigoryvp

Page 4: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Немного истории

4https://twitter.com/grigoryvp

Page 5: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Немного истории

● 25 Октября 2016 года анонс Next.js для React.js

5https://twitter.com/grigoryvp

Page 6: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Немного истории

● 25 Октября 2016 года анонс Next.js для React.js

● Через пару недель Себастьян Чопин решил повторить для Vue.js

6https://twitter.com/grigoryvp

Page 7: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Немного истории

● 25 Октября 2016 года анонс Next.js для React.js

● Через пару недель Себастьян Чопин решил повторить для Vue.js

● Цель - облегчить конфигурирование Vue.js

7https://twitter.com/grigoryvp

Page 8: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Немного истории

● 25 Октября 2016 года анонс Next.js для React.js

● Через пару недель Себастьян Чопин решил повторить для Vue.js

● Цель - облегчить конфигурирование Vue.js

● 8 Января 2018 года релиз стабильной версии 1.0

8https://twitter.com/grigoryvp

Page 9: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Облегчить конфигурирование?

9https://twitter.com/grigoryvp

Page 10: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Облегчить конфигурирование?

10https://twitter.com/grigoryvp

Page 11: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Облегчить конфигурирование?

https://localhost:3000/

https://localhost:3000/contact

https://localhost:3000/doc/about

11https://twitter.com/grigoryvp

Page 12: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Облегчить конфигурирование?

Convention over configuration

12https://twitter.com/grigoryvp

Page 13: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще "облегчается"?

13https://twitter.com/grigoryvp

Page 14: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще "облегчается"?

SSR

14https://twitter.com/grigoryvp

Page 15: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще "облегчается"?

Server Side Rendering

15https://twitter.com/grigoryvp

Page 16: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще "облегчается"?

Server Side RenderingVueJS был создан для этого

16https://twitter.com/grigoryvp

Page 17: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Генерация статики в режиме SSR

17https://twitter.com/grigoryvp

Page 18: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Как выглядит статика

18https://twitter.com/grigoryvp

Page 19: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Как выглядит статика

● HTML со встроенным CSS для каждой страницы

19https://twitter.com/grigoryvp

Page 20: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Как выглядит статика

● HTML со встроенным CSS для каждой страницы

● Webpack runtime

20https://twitter.com/grigoryvp

Page 21: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Как выглядит статика

● HTML со встроенным CSS для каждой страницы

● Webpack runtime

● Vue runtime

21https://twitter.com/grigoryvp

Page 22: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Как выглядит статика

● HTML со встроенным CSS для каждой страницы

● Webpack runtime

● Vue runtime

● JS код приложения по чанкам для "hydration"

22https://twitter.com/grigoryvp

Page 23: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Как выглядит статика

● HTML со встроенным CSS для каждой страницы

● Webpack runtime

● Vue runtime

● JS код приложения по чанкам для "hydration"

● Nuxt runtime для layouts

23https://twitter.com/grigoryvp

Page 24: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Можно выкладывать в GitHub Pages

● GUID в качестве имени репозитория

● <meta name="robots" content="noindex,nofollow"> в статике

24https://twitter.com/grigoryvp

Page 25: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Так что такое Nuxt.js?

25https://twitter.com/grigoryvp

Page 26: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Так что такое Nuxt.js?

Генератор приложений на современном стеке frontend технологий:

26https://twitter.com/grigoryvp

Page 27: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Так что такое Nuxt.js?

Генератор приложений на современном стеке frontend технологий:

● Vue.js

27https://twitter.com/grigoryvp

Page 28: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Так что такое Nuxt.js?

Генератор приложений на современном стеке frontend технологий:

● Vue.js

● Webpack

28https://twitter.com/grigoryvp

Page 29: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Так что такое Nuxt.js?

Генератор приложений на современном стеке frontend технологий:

● Vue.js

● Webpack

● Babel

29https://twitter.com/grigoryvp

Page 30: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Так что такое Nuxt.js?

Генератор приложений на современном стеке frontend технологий:

● Vue.js

● Webpack

● Babel

● vue-router

30https://twitter.com/grigoryvp

Page 31: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Так что такое Nuxt.js?

Генератор приложений на современном стеке frontend технологий:

● Vue.js

● Webpack

● Babel

● vue-router

● vuex

31https://twitter.com/grigoryvp

Page 32: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Три режима работы

32https://twitter.com/grigoryvp

Page 33: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Три режима работы

● Generated○ Может миллионы статик страниц из таблицы id'шек.

33https://twitter.com/grigoryvp

Page 34: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Три режима работы

● Generated○ Может миллионы статик страниц из таблицы id'шек.

● Universal○ Backend на выбор: Express.js etc, или написать свой.

34https://twitter.com/grigoryvp

Page 35: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Три режима работы

● Generated○ Может миллионы статик страниц из таблицы id'шек.

● Universal○ Backend на выбор: Express.js etc, или написать свой.

● SPA○ Пустой HTML со спиннером + Vue.js приложение.

35https://twitter.com/grigoryvp

Page 36: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

О пользе SSR

36https://twitter.com/grigoryvp

Page 37: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

О пользе SSR

● Возможность быстрой загрузки страницы

37https://twitter.com/grigoryvp

Page 38: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

О пользе SSR

● Возможность быстрой загрузки страницы

● Кеширование на уровне приложения и CDN

38https://twitter.com/grigoryvp

Page 39: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

О пользе SSR

● Возможность быстрой загрузки страницы

● Кеширование на уровне приложения и CDN

● Отсутствие "вспышке не-стилизованного контента"

39https://twitter.com/grigoryvp

Page 40: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

О пользе SSR

● Возможность быстрой загрузки страницы

● Кеширование на уровне приложения и CDN

● Отсутствие "вспышке не-стилизованного контента"

● Лучшая совместимость с поисковиками

40https://twitter.com/grigoryvp

Page 41: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

41https://twitter.com/grigoryvp

Page 42: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

42https://twitter.com/grigoryvp

Page 43: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

● Babel

43https://twitter.com/grigoryvp

Page 44: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

● Babel

● Анимации при переключении страниц

44https://twitter.com/grigoryvp

Page 45: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

● Babel

● Анимации при переключении страниц

● Layout'ы

45https://twitter.com/grigoryvp

Page 46: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

● Babel

● Анимации при переключении страниц

● Layout'ы

● Автоматическое дробление кода на части

46https://twitter.com/grigoryvp

Page 47: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

● Babel

● Анимации при переключении страниц

● Layout'ы

● Автоматическое дробление кода на части

● Альясы "@", "@@", "~" и "~~" для импортов

47https://twitter.com/grigoryvp

Page 48: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

● Babel

● Анимации при переключении страниц

● Layout'ы

● Автоматическое дробление кода на части

● Альясы "@", "@@", "~" и "~~" для импортов

● Кеширование на уровне компонентов

48https://twitter.com/grigoryvp

Page 49: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Что еще может Nuxt.js?

● Hot Reloading для режима разработки

● Babel

● Анимации при переключении страниц

● Layout'ы

● Автоматическое дробление кода на части

● Альясы "@", "@@", "~" и "~~" для импортов

● Кеширование на уровне компонентов

● Stream Rendering

49https://twitter.com/grigoryvp

Page 50: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Киллер-фича для меня

Single file components .vue:

● Один компонент - один файл

● Любые языки: pug + typescript + postcss

50https://twitter.com/grigoryvp

Page 51: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Из интервью автора Vue.js для Хабрахабр

Nuxt — отличная штука. Если нужен SSR под Vue — используй его, если не

хочешь настраивать все самостоятельно

51https://twitter.com/grigoryvp

Page 52: Nuxt - dataart.com · Давайте познакомимся с Вуем Python вообще “Пайтон”, но мы говорим “Питон” Azure вообще “Эжа”,

Вопросы?

Григорий Петров

[email protected]

https://twitter.com/grigoryvp

https://facebook.com/grigoryvp

Это всё!