artalog
Ir al canal en Telegram
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов. Вопросы - @artalar.
Mostrar más4 273
Suscriptores
Sin datos24 horas
-47 días
+230 días
Archivo de publicaciones
4 273
И еще ключевые выводы:
Code as a materialized view — мы часто считаем код источником истины, потому что раньше его было сложнее всего переделывать, но теперь это уже не так. Если есть spec, её можно реализовывать по-разному, с разными техническими характеристиками.
Теперь маркетинг дороже реализации, и у команд не всегда есть на него достаточно сил.
Как всё это будет работать дальше: как Linux, как музыка. Есть разные дистрибутивы, разные ремиксы; нет единственного «правильного» варианта — есть вкусы, идеи и communities, которые объединяются и делают / поддерживают лучшие версии.
4 273
Repost from Work & Beer Balance
В посте выше шла речь о том что в гугла есть своя реализация всего. А что если бы они оставили те же контракты и апи что у либ замену которым они написали?
Вот вам еще одна история
Реакт, как и любоя другая библиотека состоит из двух частей - это контракты, способ описания логики который он предлагает. Майндсет если хотите.
А вторая часть это его реализация. Условно можно сказать что с точки зрения разработчика выбирающего стек - первое про то как удобно будет этим пользоваться, а второе как хорошо это будет работать.
И так как отдельно это не предлогалось, а самостоятельная реализация очень дорогая мы всегда рассмотраливали эти две половинки как части целого.
Была очень дорогой
Tanner Linsley для сайта tanstack и своего блога отделил апи реакта и написал его реализацию с тем что нужно ему.
Итог получился идентичен оргиниальному реакту (а не как преакт с компат слоем), хотя разница в реализации все же была
Часть этого навсегда вырезается. Конкурентный рендеринг, разделение времени, планировщик на основе lane’ов, React DevTools и клиентский десериализатор Flight вообще не реализованы. useTransition и useDeferredValue выполняются синхронно, startTransition — это просто fn(), а планировщик — обёртка над микротасками. Это продуктовые решения: TanStack Start либо в них не нуждается, либо за это отвечает другая часть стека.При этом все 200 тестов реакта проходят, и перф бенчмарках его реализация показывает в двое большую производительность. Самое интересное то что итоговая релазция на 80% меньше Конкретные цифры в виде табличек вы можете увидеть в оригинальном посте Теперь я буду внимательней присматриваться к случаям когда я что-то беру только ради удобной апи. Если можно выкинуть 80% веса не жертвуя удобством то почему бы и нет.
4 273
И еще ключевые выводы:
*Code as a materialized view* — мы часто считаем код источником истины, потому что раньше его было сложнее всего переделывать, но теперь это уже не так. Если есть spec, её можно реализовывать по-разному, с разными техническими характеристиками.
Теперь маркетинг дороже реализации, и у команд не всегда есть на него достаточно сил.
Как всё это будет работать дальше: как Linux, как музыка. Есть разные дистрибутивы, разные ремиксы; нет единственного «правильного» варианта — есть вкусы, идеи и communities, которые объединяются и делают / поддерживают лучшие версии.
4 273
LLM провайдеры отберут у нас работу, но не так как вы думали!
ну да, байт заголовок, но реально так и есть, они просто закроют половину SaaS
4 273
Собрал менеджер паролей на Reatom v1000.
Стек:
- Tauri v2, Reatom v1000, Lit
- Codex, Claude Code
- кастомные skills под Reatom/Lit
- самописный local RAG: Tree-sitter, Qdrant, BAAI/bge-m3, BAAI/bge-reranker-v2-m3
Попутно из проекта вынес два публичных пакета:
- @chromvoid/headless-ui — headless-слой для UI-поведения на Reatom v1000: состояние, actions, keyboard/focus-логика и WAI-ARIA-контракты без привязки к визуальному слою
- @chromvoid/uikit — тонкий Lit UI-kit поверх headless-ui: cv-* компоненты, theme-provider, токены темы и vendored Reatom/Lit runtime helpers
Что уже есть:
- local-first: данные остаются на устройстве
- несколько контейнеров: разные мастер-пароли открывают разные наборы секретов, то есть plausible deniability
- пароли, банковские карты, OTP
- браузерное расширение, которое получает секреты по зашифрованному каналу
- бэкапы и восстановление
- монтирование тома через FUSE
- встроенные аудио/видео-плееры, просмотр изображений, Markdown-заметки
- системный Credential Provider: можно хранить passkey в одном месте и использовать на разных устройствах
В работе:
- генерация SSH-ключей и свой SSH-agent с fallback на системный
- криптокошелек
- Remote Mobile to PC: USB, WSS, WebRTC; можно соединять два приложения как клиент-сервер
Пока есть только Android-версия. Позже планируются iOS, macOS, Linux и Windows.
Буду благодарен за любые отзывы, вопросы и техническую критику :)
https://github.com/chromvoid/
4 273
📸 Спустя 1/3 ультра подписки курсора невероятно рад представить вам https://reatom-jsx-gallery.vercel.app/
Исходники: https://github.com/reatom/reatom/tree/v1001/examples/reatom-jsx-gallery
(кстати, у нас и релиз новый под это: https://github.com/reatom/reatom/releases/tag/1001.1.0)
Фишки - А ИХ МНОГО:
• кроссплатформа ☀️
• просмотр всех файлов по всему дереву папки (рекурсивно)
• поддержка кучи форматов включая raw
• просмотр всего EXIF (ну с нормальными лейблами)
• разные, действительно полезные, режимы просмотра (с ресайзом на "+" "-")
• нереально быстрый просмотр фоток (после загрузки превьюшек - это еще оптимизирую)
• богатый и интересный выбор тем
• ничего кроме Reatom в зависимостях! 10к строк в исходниках, 60кб на загрузку!
Ну и конечно - 100500 багов 💔 (но часть я уже поправил)
4 273
Будем делать галерею фотографий на веб технология производительнее нативной в MacOS через пол часа (стрим).
4 273
Ближайшие две недели я открыт для консалтинга, ибо отпуск.
Могу отревьюить / отрефакторить / сделать целиком какой-то сложный модуль. Могу помочь улучшить перф вашего SPA. Разработать / отревьюить архитектуру. Помочь настроить пайплайн работы с агентом.
А еще зацените какое резюме навайбкодил: https://artalar.github.io/artalar
4 273
Raycast перехал от Swift на React
Я рассказывал про Raycast раньше, если он у вас еще не стоит - вы много теряете. Тут важно заметить, что рейкаст для многих славился не столько своими наикрутейшими вылизанными фичами, сколько эталонным перфом без каких-либо нареканий. Поэтому особенно интересно почему и как они переехали на веб технологии в новой мажорной версии.
Хайлайты с их технического поста про переезд:
TLDR: очень удобно, кросплатформенно, перф отличный с прямыми руками.
• Первая версия была на Swift, но толку от этого было не много, потому что конкретно их интерфейс был очень не стандартным и много приходилось переизобретать.
• Первая фича на веб технологиях была Notes и она показала себя очень хорошо, "ощущение нативности" не пропало (прим. меня - видать у них просто руки прямые)
• Когда они захотели сделать порт на Windows, их первоначальный стек показал себя особенно не хорошо. А пилить и поддерживать две версии на полностью разных нативных технологиях для разных ОС показалось очень дорогим и не надежным удовольствием.
• Т.к. основная функциональность приложения клиентская и ее просто не рационально выносить (для унификации) на сервер, стало очевидно что нужен универсальный фреймворк, работающих одинаково на всех ОС.
• Electron и Tauri они не выбрали, из-за ряда причин, основная из которых - недостаток гибкости, им проще было поддерживать свой собственный шел на каждой платформе. Это было тяжело, но того стоило.
• В статье упоминается пачка технических деталей реализации и схемы архитектуры. Короткий ответ на очевидный вопрос - они взяли React.
• Что бы интерфейс ощущался более нативным, пришлось подтюнить некоторые веб дефолты: отключить cursor: pointer, убрать часть ховеров, подтюнить визуализацию переходов между урлами и еще пачка всего.
• Описан ряд хаков конкретно для WebKit, что бы сделать его более app (not reader) fiendly.
• Под виндой вебвью ("WebView2") - это хромиум, с ним тоже пришлось немного поплясать.
• Большая глава про память рассказывает что на активном экране получился регресс в полтора раза, но есть много оправданий почему так и что можно улучшить.
• Но что-то на веб технологиях получилось значительно быстрее - кастомные компоненты в чате с AI теперь реализовать проще и работают они лучше.
• В конце хороший итог pros and cons четко и по пунктам, советую глянуть.
4 273
Это было легендарно 😊🤩😀
Спасибо большое @holyjs_channel, вышла очень уютная конференция: полный спектр докладов, интересные стенды - особенно игры на них. Супер нетворк - все участники очень заряженные, много общения, споров, инсайдов - то что нужно 🤗
4 273
Прямо сейчас идёт доклад про webMCP - не протолкнуться! Тема очень интересная, а вы можете попробовать ее уже сейчас, ну конечно, с реатомом:
https://reatom.github.io/reusables/withMCP/
4 273
На днях вышел новый набор тестов реактивных библиотек от ментейнера реактивности vue. Это НЕ бенчмарки, это проверка корректности работы библиотек в разных краевых случаях.
Тестов, как видите, много, и почти все библиотеки недопроходят десятки из них.
Я, конечно, сразу накидал ПР на реатом и сам удивился от результата. Семь лет въедлевой разработки показали плоды 😍
Интересно так же разобрать и что за тест реатом не проходит - это оченьспорная тема!
Автор говорит, что если вы в компьютеде обновляете свою же зависимость без какой-либо проверки, что ведет к перевызову этого же компьютеда и опять обновлению и вот вы в бесконечной рекурсии - библиотека сама должна просто остановить выполнение на каком-то этапе.
Я с этим не согласен, потому что библиотека не знает а на каком именно этапе нужно остановиться и не зависнуть в ошибочном значение. Если пользователь не указал условие сам - мы не можем брать на себя такую ответственность. Reatom на десятое вложение рекурсивного апдейта выпадет с ошибкой Stuck in recursion.
И я даже не буду спрашивать, "а вы как думаете, оставьте комментарий", тут вам не ютуб, я просто прав 😎
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
