🔥

Тред (@oleg008-2)


И так, поговорим о библиотеках для cssinjs и в часности об альтернативах JSS.

Вот более менее полный список библиотек github.com/MicheleBertoli…

Начнем с aphrodite. Я написал как то статью сравнивающую их: medium.com/@oleg008/aphro…

Что характеризует афродиту: более высокий уровень абстракции, апи пытается дать пользователю инлайн стили которые генерируют CSS в <style>

Но при ограниченом сабсете CSS который можно использовать: к примеру нету доступа к селекторам тепа ~> итд.

Далее у афродиты только один режим рендеринга: все стили пишутся в один <style>. В JSS можно и так и так.

Негативное у афродиты это батчинг - они прежде чем отрендерить стили ждут. Это может дать перерисовку.

И не дает конечный (computed) результат если делать это синхронно. Тем самым заставляет тебя использовать setTimeout.

Также некорректно сравнивать jss и aphrodite напрямую, для этого я написал отдельную библиотеку, которая совмещает обе идеи в одной.

github.com/cssinjs/aphrod… Эта библиотека дает API практически как у aphrodite но для описания стилей можно использовать весь JSS JSON DSL.

Также там решена проблема с батчингом и всеми видами селекторов.