Так ли страшен Svelte как может показаться на первый взгляд ? Откуда он взялся и самое главное - стоит ли его изучать и какие у него перспективы? Попробуем разобраться вместе на примере существующего стека разнообразных web технологий
Отличный видос спасибо,! как раз думал попробовать Svelte. Про KDE - правда, сам использую Manjaro + KDE - всё устраивает, пока сам что-то с системой не сделаешь -- ничего не сломается. И да, никсы хороши когда у тебя AMD железо, на lenovo legion (AMD CPU & AMD GPU) проблем никаких, всё просто работает) и в игры играется и работается комфортно =)
Не нужен уже Vuex для Vue. Более того, сейчас Vue вообще может свободно обходиться без специальных Стейт-библиотек, поскольку функциональность store легко пишется за счет Composition API.
Раньше был Flash и Silverlight :) Но как понимаешь их не осталось - фронт един только js. Другое дело что есть некоторые альтернативы, но это направление пока ещё слишком свежо и применение в продакшене у него очень ограничено. как пример в ролике я рассказал про Livewire и Inertia.
У меня гештальт был на изучение React. По ощущению только самый упорный может его изучить. Теперь я один из таких. Но он меня бесит, поэтому копаю в сторону Svelte
Можно иметь Vue SSR и без Nuxt.js. Vite умеет делать клиентский и серверный бандл. Серверный бандл прогоняется через renderToString. Клиентский бандл подхватывает window.__INIT_STATE__. При этом используются только штатные средства Vue. Конечно, все немного сложнее, но не рокетсайнс. Кстати, SvelteKit тоже не обязательный для SSR, в данном случае используется также чистый Svelte+Vite. После разнообразных тестов выбрал Vue. Хоть у Svelte размер клиентского бандла гораздо меньше чем у Vue, но RPS для серверного бандла у Svelte неожиданно оказался в несколько раз меньше.
В реакте никогда не было реактивных переменных. Концепция реактивности существует во Vue и Svelte, но в реакте, несмотря на название - реактивности нет
Есть однонаправленная и двунаправленная реактивность. Во Vue тоже не для всех элементов двунаправленная. Двунаправленная - это палка о двух концах. В реакт однонаправленная везде.
там есть несколько, но самый продвинутый на мой взгляд тот который копирует api vue-router, единственная раздражающая вещь это то что нативно ahref линками не считает =/
Там не в чем особо разбираться, роутинг убогий и представляет из себя "программирование на файлах", особенно доставляет группировка маршрутов. Я пришёл из мира более комплексных и проработанных решений где многие бестпрактисы уже давным давно воплощены в либы и могу только пытаться спроецировать их в искажённом варианте. В целом контроль над ситуацией можно получить если абузить +layout.svelte который инициализируется перед рендером +page, но решение так себе. Забавно что в самом фреймворке предусмотрен server.js , но в исполнении SPA sveltekit его просто игнорирует. из-за этого приложение как бы лишается "бэкенда", хотя в последних патчнотах я видел что мелькали какие то упоминания, мол вроде бы теперь должно работать нормально, но я не проверял. Печально, но соевикам, по видимому, без разницы как структурно у них всё в приложении организованно, предполагаю что поддерживать чужие проекты это ад и боль.
Хотя бы то, что нарушается базовый принцип разделения логики и представления. Верстка внутри javascript кода - это вообще за гранью адекватного программирования.
@@alexperemey6046 не пиши jsx. Пиши вёрстку на чистом js. Почитай зачем существует jsx. Во вью и ангуляр самый топ писать не понятный синтаксис для циклов html элементов, условия и т. д.
@@ROX2 не знаю, но я сегодня весь день искал инфу по svelte, и многие были не давольны им(maintainer). Кто-то даже советовал SolidJs, говоря про то что в SolidJs maintainer адекватный в отличии от svelte. Но мне не понравился там синтаксис, он похож на react.
Было упомянуто следующее утверждение: в жс появились классы, а жсеры всё равно используют функциональное программирование.. Посмеялся с этого.. Я сам не сказать фронтендер, не сказать бекендер - и там, и там понемногу, но даже мне смешно слышать такое.. ООП в жс было, вроде как, с самого начала, еще до классов, но немного другое.. Текущая ситуацию, где ООП на классах популярнее, чем прототипное, случилась из-за стечения обстоятельств и нельзя назвать классовое ООП лучшим, по сравнению с прототипным. И это не относится к "функциональному программированию" никак, это вообще отдельная тема.. А то, что в жс добавили классы, это недоразумение, такого не должно было случиться.. Это всё для того, чтобы не жсерам было проще писать на жс, но адекватной причиной это нельзя назвать, язык от этого пострадал. Вообще надо сказать, что многие жсеры не понимают, что такое функциональное программирование, и конечно же не используют его.. И считать функциональное программирование глупостью - очень странно, тем более без понимания этого термина.. В общем, стоит сначала разобраться в терминах, потом смеяться над кем-то, иначе смеяться будут над тобой..
@@ROX2 да не, мужик, какие обиды.. мне весело было послушать.. тем более, с некоторыми утверждениями я согласен. ситуация с ssr мне тоже не нравится, сплошной костыль.. редакс - помойка..
чувак, ты когда пишешь видос, принимай во внимание, такую маленькую, ну совсем маленькую вещь, что иногда твои видосы смотрят с телефона (неожиданно, правда) . и там вообще нихрена ничего не понятно.
всё так, выход 5 версии должен был произойти ещё в конце 23 года, а тут альфа со слов рыжего только в прошлом месяце в статус кандидат релиза вышла и ещё пол года будет минимум
Сейчас Vue 3 огонь с его composition api. Для хранилища pinia, так же в composition api. И всё это на сборщике Vite. Сейчас использую Nuxt 3. В нём уже есть собственное хранилище. В общем кайфую.
Да, это всё очень похоже, но дьявол кроется в деталях - в vue очень много лишних телодвижений, даже с учётом композишена и pinia, например пиниа не умеет полностью обновлять своё состояние до пустого объекта и какие то параметры там должны быть определены изначально и сторы пинии нельзя сразу инициализировать через магическую $, попробуй Svelte - ты просто не поверишь что так бывает.