
Создатель Vue Эван Ю делится тем, как усвоил несколько трудных уроков при переходе от второй версии к третьей.
«Первая ошибка, которую мы допустили, была в том, что каждое изменение было слишком большим», говорит он. «Суть проблемы в том, что каждое отдельное изменение выглядело управляемым по отдельности, но сложность возрастает в геометрической прогрессии, если объединить сразу множество изменений».
Помнить об экосистеме
Второй урок, который он усвоил, это обращаться к авторам экосистемной библиотеки в случае изменений, чтобы обеспечить решение проблем до того, как релиз попадет в реестр, особенно в случае аутсорсинга Vue.
«На самом деле, это также два наиболее ярких примера того, как взаимные приложения зависают на старых версиях из-за сложности обновления с учетом этих зависимостей», говорит он. «Итак, урок заключается в том, что, очевидно, зависимость от экосистем имеет решающее значение».
Релизить все сразу
«Было ошибкой не зарелизить все сразу», продолжает он. Ядро Vue 3 было выпущено в сентябре 2020 года, хотя многие части экосистемы все еще находились в стадии разработки. По его словам, были проблемы с документацией, и API композиции изначально не был представлен в документации. Официальные библиотеки, миграционная сборка, поддержка инструментов разработки — всего этого не хватало, когда была выпущена стабильная версия ядра Vue.
Что Vue 3 делет правильно
По его словам, TypeScript «значительно улучшает» удобство сопровождения, особенно в больших коллективах, работающих над долгосрочными проектами. Переход на TypeScript в кодовой базе также значительно улучшил удобство сопровождения самого Vue, создавая хорошую основу для будущих итераций.
Инвестиции в опыт разработчиков окупаются
Vue также сделал правильный выбор, инвестируя в опыт разработчиков. Фактически это привело к созданию популярного инструмента веб-сборки Vite, который родился на основе прототипа сервера разработки, предназначенного только для Vue. Теперь ряд фреймворков используют Vite, включая Nuxt.
По словам Ю, инвестиции в Vue окупились в виде расширенной экосистемы, которая приносит пользу веб-разработчикам в целом. Инвестиции в IDE привели к созданию Volar, зонтичного проекта для подмножества проектов, включающего языковой сервер Vue и Vue TSC, который представляет собой интерфейс командной строки, обертывающий TypeScript и обеспечивающий проверку времени командной строки для компонентов Vue.