Pull to refresh

Comments 39

Низкий поклон за труды всем, кто принял участие!
Отлично! С месяц назад открыл для себя Vue.
> Ожидает merge'а деплоя документация vue-router, появится здесь: router.vuejs.org/ru
Кто может сказать в двух словах в чём особенность этого фреймворка по сравнению с проверенными временем библиотеками и фреймворками (react, angular, etc.)?
Проще в развёртывании. В базовом варианте достаточно просто подключить cdn.
Что подразумевается под простотой развёртывания? Установил 3 пакета и ты уже делаешь конечный spa-продукт?
Начинаешь вообще с одной строчки подключения скрипта, если хочется просто попробовать.

Для серьёзных проектов есть шаблоны и CLI.
Его по прежнему можно использовать без сборщиков и компиляторов. Подключил скрипт и вперёд. Размер Vue без роутера всего 79КБ (26 КБ в gzip). Очень удобно когда нужно встроить в обычную «серверную» страницу какое-нибудь интерактивное JS приложение.
«Переписанный начисто React», без переизобретения CSS/HTML внутри JS и с централизованной поддержкой всей экосистемы; с возможностью инкрементального внедрения; некоторые красивые фишки понадёрганы из Angular, но нет dirty-checking с его проблемами производительности
Angular, но нет dirty-checking с его проблемами производительности
Зато есть другие проблемы и тормоза, что в итоге Angular рвет vue как «тузик».

PS: В JS мире нельзя избавиться от проблем не получив других проблем.
Когда говорят «рвёт как тузик», обычно, прикладывают тесты, пруфы.
Вот наверно самый популярный, для vue появился оптимизированная версия, которая показывает совсем не плохо, хотя все же отстает от Angular 2.
Вы сами себе противоречите, открыл все тесты ангуляра и vue и они не оказались быстрее Vue… angular 1 точно медленее, почти в 2 раза, а новый в обычном тесте медленее, а в оптимизированном на том же уровне.
У меня такие результаты в хроме:
Angular 2: 46 fps
Angular Light: 45 fps
Vue.js: 37 fps

Вот todo benchmark, тут vue почти в 2 раза отстает от Angular Light.

А Angular 1 на грани загибания, развития там уже не будет.
Напомните, вы чего доказать-то хотите?
Я про то что у dirty-checking нет проблем с производительностью, нужно уметь его готовить, впрочем как и любой дргой инструмент.
Dirty-checking алгоритмически таков, что даёт мягко говоря нелинейный рост, так что я не соглашусь — «уметь готовить» его можно разве что в режиме «использовать в очень ограниченном объёме». Он же не от хорошей жизни применяется, а из-за отсутствия возможности применить более эффективный подход. Vue отказался от двухстороннего связывания (Flux же, не нужно оно) и поддержки старых браузеров — и dirty checking не понадобился, и работает всё шустро. Кроме первого Ангуляра есть ещё ряд фреймворков с аналогичными проблемами, опять таки — в документе-сравнении упоминались.
В Angular2, насколько мне известно, dirty-checking тоже нет. Но он громоздкий очень, особенно по сравнению с Vue.
Есть, там у каждого компонента свой change detector — который релизует dirty-checking, но все change detector'ы вызываются каждый раз (хотя есть всякие костыли это оптимизировать). В итоге работает примерно так же как и Angular 1, но за счет zone.js сканирование вызывается автоматический.
Гмм, если всё действительно так, как вы описываете, рост тормозов с увеличением размера не денется никуда, и для серьёзных проектов такой подход не годится. Но что-то я сомневаюсь, чтобы при переходе ко второй версии там всем известной основной проблемы первой не пофиксили.
Кстати, в документации есть специальная страница сравнения с другими фреймворками: https://ru.vuejs.org/v2/guide/comparison.html
Это то есть, но мне интересно послушать тех кто его использовал в реальных проектах.
самая приятная фишка — однофайловые компоненты .vue
в целом — всё просто работает из коробки, никаких танцев с бубнами как при сборке react/redux-проектов
с angular сравнивать некорректно, первый — был давно, а второй — уж больно тяжеловесен, не так категория

