Tyaff

CHANGELOG.md — Tyaff

Все значимые изменения проекта фиксируются здесь.


2026-06-29 - Исправление примера в SPEC.md

Убран антипаттерн из примера динамического контекста. Раньше в примере компонента Page было:

props(incoming) { this.props = incoming; }

Это противоречило описанию API в разделе 2, где сказано что props() опциональна и по умолчанию работает как p => p. Явное присваивание this.props = incoming внутри props() - это антипаттерн, потому что:

  1. props() должна возвращать значение, которое пойдёт в this.props
  2. Если props() не определена, то this.props = incoming происходит автоматически
  3. Прямое присваивание создаёт ложное впечатление что это необходимо

Теперь пример использует this.props напрямую без явного props().

Это делает документацию более согласованной и показывает правильный подход.

[Unreleased]

В работе


2026-06-30

Оптимизация производительности memo-skip path.

Что изменилось для пользователей

Ключевые результаты производительности

Ускорение в сценариях memo:

Поведение не изменилось:

2026-06-30 (раунд 2) — Оптимизации для сценариев где React выигрывал

Раунд 2 оптимизаций производительности. Победа над React в “Update all 5000 rows”.

Что изменилось для пользователей

🏆 Победа над React

В сценарии “Update all 5000 rows” tyaff теперь 4.78ms vs React 6.80ms — tyaff быстрее на 30%. Раньше в этом сценарии был паритет (6.40ms vs 7.00ms по данным от 2026-06-28).

Ключевые результаты производительности

Ускорение в сценариях где React выигрывал:

Поведение не изменилось:


2026-06-28

День оптимизаций производительности и бенчмарков.

Что изменилось для пользователей

Ключевые результаты производительности

Tyaff выигрывает у React:

React выигрывает у Tyaff:

Вывод: Tyaff быстрее в массовых операциях (reverse, swap, move между родителями), React быстрее в точечных обновлениях и memo. Разные профили производительности для разных сценариев.

Проделанная работа

Внедрено 7 оптимизаций:

Откачено 5 оптимизаций (показывает итеративность разработки):

Добавлено 2 теста в test-node-03.js:

Обновлена документация


2026-06-26

День большой реорганизации документации и ролей.

Added

Changed


2026-06-25

День уточнения системы ключей и контрактов.

Added

Changed

Fixed


2026-06-24

День контрактов API.

Added

Changed

Added (Browser Support)


2026-06-23

День структурирования SPEC.md.

Added

Changed


До 2026-06-22

Ранняя разработка (без git, без формального changelog).

Core реализовано

Архитектурные решения


Легенда


Про ведение записей

Проект развивается быстро, поэтому:


Последнее обновление: 2026-06-30