Эта статья просто перевод :) Верстка у Наггетса намного лучше, чем у Жиху.
Первый — кто-то публикует на Reddit.
содержание:
You Yuxi опубликовал несколько дней назадRFC(черновик экспозиции), в котором представлен функциональный API в Vue 3.
Многие функции, которые мы используем, будут объявлены устаревшими, такие как данные, вычисляемые методы, часы, примеси, расширения и функции жизненного цикла. Компоненты Vue в основном состоят из функции setup(), которая возвращает все методы, вычисляемые свойства и прослушиватели.Если вы хотите продолжать использовать устаревшие функции, Vue предоставляет совместимую версию.
В статье также говорится:
Новый API теоретически полностью совместим с API 2.x (еще одна опция setup()). Тем не менее, введение новых API сделает многие старые опции ненужными в долгосрочной перспективе. Сопоставимый размер кода и прирост производительности могут быть достигнуты, если убрать поддержку этих устаревших опций.
Поэтому для версии 3.0 мы планируем предоставить две разные версии:
Совместимая версия: поддерживает как новый API, так и все опции 2.x;
Стандартная версия: Поддерживаются только новые API и некоторые опции версии 2.x.обновить:
они пояснили, чтоУстаревшие API будут сосуществовать с Vue 3.x. Не уверен, что Vue 4.x удалит старый API..
Похоже, Ю Юйси прочитал комментарии в сети и заявил, что мой пост неточен, в то же время изменил формулировку исходного текста.Предыдущая «Совместимая версия» была изменена на «Стандартную версию», а предыдущая «Стандартная версия» была изменена на «Облегченную версию»..
Здорово, что вы можете читать все комментарии и слушать мнения всех. Но вы не должны переписывать свою статью и говорить, что я неправильно вас понял.
В дальнейшем команда Vue работает надHacker News опубликовал ответ, что переводится следующим образом:
Я руководитель группы Vue.
В соответствующем посте много недоразумений, поэтому нам нужно уточнить:
- Новый API полностью добавлен в Vue 2.x без каких-либо изменений.
- Vue 3.0 будет иметь стандартную версию с новыми и старыми API, а также дополнительную упрощенную версию, в которой удалены некоторые старые API, чтобы сделать Vue меньше и быстрее.
- Это всего лишь «проект экспозиции», и все API неубедительны. Вы можете оставить свои предложения, мы не выпускаем Vue 3.0 в ближайшее время.
Подробнее здесь:vuejs/rfcs
После окончания ответа следуют комментарии под этой статьей.
Ивансбро прокомментировал:
Привет, в частности, в то время как новое предложение API уточняет, что эти изменения обозначены как необязательные для Vue 3, долгосрочная цель команды Vue неясна, и новый API выглядит как приманка, установленная для Vue 4.
Суть дела в том, что когда Vue 2 был выпущен, мы чувствовали, что дизайн Vue 2 достаточно прост по сравнению с React, поэтому мы ухватились за машину Vue 2. В то время React уделял основное внимание функциональным и ориентированным на производительность методам разработки пользовательского интерфейса (на которых React до сих пор фокусируется).
Если у вас есть команда, которая очень сосредоточена на производительности и действительно любит функциональность, React — лучший выбор. Facebook также продолжает вкладывать значительные средства в повышение производительности. Вы также очень обеспокоены производительностью нового API, и это здорово, и я ценю это, но вы идете против другой волны людей, делая это.
Производительность не является преимуществом Vue, функциональное программирование не является преимуществом Vue, и никакие другие странности, упомянутые в этом RFC, не являются преимуществом Vue. Никто не смотрит на Vue и не говорит: «Вау, Vue на целых две миллисекунды быстрее, чем React, при рендеринге тестового компонента в 1000 раз!»
Кто те люди, которые используют Vue? Те, кто недоволен сложностью, отображаемой React. Теперь команда Vue говорит мне, что «подход React более продвинут и подходит для опытных пользователей». Честно говоря, это оскорбление. Мы давно предсказывали, что сложность React не стоит того, чтобы наша команда пробовала, или мы столкнулись с проблемами в процессе использования React, поэтому мы выбираем Vue, потому что Vue решает эти проблемы и может делать это с React так же эффективно.
Как победить React на территории React? Кажется, у Vue 3 есть ответ. Поздравляем вашу команду Vue с победой над React, но мы не ждем этого ответа. Это не тот ответ, который мы хотим дать нашим командам, нашим боссам, нашим заинтересованным сторонам.
Я хочу задать вам вопрос: как мне управлять своим кодом? Долгосрочным решением было бы переписать весь код в моем приложении (во времена существования Vue 3), а затем вернуться к тому, с чего я начал, где я отказался от React и перешел на Vue 2. Считаете ли вы справедливым просить своих пользователей сделать это? Вы уверены, что это тот результат, который вам нужен?
Ю Юйси ответила:
Во-первых, новый API имеет мало общего с производительностью, улучшение производительности Vue 3 в основном связано с новой стратегией компиляции шаблонов.
Во-вторых, я думаю, что это немного неуместно, что вы упрощаете проблему в новом API, который усложняет. Этот RFC трудно понять, потому что он содержит так много информации. Вы можете взглянуть на этот пример, и вы, вероятно, увидите, что новый API не вносит новую сложность:https://gist.github.com/yyx990803/762ec427882a61be3e4affe02f8af555
У Vue огромное количество пользователей, и я, честно говоря, не понимаю, почему добавление кучи API было бы оскорбительным. Поскольку мы ясно понимаем, что в некоторых случаях новый API будет более элегантным, возможно, вы не сталкивались с такими случаями (я не говорю, что ваши текущие потребности невелики). Мы имеем дело с разными приложениями, поэтому мы должны учитывать эти ситуации. И наоборот, было бы оскорбительно думать, что Vue никогда не столкнется с требованием, достаточно сложным, чтобы использовать эти новые API.
Наконец, чтобы ответить на ваш вопрос: вы можете продолжать использовать старый API столько, сколько захотите. Пока сообщество считает необходимым сохранить старый API, мы будем его сохранять. Мы не будем заставлять вас использовать новый API.
Другой прокомментировал:
Я просто хочу сказать, что в RFC есть одно серьезное изменение, которое ранее было написано как «стандартная версия» и «совместимая версия», стандартная версия не поддерживает data/computed/methods/watch/provide/inject/mixins/ extends и все циклы объявлений.
После обновления RFC предыдущая «Совместимая версия» стала «Стандартной версией», а предыдущая «Стандартная версия» стала «Легкой версией».
десант сказал:
Слово «совместимость» описывает отношение команды Vue к старым API. Совместимый значит устаревший для меня.
boubiyah сказал:
Я не знаю, почему Юси Ю не мог быть более откровенным в названии этих двух версий.
Почему бы Вам просто не сказать: «У меня есть некоторые проблемы с названием версии и планами на будущее, и ответ сообщества дал мне знать, что я должен пересмотреть формулировку».
Вместо этого он сказал: «О чем ты говоришь? Я всегда так думал».
Густойс говорит:
Это может быть отчасти моя вина. You Yuxi уделяет основное внимание технической стороне, в то время как я уделяю внимание сообществу. Мы не знали о потенциальных проблемах с именованием версий.
Наконец, всего 6 часов назад Ю Юйси написала в Твиттере:
Earlier today I was really itching to write a dedicated blog post for those who did not and still refuse to actually read the RFC, but it's my wife's birthday so I'll do it tomorrow.
Я очень хотел на днях написать отдельную статью для тех, кто еще не читал RFC, но сегодня день рождения моей жены, так что эту статью я напишу завтра.
Дополнение: Китайская версия RFC не обновлялась
Заканчивать.