lit
Первый lit был очень крутым - минимальный, но функциональный рантайм движек для html темплейтов. Он был почти идеальный и я даже как-то хотел начать использовать его как основной тул для построения интерфейсов, но не хватило поддержки TypeScript (плагин в IDE тогда работал так себе).
А потом вышла вторая версия и я немного подрастроился: апи стало сложнее - лит стал больше походить на фреймворк. Еще из минусов - SSR упирается в Declarative Shadow DOM support.
Но вот в твиттере расказывают что он очень даже популярный. Из преимуществ над реактом: ближе к нативке, легче, быстрее (между солидом и свелтом).
Ознакомиться, определенно, рекомендую, что бы понять как еще бывает: lit.dev
А если хочется что-то подобное первому литу: github.com/WebReflection/uhtml (2.8 kB)
Первый lit был очень крутым - минимальный, но функциональный рантайм движек для html темплейтов. Он был почти идеальный и я даже как-то хотел начать использовать его как основной тул для построения интерфейсов, но не хватило поддержки TypeScript (плагин в IDE тогда работал так себе).
А потом вышла вторая версия и я немного подрастроился: апи стало сложнее - лит стал больше походить на фреймворк. Еще из минусов - SSR упирается в Declarative Shadow DOM support.
Но вот в твиттере расказывают что он очень даже популярный. Из преимуществ над реактом: ближе к нативке, легче, быстрее (между солидом и свелтом).
Ознакомиться, определенно, рекомендую, что бы понять как еще бывает: lit.dev
А если хочется что-то подобное первому литу: github.com/WebReflection/uhtml (2.8 kB)
👍6🥰1
Putout
Кодмоды очень упрощают миграцию с одной апишки / либы на другую и наоборот, без них миграция может сильно затянуться или придется вовсе от нее отказаться. В JS экосистеме стандартом, пожалуй, является JSCodeshift, но его апишка достаточно вербозная, приближенная к AST.
Лично мне для таких задач хотелось бы иметь какой-то простой язык шаблонов, который бы позволял описывать паттерны кода с нужными фрагментами и иметь возможность их трансформировать. Как @babel/template.
Но недавно я наткнулся (на автора в твиттере) на совсем мощный (с виду, еще не пробовал) инструмент: Putout.
В этой статье приведено несколько хороших примеров использования, например как просто трансформировать аргументы функции в именованные свойства объекта:
(на скринах код “было” и “стало”, код трансформации на jscodeshift, код трансформации на putout)
Кодмоды очень упрощают миграцию с одной апишки / либы на другую и наоборот, без них миграция может сильно затянуться или придется вовсе от нее отказаться. В JS экосистеме стандартом, пожалуй, является JSCodeshift, но его апишка достаточно вербозная, приближенная к AST.
Лично мне для таких задач хотелось бы иметь какой-то простой язык шаблонов, который бы позволял описывать паттерны кода с нужными фрагментами и иметь возможность их трансформировать. Как @babel/template.
Но недавно я наткнулся (на автора в твиттере) на совсем мощный (с виду, еще не пробовал) инструмент: Putout.
В этой статье приведено несколько хороших примеров использования, например как просто трансформировать аргументы функции в именованные свойства объекта:
(на скринах код “было” и “стало”, код трансформации на jscodeshift, код трансформации на putout)
🔥10👍4🤯3🤡1
artalog
Недостатки Preact Большая часть особенностей описана в документации. От себя добавлю: - проблемы с типами при использовании реакт кода / либ, в основном из-за отсутствия синтетической системы событий (привет порталы) и плохой типизации DOM впринципе (проще…
marvinh.dev
Preact's best kept secret
This post is about "option hooks", a powerful feature that is used behind the scenes in `preact/compat` and `preact/hooks`. As a user you don't need to know about these to use Preact. This post is rather a deep dive into the internals of Preact
🤡1
cookie VS localStorage.
Вот вам краткая шпаргалка, на случай необходимости выбора между ними.
Несколько уточнений.
XSS для кук не актуален при HttpOnly.
“загрузка больших файлов” через
Ну и обратите внимание на последний пункт, об этом редко говорят, для каких-то систем это может быть критически важно.
Вот вам краткая шпаргалка, на случай необходимости выбора между ними.
Несколько уточнений.
XSS для кук не актуален при HttpOnly.
“загрузка больших файлов” через
Content-Disposition по прямой ссылке при ограниченном к ним доступе работает прозрачно с куками, иначе нужно плодить отдельный сервис генерации временных ссылок.Ну и обратите внимание на последний пункт, об этом редко говорят, для каких-то систем это может быть критически важно.
👍19😁1🤡1
Forwarded from { между скобок } анонсы 📣 (Grisha Skobelev)
CHAPTER 9: Design a web crawler
В публичный доступ вышло интересное и полезное обсуждение про web crawler. Советую вам заценить - Сергея UfoCoder сделал классную презентацию, где разобрал в деталях как работает поисковый робот. Так же обсудили на что стоит обратить внимание и какие возможные проблемы могут быть. Еще в самом начале Андрей показал нам артефакты из прошлого ❤️ Получилось очень лампово.
Видео уже на YouTube
PS поддержите пожалуйста нас лайком и хорошим комментарием на YouTube 🙏 Ваша поддержка помогает нам дальше заниматься этим
В публичный доступ вышло интересное и полезное обсуждение про web crawler. Советую вам заценить - Сергея UfoCoder сделал классную презентацию, где разобрал в деталях как работает поисковый робот. Так же обсудили на что стоит обратить внимание и какие возможные проблемы могут быть. Еще в самом начале Андрей показал нам артефакты из прошлого ❤️ Получилось очень лампово.
Видео уже на YouTube
PS поддержите пожалуйста нас лайком и хорошим комментарием на YouTube 🙏 Ваша поддержка помогает нам дальше заниматься этим
YouTube
CHAPTER 9: Design a web crawler
Разберемся какие есть варианты проектирования масштабируемого web crawler, какие есть нетривиальные подводные камни и как их обойти.
Помогать в обсуждении будут
📍Сергей Иванов - в прошлом типичный веб-разработчик. Сейчас frontend-разработчик мечтающий…
Помогать в обсуждении будут
📍Сергей Иванов - в прошлом типичный веб-разработчик. Сейчас frontend-разработчик мечтающий…
❤4🤡1
#why_ff_is_bad
Как же у меня горит 🙃
Вот самый первый пример из экзамплов react-final-form, включите “Highlight updates” в реактовских девтулзах - мигает все при любом инпуте.
Сам useField / Field создается чудовищно долго, вот мои наблюдения.
Я уже писал о разных багах и недочетах.
Сейчас пытаюсь сделать адаптер для переезда с ff и столкнулся с целой кучкой проблем final-form-arrays, просто поразительно как все плохо может быть, если не думать наперед.
Какая альтернатива? Говорят react-hook-form.com самый нормальный (не без проблем). А я пока пилю пакет для реатома, никаких революций, просто пытаюсь сделать нормально и что бы скейлилось.
P.S. если у вас не форм билдер и нет зависимых полей - отдельная либа и не нужна, у нативки достаточно фишек.
Как же у меня горит 🙃
Вот самый первый пример из экзамплов react-final-form, включите “Highlight updates” в реактовских девтулзах - мигает все при любом инпуте.
Сам useField / Field создается чудовищно долго, вот мои наблюдения.
Я уже писал о разных багах и недочетах.
Сейчас пытаюсь сделать адаптер для переезда с ff и столкнулся с целой кучкой проблем final-form-arrays, просто поразительно как все плохо может быть, если не думать наперед.
Какая альтернатива? Говорят react-hook-form.com самый нормальный (не без проблем). А я пока пилю пакет для реатома, никаких революций, просто пытаюсь сделать нормально и что бы скейлилось.
P.S. если у вас не форм билдер и нет зависимых полей - отдельная либа и не нужна, у нативки достаточно фишек.
final-form.org
Final Form Docs – Examples
🙏5👎1🤡1
artalog
Рисование в excalidraw.com меня прям расслабляет.
Не всем нравятся такие простые сервисы как excalidraw, но если вас зацепило - вот еще tldraw.com
Там рисование от руки хорошо сделано, об этом много в тви писал автор. Судя по его постам, сделать линию похожую на такую же из физического мира ооочень сложно. Как минимум, отклик сенсора не мгновенный и сложно понять на сколько крутой поворот и как рисовать при быстром движении руки. Из таких мелочей качество и формируется.
Там рисование от руки хорошо сделано, об этом много в тви писал автор. Судя по его постам, сделать линию похожую на такую же из физического мира ооочень сложно. Как минимум, отклик сенсора не мгновенный и сложно понять на сколько крутой поворот и как рисовать при быстром движении руки. Из таких мелочей качество и формируется.
👍7
Forwarded from Reatom новости
В
Ну те да, можно безопасно делать сайд эффекты в чистых функциях.
ctx.schedule можно передать второй аргумент - место в очереди. “-1“ - это очередь роллбеков, которые будут вызваны в случае появления ошибки в транзакции.Ну те да, можно безопасно делать сайд эффекты в чистых функциях.
🤡4
Изучил подробнее вчера react-hook-form. Во многом понравилось: близко к нативке, хорошо организована документация.
Но интереснее обсудить проблемы 🙂
- не понятно зачем основная апишка заставляет спредить onChange, onBlur, onFocus в компонент вместе с рефом, почему бы просто не кидать реф и не делать addEventListener, должно быть быстрее по перфу, мне кажется.
- нет примера зависимых форм
- useRef сетит в current переданное значение единожды при первом рендере, передавать, ведь в register происходит куча всего
- зачем столько useCallback, почему не использовать один useMemo, зависимости одни и теже же
- (upd) не трекает конкуренции асинхронных валидаций
Мелочи это все.., то createFormControl.ts на 1.3к строк меня пугает и полистав его у меня сложилось сильное впечатление избыточной сложности или недостаточной элегантности используемых примитивов.
Все это не должно вас отпугивать от этой либы (потому что альтернативы нет?), просто хотел поделиться тем что нарыл.
Но интереснее обсудить проблемы 🙂
- не понятно зачем основная апишка заставляет спредить onChange, onBlur, onFocus в компонент вместе с рефом, почему бы просто не кидать реф и не делать addEventListener, должно быть быстрее по перфу, мне кажется.
- нет примера зависимых форм
- useRef сетит в current переданное значение единожды при первом рендере, передавать, ведь в register происходит куча всего
- зачем столько useCallback, почему не использовать один useMemo, зависимости одни и теже же
- (upd) не трекает конкуренции асинхронных валидаций
Мелочи это все.., то createFormControl.ts на 1.3к строк меня пугает и полистав его у меня сложилось сильное впечатление избыточной сложности или недостаточной элегантности используемых примитивов.
Все это не должно вас отпугивать от этой либы (потому что альтернативы нет?), просто хотел поделиться тем что нарыл.
👍12🤔1🤡1