а может ещё и компоненты реакта к нему подключить можно?
Экосистема реакта гораздо обширнее

Напрямую не получится, но адаптировать можно — JSX понимать умеет.

Я использовал. Решил взять его, когда только-только вышел первый релиз. Первое, почему его выбрал — это документация: она действительна очень качественная, и после прочтения официального гайда у меня не появилось ни одного вопроса, что и как делать. А это уже наверное вторая его особенность — простота, именно, простота использования. Еще сильно меня подкупил момент с использованием DOM на прямую: пример, и это же позволяет легко работать с анимацией элементов, плюсом есть и встроенная поддержка работы с анимациями, это был достаточно важный критерий при принятие решения.


Хотя с другой стороны, я совсем немного знаком с React или Angular, на уровне создания нескольких примеров, но даже в этих примерах появлялось множество вопросов. А здесь я взял привычный стек: jade (pug) и coffee, и все стало получаться само собой, без исследования подводных камней. Можно в этом плане еще посмотреть на количество звезд допустим на Гитхабе у библиотек Angular/React/Vue, чтобы оценить популярность, и количество статей на Хабре или вопросов на SO, чтобы оценить проблемность библиотеки. Метрика, конечно, далеко не объективная, но мои впечатления сходятся с таким экспериментом.

Делаем довольно большой проприетарный проект командой — очень быстро все обучились, отличная документация (ура, теперь и на русском), проще ангуляра и реакта, гораздо ниже порог входа. Стартовали с маленького наборчика на browserify, сейчас полный фарш — Webpack, SCSS, Jasmine+Karma+Isparta, Nightwatch.js, Babel6. В проекте однофайловые компоненты, но SCSS вынесен. Всё очень удобно и есть из коробки — утилитка vue-cli генерирует «скелет» приложения со всем необходимым (упаковщик на выбор, unit / e2e, транспилер). Маст-хэв компоненты тоже приличные — vue-router и vue-resource, или любая другая AJAX библиотека, vue-i18n.

Можно очень легко использовать jQuery наследство, заворачивается в компоненты на раз. Вторая версия фреймворка вообще супер, есть утилита для миграции старых проектов.

Есть замечательный список ресурсов, в т.ч. компонентов UI — https://github.com/vuejs/awesome-vue
В простоте и естественности. Чем-то похоже на jQuery в том смысле, что посмотрел пример и сразу понял что и куда, не выкручивает мозг.
Использую Vue вместе с разработанным проектом на PHP (Yii2) — вопрос отделения фронтенда от бэкенда на стоял, нужна была библиотека для двухстороннего связывания в некоторых сложных формах. Связка получилась достаточно интересная и вполне жизнеспособная.
полный список контрибьюторов см. на github.com/translation-gang

Список контрибьюторов приватный.
Да ладно? https://github.com/translation-gang/ru.vuejs.org/graphs/contributors
Вы наверное про список членов организации, там да — не все публичность включили.
Еще не пробовал Vue. Вопрос знатокам, как у нее с перфомансом? Допустим что-то более сложнее чем две формочки и пару кнопок. К примеру, сложная динамическая SPA. В которой, ну скажем порядка 50-100 разных views, components (example list etc) и много бизнес логики.

Когда-то делали проект на ангуляре. С двумя формочками и пятью кнопками было шикарно. Когда проект разросся, это стало адом. Теперь в первую очередь волнует перфоманс.
Коротко — у Vue с производительностью всё хорошо. Конкретно у первого Angular основная проблема была в dirty checking, у Vue такой проблемы нет. Подробнее — в вышеупомянутом документе со сравнением с другими фреймворками.
Честно… подумал «быстро погляжу насколько полные доки»…
Не мог оторваться часа 3. Спасибо. Вы понизили «порог вхождения» (и так на уровне плинтуса) до уровня «линолеума» :-) Вами сделана очень важная, полезная работа. И сделана, я бы сказал, художественно.
Огромнейшее спасибо! Теперь в голове полный порядок, хотя бы по vue, и иже с ним.
Sign up to leave a comment.

Articles