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

Поділитися
Вставка
  • Опубліковано 11 лип 2024
  • В данном видео я делаюсь своим мнением о Solid.js после написания на нем небольшого проекта. Поговорим про то, как работает солид, каким образом он может эффективно обновлять ваш template. Обсудим плюсы, минусы и мое мнение о данной библиотеке.
    Ссылка на Телеграмм канал:
    telegram.me/ayub_begimkulov_c...
    Примеры кода из видео:
    github.com/Ayub-Begimkulov/yo...
    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 11 місяців тому +3

    Тоже хотел его опробовать, пока руки не дошли, крутая работа Ayub

  • @mody-pq8kd
    @mody-pq8kd 11 місяців тому +7

    Пропсы можно делить с помощью встроенной утилиты splitProps. Еще есть классные функции:
    1) batch - вызванные внутри сеттеры тригернут только один ререндер.
    2) untrack - вызванные внутри сеттеры не будут тригерить ререндер

    • @ayub_begimkulov
      @ayub_begimkulov  10 місяців тому

      С пропсами видел эту возможность, но на выходе все равно объект будет, просто разделенный на части. А по поводу функций, мне untrack очень понравился. В реакте для этого дела приходится костыли с useRef использовать.

  • @kolyan4d
    @kolyan4d 11 місяців тому +5

    Посмотрел до 0:33, поставил на паузу и хочу сразу сказать, что Solid.js крутой фреймворк, спасибо за обзор!

    • @ayub_begimkulov
      @ayub_begimkulov  11 місяців тому +2

      Да, перспектива есть. Надо экосистему развивать.

  • @ummyusuf8206
    @ummyusuf8206 10 місяців тому +1

    🎉🎉🎉🎉🎉

  • @elena_sva
    @elena_sva 11 місяців тому +1

    В примере где todos как сигнал посмотрите условие на 35 строке. Это в т.ч. влияет на результат работы.

  • @krasniy_traktor
    @krasniy_traktor 11 місяців тому +4

    Давайте разберем Svelte?

    • @ayub_begimkulov
      @ayub_begimkulov  10 місяців тому +1

      Есть в планах. Думаю доберусь скоро)

  • @kol4an721
    @kol4an721 11 місяців тому +3

    Для пропсов же есть splitProps, mergeProps, которые как раз вроде бы и позволяют разделить или объединить пропсы без потери реактивности

    • @ayub_begimkulov
      @ayub_begimkulov  10 місяців тому

      Да, есть. Но это не деструктуризация же. На выходе будет все равно объект. Я скорее про это говорил.

    • @ayub_begimkulov
      @ayub_begimkulov  10 місяців тому

      тут проблем как раз не в разделении. а просто в том, что нужно писать someThing.someProp)

    • @kol4an721
      @kol4an721 10 місяців тому

      @@ayub_begimkulov кривотивность

  • @silkpelican
    @silkpelican 11 місяців тому +5

    обожаю Vue с его SFC и composition api, ни на что не променяю ) Прям глазам больно смотреть на смешивание html с js. Хотя и в нём тоже можно JSX использовать или рендер функции.

    • @knowledgedose1956
      @knowledgedose1956 11 місяців тому

      так это не html😂, в том и дело.
      а в целом, это просто дело привычки, какие-то фреймворки делают строго шаблоны, какие-то используют jsx. это просто разный подход

    • @silkpelican
      @silkpelican 11 місяців тому

      @@knowledgedose1956 Я знаю, это такой синтаксис, который выглядит как js перемешанный с html :) С vue composition мне удобно переключатся на проекты на чистом js/ts и переиспользовать какой-то код между ними.

    • @cranberry888
      @cranberry888 10 місяців тому

      ​@@silkpelicanа как выучить vue подскажите пожалуйста, хочу с реакта перейти

    • @silkpelican
      @silkpelican 10 місяців тому

      @@cranberry888 Наверно попробовать сделать что-то простое, документация "get started", посмотреть видео как кто-то делает проектик небольшой, найти что-то на гитхабе и посмотреть как там сделано. Документация очень хорошая на мой взгляд.

  • @sergeydostovalov6180
    @sergeydostovalov6180 7 місяців тому +1

    Да можете сравнить на сколько озон, написанный на вью, работает быстрее, плавнее и отзывчивее яндекс маркета на реакте, которым пользоваться крайне неприятно. Вот вам и цена ререндера.

  • @un_defined
    @un_defined 6 місяців тому

    я бы все же вывод поставил в начало, дабы не тратить время на то что нет смысла использовать пока

  • @progi99
    @progi99 11 місяців тому +2

    так не надо нам замен, мы только вот реакт начали изучать

  • @johncanvas4617
    @johncanvas4617 11 місяців тому +3

    прЕемник

    • @ayub_begimkulov
      @ayub_begimkulov  11 місяців тому

      Ага, поправил! Спасибо!

  • @SGWebDeveloper
    @SGWebDeveloper 11 місяців тому

    Нужно понимать что все преимущества менее популярных фреймворков рано или поздно будут реализованы в тех же популярных и все. Они также стремительно развиваются а не стоят на месте , так что дело времени , но потыкать можно .

    • @user-qe4hh6qq9u
      @user-qe4hh6qq9u 11 місяців тому +1

      Тут зависит от самой технологии наверно, и команды. Любой "конкурент реакта" своим преимуществом ставит малый размер бандла, команда реакта не разу не сделал шаг в этом направлении. Так же как и развитие cra.

    • @gooseob
      @gooseob 11 місяців тому

      @@user-qe4hh6qq9u cra уже год не обновлялся

    • @justinnl4332
      @justinnl4332 10 місяців тому +2

      ага, только вот react dom production min js как был 40 килобайт так и остался, fine grained reactivity как не было так и нет.

    • @ayub_begimkulov
      @ayub_begimkulov  10 місяців тому

      Не совсем. Тут подходы полностью разные. Если реакт реализует преимущества sold - то это будет другой фреймворк.

    • @user-qe4hh6qq9u
      @user-qe4hh6qq9u 10 місяців тому

      @@ayub_begimkulov Обратное вашему утверждению можно считать есть, solid реализует тоже самое что react, только чуть другие правила(это со стороны разработчика, jsx, компонент= функция и тп). Проблема в том что реакт имеет огромное комьюнити и уже не способен на большие перемены(как было с хуками, сколько тогда хейта было). А мы так этого ждём)))

  • @user-gn5th5gt2w
    @user-gn5th5gt2w 11 місяців тому

    асинхронщина?

    • @ayub_begimkulov
      @ayub_begimkulov  10 місяців тому +1

      Ага, забыл про нее рассказать. Но в этом плане тут все очень похоже на React. Есть createEffect, который имеет почти идентичный механизм с useEffect.

  • @AlexeyProgramming
    @AlexeyProgramming 11 місяців тому

    Емае сделайте уже нормальный фрейм с двухсторонним биндингом примитивов и объедков, хватит уже этих хуков, либу в майнкрафт превратили 💩

    • @knowledgedose1956
      @knowledgedose1956 11 місяців тому

      Объедков?😂

    • @AlexeyProgramming
      @AlexeyProgramming 11 місяців тому

      @@knowledgedose1956 никогда не делали new Objecdk? 🤭

  • @nade3282
    @nade3282 11 місяців тому +2

    давай vue

  • @fedordostoevskiy4209
    @fedordostoevskiy4209 11 місяців тому +1

    Насколько круче fastify от самого Коллина чем express, который не поддерживает никто? Намного! А всё пишут на express и будут писать, всё знакомо и проверено.

    • @user-qe4hh6qq9u
      @user-qe4hh6qq9u 11 місяців тому

      Тут согласен, насколько бы реакт не был плох в сравнении с другими фреймворками(preact/solid - размер и скорость, svelte - простота) его все равно выбирают. Вопрос только, а кто выбирает? Если есть новый проект, команда опытная, хотят сделать хорошо и не важно комьюнити и "старые наработки" думаю что solid/svelte хороший выбор.

    • @user-qe4hh6qq9u
      @user-qe4hh6qq9u 11 місяців тому

      Про express в точку, хоть и половина "аудитории" это новички которые посмотрели 1 ролик на Ютубе и повторяют за автором(как и react). Наверно сейчас стабильность и удобство важнее скорости. Сколько примеров было когда "делаем высоконагруженный сервер, наш выбор python + java"

    • @ayub_begimkulov
      @ayub_begimkulov  10 місяців тому

      Тут согласен. Пока нету каких-то значимых проблем либо сильных улучшений - народ будет не охотно переходить. Но мне кажется дело еще не самой библиотеке, а еще и в экосистеме и простоте найма.