«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
"VUE.JS как реакт с человеческим лицом" Дулецкий Вольдэмар, Evrone
1. VUE.JS
VUE.JS как реакт с человеческим лицом
Вольдэмар Дулецкий ( @r00takaspin ), компания Evrone
2. VUE.JS
Прежде всего View библиотека, а не framework
Компактен, быстр, прост
Очень похож на React: Virtual DOM, компоненты, Vuex
*Иногда сравнивают как смесь Angular 1 и React.
3. Как выглядит компонент?
Отдельный файл c расширением .vue:
<template>
Say hello: <span class='colored'>{{ $hello }}</span>
</template>
<style>
.colored {
color: 'yellow'
}
</style>
<script>
export default {
name: 'hello-component',
data(): {
return { hello: 'Hello, buddy' }
},
mounted() {
console.log('hey, I am inited')
}
}
</script>
5. Модульность
Через модули и миксины мы можем выносить общую логику в отдельные сущности и при
необходимости их подключать. Ниже пример миксина:
export default {
computed: {
file_name() {
if (this.files) {
let url = new URL(this.files[0].url);
return url.pathname.replace(/^.*[/]/, '')
} else {
return 'N/A'
}
}
}
}
6. Документация на русском языке
Вся документация по библиотекам входящим в экосистему есть на русском языке и
поддерживается в актуальном состоянии.
12. Моя история
Задача: сделать админку на vue, бэкэнд на Ruby On Rails.
2‑3 дня на настройку webpack, babel
1‑2 дня настройка связки karma, jasmine, phantomjs
вечер на интеграцию с CI
около недели на понимание работы и взаимодействия компонентов
неделя на понимание работы со стейтом
13. Перейдем к практике
Воспользуемся утилитой vue-cli для быстрого развертывания приложения:
npm install -g vue-cli
Создадим приложение:
vue init link-shorter
Далее последует несложный диалог о конфигурировании приложения.
*Очень похоже на ember‑cli
17. ShortLinkForm
обратим внимание на семантическое название
обратим внимание что всегда нужно внутри <template> добавлять div , внутри
которого будет шаблон
24. Хуки
export default {
name: 'Index',
components: {ShortUrlList, ShortLinkForm},
mounted () {
let urls = ['http://ya.ru/', 'http://google.com', 'http://koenig-rb.ru/']
for (let i = 0; i < urls.length; i++) {
this.$store.commit('MINIMIZE_URL', urls[i])
}
}
}
Если мы хотим что‑то подгрузить при инициализации компонента.
25. Webpack
Никаких проблем при использовании vue-cli .
Перед выходом в продакшен все‑таки придется изучить webpack.
26. 3 причины перейти с реакта
vue компоненты восхитительны и не ломают глаза, вызывают привыкание
быстрый старт с vue-cli
основные библиотеки экосистемы поддерживаются авторами библиотеки
27. 5 причин попробовать после jQuery
не хотите выбирать между Flux/Redux ‑ попробуйте сразу Vuex
попробуйте реактивность
библиотека очень дружественна, пологая кривая вхождения
подключить можно через <script src="https://unpkg.com/vue"></script>
отзывчивое комьюнити, быстро помогают новичкам, хороший форум
forum.vuejs.org
28. Где не стоит использовать?
Мобильные приложения.