Pull to refresh

Comments 15

Почти каждый день, читая здесь новости, узнаю, что существует какая-то новая библиотека или фреймворк для JS. Неужели каждая из них делает что-то своё, уникальное? Или это просто разные модели велосипедов?

Уникальные модели велосипедов.
Любой проект начинается с чего-то нового. Но не все такие проекты собирают мощную поддержку со стороны контрибьюторов и используются в рельных проектах. см. http://www.npmtrends.com.

Что касается Next.js — то как я пытался показать в своем посте — это первая библиотека для React.js, которая позволяет разрабатывать универсальные приложения и при этом:
1) собрала 338 контрибьюторов (на сегодняшний день);
2) реализует весь необходимый функционал;
3) постоянно обновляется для совместимости с новыми версиями React;

То есть нельзя отнести Next.js к велосипедостроению т.к ее функционал не может предоставить ни одна библиотека для React.js которая существует в свободном доступе.
У Next есть несколько недостатков, но решающим в процессе выбора SSR фреймворка для стал следующий: при отрисовке вложенных компонентов, к примеру, по запросу news/:id, будет полностью перерисовано все дерево компонентов, с потерей состояния родительских компонентов.
Соответствующая запись в трекере репозитория висит уже больше года, но не похоже что разработчики считают это ошибкой в архитектуре, по крайней мере о намерениях её исправить они не заявляли.
Недавно появился альтернативный проект, под названием after.js, возможно в нем удастся обойди эту досадную проблему.
Спасибо, Serg_de_Adelantado за информацию по after.js

image
Спасибо, Serg_de_Adelantado за информацию по after.js
По переходу между страницами с «лишним» рендерингом у Next.js у меня вопрос возникал, но я до того чтобы разобраться с ним еще не дошел.

Что касается выбора библиотеки для реального проекта, в after.js первый коммит был 5 ноября 2017 года. И пока всего 8 контрибьюторов. Цифры говорять пока что не в пользу такого выбора. Хотя сам проект может быть лучше, чем Node.js.

image

По состоянию на 2020 год проект развивается и есть уже 35 контрибьюторов.

Про after.js ценно, у меня был проект где надо было реализовать page transition и я не смог этого сделать на next.js. Но next.js очень удобный инструмент с хорошей документацией, вернее даже не документацией, а примерами на все случаи жизни.
Нет, для тех трансишинов которые мне были нужны она тоже не работала. Мне нужен был бесшовный слайд влево-вправо.
У after есть и другие проблемы. Например с интеграцией redux. Я пробовал внедрить ее при помощи пользовательского шаблона _document.js (как это описано в документации after) но как оказалось пользовательский шаблон переписывается нативным при рестарте сервера github.com/jaredpalmer/after.js/issues/52.

С учетом того что after только в начале разработки, то это нормально (мелкие и крупные баги). Вопрос создаст ли автор вокруг этого проекта комьюнити или же это будет еще один проект который будет заброшен если не через два месяца то через два года.

Интересно по прошествии почти 4-х лет перечитать дискуссию. https://github.com/jaredpalmer/after.js проекти последний коммит был год назад — то есть можно сказать что проекта уже не будет. И https://github.com/vercel/next.js/issues/88 закрыли и собственно почти сразу после написвния статьи.

У вас опечатка promisedMiddlewate.
Я как раз скопировал отсюда и всё отвалилось)
Ссылка на рабочий вариант github.com/apapacy/react-cool-starter/blob/promised-middleware/src/redux/promisedMiddleware.js

Сейчас кстати мне эта идея уже не кажется такой уж хорошей.
После этой статьи я поучаствовал в проекте realworld и там применил подход с упрощением предложенным github.com/erikras/ducks-modular-redux (если коротко смысл не разделять связанные коснтанты/дейтсвия /редьюсеры по разным файлам а объединять их в одном файле)
Теперь это выглядит так примерно github.com/apapacy/realworld-react-universal-hot/blob/master/src/redux/services/article.js
Sign up to leave a comment.

Articles