Чёрная магия, заставляющая всех страдать и плакать кровавыми слезами, но:
нет хайпа в твиттере!
нет секси-лендинга!!
нет документации!!!
Full Stack Overflow
Быстро что-то показывает, но...
Тупит на простых действиях из-за дозагрузки
Полурабочее состояние при нестабильном соединении
Отзывчивость сильно зависит от загруженности сети и сервера
Состояние гонки реакций на действия пользователя
Полностью ломается в оффлайне
Обнаруженные проблемы:
Не перехваченное исключение ломает всё приложение..
Отслеживание изменений ломается на мутациях, отличных от присвоения.
При компиляции код компонента раздувается на порядок.
Две модели реактивности, работающие по разным принципам, суммирующие недостатки друг друга.
Обнаруженные проблемы:
Система реактивности капитально ломается при исключениях
ErrorBoundary перехватывают не все исключения
Memo вычисляются когда они никому не нужны
Без обмазывания batch-ами, эффекты (включая полную актуализацию DOM) вызываются для грязного состояния
Финал стрима не записался, да.
У меня есть экспертиза и уникальный материал по следующим темам:
Реактивное Программирование (FRP, ORP и тд)
Бесконфликтные Алгоритмы (OT, CRDT и тд)
Ни на западе, ни у нас аналогов нет. Тем более с таким глубоким погружением. Думаю вот, может сделать курсы по этим темам для продвинутых. Но не знаю на сколько это востребовано. Кому интересно - отпишитесь, пожалуйста, в этой форме.
Тут я расписал подробнее, как я их вижу. По первому большая часть материалов уже есть. По второму пока только зачатки.
Программировать надо так, чтобы не было стыдно, когда твои исходники сольют.
А в идеале - сразу оупенсорсить, чтобы не было надежды, что твою кучку.. кода никто не заметит.
Бэкендеры представляют себе фронтенд как тривиальный мапинг ответа сервера на HTML.
Фронтендеры представляют себе бэкенд как тривиальный мапинг запросов клиента на SQL.
Если всё так тривиально, то откуда ж берётся вся сложность?!?
Кажется я знаю, как решить все проблемы программирования: надо бэкендеров посадить пилить фронтенд, а фронтендеров - бэкенд.
Меня часто не спрашивают:
Как оценить грейд разработчика?
Всё очень просто:
Может самостоятельно всё разработать? Это Middle
Не может без помощи наставника? Тогда это junior
Разработает лучше, чем просили? Ну это настоящий Senior!
Сумеет спихнуть разработку на другого? Это уже LEAD.
Или короче, для тех, у кого нет времени читать этот лонгрид:
Junior - учится работать.
Middle - работает.
Senior - учится не работать.
Principal - не работает.
Картинок, сгенерированных нейросетью, добавьте по своему вкусу.