Comments 22
Что можно улучшить
Очевидно, Typescript добавить в первую очередь
Но в такой схеме virtual dom кажется лишним. Есть библиотека diffHTML, судя по тестам он нанамного отстает от virtualDOM. Т.е. в идеале хотелось бы, когда js код загрузится на странице — он сравнивал существующее дерево в html коде страницы и код, полученный от JSX, и менял только отличающиеся части dom (изменившиеся аттрибуты, добавленные/удаленные узлы и т.п.).
Поясню для чего это нужно: на данный момент, если изменить dom дерево react компонента вручную (через jquery или отладочную панель браузера), то этот компонент будет отображаться некорректно, т.к. направление идет от virtualDOM к реальному DOM, а виртуальный DOM не был изменен и приложение думает что всё ок. При сравнении же реального дом и jsx+данные такого не будет — компонент в любом случае будет приведен к надлежащему виду.
Никто в здравом уме не меняет DOM напрямую через jQuery или отладку. React сам прекрасно справляется с мутациями DOM. А для отладки есть Hot Reload, позволяющий сам код менять и видеть изменения сразу.
POC, для понимания потребностей сгодится, но рассматривать серьезно не подходит. А хочется получить production-ready решение в виде подобной самостоятельной библиотеки, не прибитой насмерть к конкретному фреймворку.
У меня это в продакшене работает.
Выбирая очередную библиотеку, смотрю на все доступные метрики GitHub-а. Хочется обкатанное решение с историей, с кучей выявленных косяков, звездочками, и контрибьютерами.
обкатанное решение с историей, с кучей выявленных косяков, звездочками, и контрибьютерами.
Пока попробую подружиться с Electrod-ом, а вы как хотите :)
Это фактически взять себе на поддержку поделку, когда ресурсы на разработку и так сильно ограничены. Если уже совсем невмоготу без уникального функционала, тогда ещё можно подумать. Но лучше пока забивать гвозди топором. Потому что завтра появится правильный молоток от маленькой конторы Walmart, например. А код ради кода — это я уже наигрался, надеюсь.
Это скорее коммент к статье Что взять за основу React приложения о методе выбора инструментов.
Ещё раз спасибо за наводку на Electore, пока вообще всё нравится!
Про hapi.js пытаюсь понять, какие есть преимущества перед Express.
А почему? Поделитесь опытом, пожалуйста. Я пока вижу, что нужно больше лишних слов, чтобы описать роутинг. Предполагаю, что к нему будет меньше сторонних middleware, но все необходимое должен был исполнить WalmartLab. Замеры производительности смущают, но это еще надо проверять. Пугают обещания, что все есть в одной коробке. На монолиты после Meteor-а аллергия.
Ну не хотите — не берите, Вас вроде не заставляют. Есть же альтернативы.
Хочу остаться вместе с Create React App, отсюда напрашивается вывод — "надо брать"! :)
Упрощаем универсальное/изоморфное приложение на React + Router + Redux + Express