Вышел крупный новый выпуск Vue.js, библиотеки JavaScript. Разработчики говорят, что версия 3 обеспечивает улучшенную производительность, меньшие размеры пакетов, лучшую интеграцию TypeScript, новые API-интерфейсы для решения крупномасштабных сценариев использования и «прочную основу для долгосрочных будущих итераций фреймворка».
Vue.js — это небольшая гибкая библиотека JavaScript, которую вы можете использовать для создания интерактивных веб-приложений. Разработчики говорят, что он предлагает простоту, производительность и гибкость. Он состоит из основного уровня представления, инструментов разработчика и библиотек.
Первое изменение было реализовано для улучшения ремонтопригодности, и как побочный эффект означает, что пользователи могут минимизировать размер своей среды выполнения, выбирая, какие модули они включают. Ключ к этому заключается в том, что, хотя ядро Vue 3.0 все еще можно использовать с помощью простого тега сценария, его внутреннее устройство было переписано с нуля в набор разделенных модулей. Также была улучшена производительность Vue.js 3: первоначальный рендеринг происходит на 55% быстрее, обновления — на 133% быстрее, а использование памяти снижено до 54%.
Разработчики также поработали над компилятором шаблона для повышения производительности с помощью того, что они описывают как «виртуальная модель DOM с учетом компилятора»: компилятор шаблона выполняет агрессивную оптимизацию и генерирует код функции рендеринга, который выравнивает динамические узлы внутри шаблона для улучшения обхода во время выполнения. Код функции рендеринга также оставляет подсказки времени выполнения для типов привязки. Команда Vue.js заявляет, что улучшения означают, что пользователь получает лучшее из обоих миров: оптимизированная для компилятора производительность из шаблонов или прямое управление с помощью функций ручного рендеринга при необходимости.
Хотя объектно-ориентированный API из версии 2 остается в основном неизменным в Vue 3, в новом Composition API есть новый набор API. Новые API разработаны, чтобы упростить использование Vue в крупномасштабных приложениях. Composition API основан на API реактивности и обеспечивает логическую композицию и повторное использование, аналогично перехватчикам React, более гибким шаблонам организации кода и более надежному выводу типов, чем объектный API 2.x.
Последнее главное улучшение — улучшенная интеграция TypeScript. Кодовая база Vue 3 написана на TypeScript с автоматически сгенерированными, протестированными и объединенными определениями типов, поэтому они всегда актуальны. Новый Composition API разработан для хорошей работы с выводом типов, а Vetur, расширение Vue.js VSCode, теперь поддерживает выражение шаблона и проверку типов свойств с использованием улучшенной внутренней типизации Vue 3.