Вышла бетта версия новых Vue devtools
Может поставиться рядом со старой как расширение браузера, но её надо будет отключать, чтобы вернуться в старую
Пока заметен более читабельный UI и нормальные 'Настройки'
В версии браузерного расширения нет всех заявленных фич:
В самом проекте используют
#vuedevtools
Может поставиться рядом со старой как расширение браузера, но её надо будет отключать, чтобы вернуться в старую
Пока заметен более читабельный UI и нормальные 'Настройки'
В версии браузерного расширения нет всех заявленных фич:
Inspect
, Graph
и других. Только базовые.В самом проекте используют
unplugin-auto-import
, unplugin-vue-components
и UnoCSS
, что как бы, как бы, как бы... ((( 😢<template>
<div h-full w-full of-auto px8 py6>
<IconTitle
class="mb-5 text-xl op75"
icon="i-carbon-settings-adjust"
text="DevTools Settings"
/>
<div grid="~ md:cols-[repeat(auto-fit,minmax(16rem,1fr))] gap-x-10 gap-y-3" max-w-300>
<div flex="~ col gap-2">
<h3 text-lg>
Tabs
</h3>
<template v-for="[{ name, hidden }, tabs] of categories" :key="name">
<VueCard
v-if="tabs.length" p3 flex="~ col gap-1"
:class="hidden ? 'op50 grayscale' : ''"
>
#vuedevtools
29 и 30 июня 2024 года Certificates.dev бесплатно на 48 часов откроет доступ к тренировочным материалам на соискание ученой степени Certified Vue.js Developer.
Включает в себя теорию, задачи по кодированию и пробный экзамен.
#certification
Включает в себя теорию, задачи по кодированию и пробный экзамен.
#certification
Новый бандлер Эвана
Меж тем работа над
Похоже, это основной проект команды Эвана сейчас.
#rolldown
Rolldown
еще не вышел, но уже появились бандлеры на его основе - tsdownМеж тем работа над
Rolldown
идет активно.Похоже, это основной проект команды Эвана сейчас.
#rolldown
GitHub
GitHub - rolldown/tsdown: The elegant bundler for libraries powered by Rolldown
The elegant bundler for libraries powered by Rolldown - rolldown/tsdown
Вчера в стриме по результатам опроса State of JS 2023 Илья Климов не справился с элементарной математикой, заявив, что недовольных своим фреймворком разработчиков во
На самом деле, исходя из диаграммы именно пользователей, получивших негативный опыт, у
Что довольно странно.
Чем вы недовольны, ***?
#vue #react
Vue
почти в два раза меньше, чем в React
. На самом деле, исходя из диаграммы именно пользователей, получивших негативный опыт, у
Vue
больше - 24% против 23.5% у React
Что довольно странно.
Чем вы недовольны, ***?
#vue #react
На прошедших выходных можно было попробовать тренировочные материалы и пробный тест на
Как сам сайт (привет,
У составителей (
Тестирование требует для прохождения современный браузер, не
В экосистеме
#certification
Certified Vue.js Developer
.Как сам сайт (привет,
Nuxt
) глючный, так и вопросы-ответы подготовлены плохо. У составителей (
Vue School
, между прочим!) проблемы как с английским, так и с Vue
, в результате есть такие вот некорректные вопросы, в которых надо думать не над сутью вопроса, а тем, "что хотел сказать автор". Не верится, что Эван ревьюил этот тест, как они утверждают.Тестирование требует для прохождения современный браузер, не
Firefox
. В последние годы титул тормоза прогресса в вебе от IE
и Safari
плавно перешел именно к Firefox
.Certified Senior Vue.js Developer
еще не готов. Видимо, ихние маркетологи решили сперва содрать со всех за Certified Vue.js Developer
, а потом за "сеньорский" титул. Кстати, цена за первый экзамен вроде упала до $50 в большинстве стран. Разработчик Middle-
его пройдет без проблем и подготовки. В экосистеме
Vue
много косяков, но сертификация, наверное, самый большой. #certification
Во
Реактивность будет не глубокой (
Так можно написать чуть более эффективный и минималистичный код, но использование этого не выглядит хорошей практикой.
Перед заменой функции происходит изменение некоего состояния компонента/приложения. Вот на него лучше и ориентироваться.
#reactivity
Vue
реактивными могут быть не только обычные переменные, но также ссылка на функцию, что вполне в духе JS
:<script setup>
import { computed, ref } from 'vue'
const f = ref(() => "Hello");
const v = computed(() => {
return f.value();
});
setTimeout(() => {
f.value = () => "World";
}, 3000 );
</script>
<template>
<h1>{{ v }}</h1>
</template>
Реактивность будет не глубокой (
shallow
)Так можно написать чуть более эффективный и минималистичный код, но использование этого не выглядит хорошей практикой.
Перед заменой функции происходит изменение некоего состояния компонента/приложения. Вот на него лучше и ориентироваться.
#reactivity
О-очень интересная картинка о динамике развития различных библиотек и фреймворков со
Интерактивная версия
Хотя релевантность выборки для составления статистики под большим вопросом. Как помнится, по этим опросам неудовлетворенных пользователей
#js
State of JS
Интерактивная версия
Хотя релевантность выборки для составления статистики под большим вопросом. Как помнится, по этим опросам неудовлетворенных пользователей
Vue
у них получилось больше, чем неудовлетворенных пользователей React
#js
Для любителей
В качестве выводов - констатация факта, что по
#fsd #architecture
FSD
описание проекта на Vue на нем (тудушка)В качестве выводов - констатация факта, что по
FSD
все сделать нельзя, даже такой маленький проект, и надо искать компромисс между FSD
методами и не FSD
методами в одном проекте.#fsd #architecture
Хабр
Разработка фронтенда на основе FSD
Приветствую! С вами Вадим, frontend разработчик компании «Перспективный мониторинг». Сегодня хочу поделиться нашей типовой структурой frontend приложения, рассказать об архитектурной методологии,...
Задача:
Есть тяжелый сайт. Надо для хорошего UX показать какой-нибудь сплэш-скрин (глобальный прелоадер) в самом начале и отключить его после загрузки всех (по возможности) ресурсов и готовности сайта
Как это сделать без
Задача имеет минимум два решения - через
#challenge #css #html
Есть тяжелый сайт. Надо для хорошего UX показать какой-нибудь сплэш-скрин (глобальный прелоадер) в самом начале и отключить его после загрузки всех (по возможности) ресурсов и готовности сайта
Как это сделать без
JS
?Задача имеет минимум два решения - через
CSS
и через HTML
#challenge #css #html
По задаче выше
Сплэш-скрин (стартовая заставка) значительно улучшает UX. Во
В рамках задачи понятно, что показать сплэш-скрин в самом начале не проблема, нужно его убрать по условию. То есть, в конце загрузки сайта должно что-то прилететь, что его закроет.
CSS
Например, прилетит стиль (или в конце
Ещё вариант подсказали в комментариях - через
HTML
Интересней с
#challenge #css #html
Сплэш-скрин (стартовая заставка) значительно улучшает UX. Во
Vue
он ставится в index.html
и отключается в onMounted()
App.vue
В рамках задачи понятно, что показать сплэш-скрин в самом начале не проблема, нужно его убрать по условию. То есть, в конце загрузки сайта должно что-то прилететь, что его закроет.
CSS
Например, прилетит стиль (или в конце
html
файла, или css
файла).splash-screen {
display: none;
}
Ещё вариант подсказали в комментариях - через
:has()
. Возможны и другие способы.HTML
Интересней с
HTML
. Для этого можно использовать Declarative Shadow DOM (часть Web Components
), который позволяет строить Shadow DOM
без JS. У Shadow Root
есть слоты. Слот будет показывать дефолтное значение ( в нашем случае блок на весь экран с лоадером), пока не прогрузится <div slot="splash-screen">
, который его затрет.<template shadowrootmode="open">
<slot name="splash-screen">
<div class="splash-screen">Loading...</div>
</slot>
</template>
<!-- additional content -->
<div slot="splash-screen">
<div />
</div>
#challenge #css #html
Варианты определения пропсов с дефолтными значениями во
Vue
:// runtime declaration:
const props = defineProps({
foo: { type: String, required: true },
bar: { Type: Number, default: 0 },
});
// type-based declaration:
const props = withDefaults(defineProps<{
foo: string
bar?: number
}>(), {
bar: 0,
});
type Variant = "default" | "primary" | "secondary"
const props = defineProps({
variant: {
type: String as PropType<Variant>,
default: <Variant> "default"
}
})
На
C фронтом на бесплатном (= небыстром, плохо конфигурируемом) хостинге, с бэком на другом бесплатном (= небыстром) хостинге и реальным среднего размера веб приложением.
При повторных запусках сайта он будет открываться вообще мгновенно (за счет
#spa #pwa #webvitals #ssr
SPA
тоже можно выбивать страйки в Web Vitals
C фронтом на бесплатном (= небыстром, плохо конфигурируемом) хостинге, с бэком на другом бесплатном (= небыстром) хостинге и реальным среднего размера веб приложением.
При повторных запусках сайта он будет открываться вообще мгновенно (за счет
PWA
кэширования)#spa #pwa #webvitals #ssr