Comments 24
A functional and reactive JavaScript framework for predictable code.
Сам же фреймворк лично у меня оставил впечатление jQuery в который добавили стримы и реактивности.
Сама концепция этих потоков данных — это отличная идея. Помнится, ещё года два назад она полностью захватила мой мозг на пару дней, слишком уж она… Красива, что ли. В общем, это одна из тех по настоящему высокоуровневых идей, вроде ООП, которые действительно создают новые парадигмы программирования. Проблема лишь в том, что наверняка как обычно будет куча низкоуровневых задачек, которые в эту самую парадигму плохо ложатся и опять будут всякие хаки, грязь и прочая пена, неизбежно появляющаяся там, где безбрежный океан крутых идей разбивается о скалы быта...
Впрочем, это я расчувствовался. Сам фреймворк выглядит любопытно, спасибо за расширение кругозора.
Мне кажется, что старое доброе приложение-счетчик, будет идеальным для этого примера.
Обожаю такие обороты. Очевидно, оно идеально, потому что на чем-то более приближенном к действительности (сложном) cycle.js уже показывает себя не так выгодно?
А я не поленился и добавил todomvc на нём в бенчмарк. Как-то он не показывает себя особо шустрым даже в таком тривиальном приложении. Не говоря уж о том, что ручное управление потоками — отстой.
Так Cycle.js очень медленный, впрочем как и любой код на FRP ;]
Кстати, а вы не пробовали, ради развлечения, на базе ваших атомов сделать rx-like либу?
Эм… а зачем?
Just for fun, ну и чтобы писать можно было писать в стиле «потоков», а с учётом реализации атомов, такая либ должна получиться на порядок шустрей.
С чего бы ей быть шустрее, если вручную оптимально заоркестировать потоки крайне сложно? Разве что за счёт автоматического distinctUntilChanged и debounce.
Все это прекрасно работает пока в отрасли существует 1-3 авторитетных фреймворка и программисты могут формировать довольно крупные сообщества приверженцев того или иного подхода, но когда количество фреймворков и их сочетаний с прочими инструментами разрастается до нескольких десятков, то это становится равносильно отсутствию каких либо стандартов.
React, Angular, Backbone, Ember, Extjs и т.д.
Добавьте сюда еще различные инструменты сборки и языки, компилируемые в JS.
Черт, когда я встречаю фронтендера, то мне неочем с ним говорить — его стек инструментов и технологий настолько далек от того что мне знакомо и понятно))
Реально живых языка тоже всего два: TypeScript и Dart. Все остальное умирает без надобности.
Cycle.js. Она содержит 26 методов и весит 30kb. Это одна из самых быстрых библиотек для реактивного программирования на JS
Интересный у вас подход в определении производительности библиотек.
Я уже работал с RxJs
, и нашел ее лишь бледным подобием RxJava
. Скажите как обстоят дела у Cycle.js
с поддержкой back pressure?
Всегда прикалывал такой подход: скажем что у фреймворка А есть такие то минусы, а потом скажем что у фреймворка Б есть такие то плюсы.
Где же само сравнение? Я вот так и не понял, почему это с Cycle.js кода в большом проекте будет меньше? Почему недоООП, которое разрабами представляется как функциональное — проблема?
Почему я перешел с React на Cycle.js