Серия «Разнос от Карловского»

Препарируем Million.js и находим родовые травмы

В 3 раза (на 70%) быстрее React, но..

- у вас не должно быть логики в компонентах
- вы не должны использовать компоненты
- у вас будет куча WTF ограничений
- у вас не будет статической типизации

Показать полностью

Препарируем Vue и находим родовые травмы

Мелкозернистая ленивая реактивность, но..

- При всплытии исключения компонент просто исчезает
- Нет отсечения эквивалентных изменений.
- Неконсистентное состояние при циклических зависимостях.

Показать полностью

Препарируем Qwik и сравниваем его с $mol

Быстро что-то показывает, но... - Тупит на простых действиях из-за дозагрузки - Полурабочее состояние при нестабильном соединении - Отзывчивость сильно зависит от загруженности сети и сервера - Состояние гонки реакций на действия пользователя - Полностью ломается в оффлайне

Препарируем Svelte и обнаруживаем в нём патологии

- Не перехваченное исключение ломает всё приложение..
- Отслеживание изменений ломается на мутациях, отличных от присвоения.
- При компиляции код компонента раздувается на порядок.
- Две модели реактивности, работающие по разным принципам, суммирующие недостатки друг друга.

Препарируем SolidJS и обнаруживаем в нём паталогии

Обнаруженные проблемы:

- Система реактивности капитально ломается при исключениях
- ErrorBoundary перехватывают не все исключения
- Memo вычисляются когда они никому не нужны.
- Без обмазывания batch-ами, эффекты (включая полную актуализацию DOM) вызываются для грязного состояния

Финал стрима не записался, да.

Показать полностью

Препарируем TamaGUI и ужасаемся современному фронтенду

Отличная работа, все прочитано!