Solid.js - преемник React? Мое впечатление.

  Рет қаралды 5,532

Ayub Begimkulov

9 ай бұрын

В данном видео я делаюсь своим мнением о Solid.js после написания на нем небольшого проекта. Поговорим про то, как работает солид, каким образом он может эффективно обновлять ваш template. Обсудим плюсы, минусы и мое мнение о данной библиотеке.
Ссылка на Телеграмм канал:
telegram.me/ayub_begimkulov_coding
Примеры кода из видео:
github.com/Ayub-Begimkulov/youtube-tutorials/tree/master/solid-js-first-impression
00:00 - Интро
00:30 - Понимаем базу Solid.js
02:56 - Смотрим на пример в браузере
03:28 - Понимаем, во что компилятся компоненты в Solid
05:48 - Смотрим на эффективное обновление template
07:16 - Особенность атрибутов
08:01 - Смотрим на пример с Todo List
14:31 - Смотрим на Todo List в браузере
14:57 - Странное API у createStore
18:50 - Разница между createSignal и createStore
21:46 - Схожести React и Solid
22:54 - Плюсы
25:44 - К чему надо привыкнуть
26:24 - Минусы
30:24 - Заключение

Пікірлер: 40
@AbdullokhO
@AbdullokhO 9 ай бұрын
Тоже хотел его опробовать, пока руки не дошли, крутая работа Ayub
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Спасибо!
@mody-pq8kd
@mody-pq8kd 9 ай бұрын
Пропсы можно делить с помощью встроенной утилиты splitProps. Еще есть классные функции: 1) batch - вызванные внутри сеттеры тригернут только один ререндер. 2) untrack - вызванные внутри сеттеры не будут тригерить ререндер
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
С пропсами видел эту возможность, но на выходе все равно объект будет, просто разделенный на части. А по поводу функций, мне untrack очень понравился. В реакте для этого дела приходится костыли с useRef использовать.
@elena_sva
@elena_sva 9 ай бұрын
В примере где todos как сигнал посмотрите условие на 35 строке. Это в т.ч. влияет на результат работы.
@krasniy_traktor
@krasniy_traktor 9 ай бұрын
Давайте разберем Svelte?
@ayub_begimkulov
@ayub_begimkulov 8 ай бұрын
Есть в планах. Думаю доберусь скоро)
@kolyan4d
@kolyan4d 9 ай бұрын
Посмотрел до 0:33, поставил на паузу и хочу сразу сказать, что Solid.js крутой фреймворк, спасибо за обзор!
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Да, перспектива есть. Надо экосистему развивать.
@kol4an721
@kol4an721 9 ай бұрын
Для пропсов же есть splitProps, mergeProps, которые как раз вроде бы и позволяют разделить или объединить пропсы без потери реактивности
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Да, есть. Но это не деструктуризация же. На выходе будет все равно объект. Я скорее про это говорил.
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
тут проблем как раз не в разделении. а просто в том, что нужно писать someThing.someProp)
@kol4an721
@kol4an721 9 ай бұрын
@@ayub_begimkulov кривотивность
@ummyusuf8206
@ummyusuf8206 9 ай бұрын
🎉🎉🎉🎉🎉
@silkpelican
@silkpelican 9 ай бұрын
обожаю Vue с его SFC и composition api, ни на что не променяю ) Прям глазам больно смотреть на смешивание html с js. Хотя и в нём тоже можно JSX использовать или рендер функции.
@knowledgedose1956
@knowledgedose1956 9 ай бұрын
так это не html😂, в том и дело. а в целом, это просто дело привычки, какие-то фреймворки делают строго шаблоны, какие-то используют jsx. это просто разный подход
@silkpelican
@silkpelican 9 ай бұрын
@@knowledgedose1956 Я знаю, это такой синтаксис, который выглядит как js перемешанный с html :) С vue composition мне удобно переключатся на проекты на чистом js/ts и переиспользовать какой-то код между ними.
@cranberry888
@cranberry888 9 ай бұрын
​@@silkpelicanа как выучить vue подскажите пожалуйста, хочу с реакта перейти
@silkpelican
@silkpelican 9 ай бұрын
@@cranberry888 Наверно попробовать сделать что-то простое, документация "get started", посмотреть видео как кто-то делает проектик небольшой, найти что-то на гитхабе и посмотреть как там сделано. Документация очень хорошая на мой взгляд.
@sergeydostovalov6180
@sergeydostovalov6180 6 ай бұрын
Да можете сравнить на сколько озон, написанный на вью, работает быстрее, плавнее и отзывчивее яндекс маркета на реакте, которым пользоваться крайне неприятно. Вот вам и цена ререндера.
@progi99
@progi99 9 ай бұрын
так не надо нам замен, мы только вот реакт начали изучать
@un_defined
@un_defined 4 ай бұрын
я бы все же вывод поставил в начало, дабы не тратить время на то что нет смысла использовать пока
@johncanvas4617
@johncanvas4617 9 ай бұрын
прЕемник
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Ага, поправил! Спасибо!
@SGWebDeveloper
@SGWebDeveloper 9 ай бұрын
Нужно понимать что все преимущества менее популярных фреймворков рано или поздно будут реализованы в тех же популярных и все. Они также стремительно развиваются а не стоят на месте , так что дело времени , но потыкать можно .
@user-qe4hh6qq9u
@user-qe4hh6qq9u 9 ай бұрын
Тут зависит от самой технологии наверно, и команды. Любой "конкурент реакта" своим преимуществом ставит малый размер бандла, команда реакта не разу не сделал шаг в этом направлении. Так же как и развитие cra.
@gooseob
@gooseob 9 ай бұрын
@@user-qe4hh6qq9u cra уже год не обновлялся
@justinnl4332
@justinnl4332 9 ай бұрын
ага, только вот react dom production min js как был 40 килобайт так и остался, fine grained reactivity как не было так и нет.
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Не совсем. Тут подходы полностью разные. Если реакт реализует преимущества sold - то это будет другой фреймворк.
@user-qe4hh6qq9u
@user-qe4hh6qq9u 9 ай бұрын
@@ayub_begimkulov Обратное вашему утверждению можно считать есть, solid реализует тоже самое что react, только чуть другие правила(это со стороны разработчика, jsx, компонент= функция и тп). Проблема в том что реакт имеет огромное комьюнити и уже не способен на большие перемены(как было с хуками, сколько тогда хейта было). А мы так этого ждём)))
@user-gn5th5gt2w
@user-gn5th5gt2w 9 ай бұрын
асинхронщина?
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Ага, забыл про нее рассказать. Но в этом плане тут все очень похоже на React. Есть createEffect, который имеет почти идентичный механизм с useEffect.
@AlexeyProgramming
@AlexeyProgramming 9 ай бұрын
Емае сделайте уже нормальный фрейм с двухсторонним биндингом примитивов и объедков, хватит уже этих хуков, либу в майнкрафт превратили 💩
@knowledgedose1956
@knowledgedose1956 9 ай бұрын
Объедков?😂
@AlexeyProgramming
@AlexeyProgramming 9 ай бұрын
@@knowledgedose1956 никогда не делали new Objecdk? 🤭
@fedordostoevskiy4209
@fedordostoevskiy4209 9 ай бұрын
Насколько круче fastify от самого Коллина чем express, который не поддерживает никто? Намного! А всё пишут на express и будут писать, всё знакомо и проверено.
@user-qe4hh6qq9u
@user-qe4hh6qq9u 9 ай бұрын
Тут согласен, насколько бы реакт не был плох в сравнении с другими фреймворками(preact/solid - размер и скорость, svelte - простота) его все равно выбирают. Вопрос только, а кто выбирает? Если есть новый проект, команда опытная, хотят сделать хорошо и не важно комьюнити и "старые наработки" думаю что solid/svelte хороший выбор.
@user-qe4hh6qq9u
@user-qe4hh6qq9u 9 ай бұрын
Про express в точку, хоть и половина "аудитории" это новички которые посмотрели 1 ролик на Ютубе и повторяют за автором(как и react). Наверно сейчас стабильность и удобство важнее скорости. Сколько примеров было когда "делаем высоконагруженный сервер, наш выбор python + java"
@ayub_begimkulov
@ayub_begimkulov 9 ай бұрын
Тут согласен. Пока нету каких-то значимых проблем либо сильных улучшений - народ будет не охотно переходить. Но мне кажется дело еще не самой библиотеке, а еще и в экосистеме и простоте найма.
@nade3282
@nade3282 9 ай бұрын
давай vue
ДЕНЬ РОЖДЕНИЯ БАБУШКИ #shorts
00:19
Паша Осадчий
Рет қаралды 2,4 МЛН
1❤️
00:20
すしらーめん《りく》
Рет қаралды 31 МЛН
顔面水槽がブサイク過ぎるwwwww
00:58
はじめしゃちょー(hajime)
Рет қаралды 124 МЛН