Выбираем состав изоморфных React-приложений на следующие 12 месяцев
Сейчас формируем некий Isomorphic React App бойлерплейт на следующие 12 месяцев, с которым можно быстро стартовать новые проекты. Пока видим такой набор:
1. React 15.
2. На сервере — Node.js и Express.
3. CSS modules и isomorphic-style-loader для автоматической генерации Critical CSS при Server-side Rendering. Или всё-таки JSS?
4. Redux для взаимодействия внутри приложения. Или всё-таки Relay?
5. Модульное тестирование через AVA и Enzyme. Или всё-таки Jest с его автоматической генераций mock-объекта Browser?
6. UI-тестирование через Nightwatch.js + Browserstack.
7. Переводы через react-intl и react-intl-translations-manager.
8. Автоматическое определение языка на сервере через пакет accept-language.
9. Автоматическое определение геопозиции через пакеты maxmind и ipaddr.js.
10. Изоморфный логгер на базе node-bunyan.
11. react-document-title для динамического переключения заголовка вкладки.
12. isomorphic-fetch для отправки HTTP-запросов («AJAX»).
13. webpack 1.x для сборки. Или всё-таки webpack 2?
14. webpack-dev-server и webpack/hot/dev-server для Hot Module Reload.
15. Long-term Caching статических ресурсов (например: /assets/logo-8cdab5da.png).
16. parallel-webpack для ускорения сборки JavaScript bundle для каждого языка перевода (например: 5 разделов и 10 языков = это уже 50 JavaScript bundles).
17. webpack DllPlugin для оптимизации размера JavaScript bundle.
18. react-router-redux в качестве роутера.
19. ESLint и eslint-config-airbnb с небольшим изменением — не использовать точку с запятой.
Какие пункты можно изменить? Какие добавить? Что можно сделать лучше? Поделитесь своим мнением в комментариях.
В ближайшие дни список может измениться. Да, что там, я обещаю — он изменится, поэтому следите за обновлениями на GitHub.
Комментарии (6)
29 августа 2016 в 19:40
+1↑
↓
12 месяцев — слишком далеко идущие планы!29 августа 2016 в 19:50 (комментарий был изменён)
+1↑
↓
Зачем ещё один?
Вот есть хороший, от создателя Redux: create-react-app29 августа 2016 в 19:57
+1↑
↓
Я до сих пор в шоке от того, какой сложный этот вебпак. Для своих проектов начал юзать System.js + jspm, вполне доволен. Конфигурировать раз в десять наверное проще, чем вебпак,. Единственное нарекание в сторону system.js builder’а бандлов — то что он не оптимизирует автоматически бандлы, как это делает вебпак, за этим приходится немного следить вручную. Но всё равно он как-то проще вебпака будет, профиты по сути те же самые, плюс нативная поддержка ES6+ синтаксиса из коробки без каких-либо настроек.
29 августа 2016 в 19:57
0↑
↓
…
47. Write some code:(Какая разница, каков состав boilerplate, если его все равно необходимо осваивать? Оптимальный boilerplate для старта новых проектов — всегда и исключительно — _знакомый_ конкретному разработчику или команде boilerplate. Иначе старт может, мягко говоря, затянуться.
29 августа 2016 в 20:08
0↑
↓
О, появился второй вебпак. Надо будет глянуть. Кто-нибудь пробовал? Есть существенные улучшения?В остальном статья бессмысленная. На год вперед что-то планировать в мире JS? Да тут через месяц может все резко поменяться.
29 августа 2016 в 20:18
0↑
↓
https://github.com/kriasoft/react-starter-kit неплохой и популярный starter kit для изоморфного реакта.