Комментарии 15
Почти каждый день, читая здесь новости, узнаю, что существует какая-то новая библиотека или фреймворк для JS. Неужели каждая из них делает что-то своё, уникальное? Или это просто разные модели велосипедов?
0
Уникальные модели велосипедов.
0
Любой проект начинается с чего-то нового. Но не все такие проекты собирают мощную поддержку со стороны контрибьюторов и используются в рельных проектах. см. http://www.npmtrends.com.
Что касается Next.js — то как я пытался показать в своем посте — это первая библиотека для React.js, которая позволяет разрабатывать универсальные приложения и при этом:
1) собрала 338 контрибьюторов (на сегодняшний день);
2) реализует весь необходимый функционал;
3) постоянно обновляется для совместимости с новыми версиями React;
То есть нельзя отнести Next.js к велосипедостроению т.к ее функционал не может предоставить ни одна библиотека для React.js которая существует в свободном доступе.
Что касается Next.js — то как я пытался показать в своем посте — это первая библиотека для React.js, которая позволяет разрабатывать универсальные приложения и при этом:
1) собрала 338 контрибьюторов (на сегодняшний день);
2) реализует весь необходимый функционал;
3) постоянно обновляется для совместимости с новыми версиями React;
То есть нельзя отнести Next.js к велосипедостроению т.к ее функционал не может предоставить ни одна библиотека для React.js которая существует в свободном доступе.
0
У Next есть несколько недостатков, но решающим в процессе выбора SSR фреймворка для стал следующий: при отрисовке вложенных компонентов, к примеру, по запросу
Соответствующая запись в трекере репозитория висит уже больше года, но не похоже что разработчики считают это ошибкой в архитектуре, по крайней мере о намерениях её исправить они не заявляли.
Недавно появился альтернативный проект, под названием after.js, возможно в нем удастся обойди эту досадную проблему.
news/:id
, будет полностью перерисовано все дерево компонентов, с потерей состояния родительских компонентов. Соответствующая запись в трекере репозитория висит уже больше года, но не похоже что разработчики считают это ошибкой в архитектуре, по крайней мере о намерениях её исправить они не заявляли.
Недавно появился альтернативный проект, под названием after.js, возможно в нем удастся обойди эту досадную проблему.
0
Спасибо, Serg_de_Adelantado за информацию по after.js
0
Спасибо, Serg_de_Adelantado за информацию по after.js
По переходу между страницами с «лишним» рендерингом у Next.js у меня вопрос возникал, но я до того чтобы разобраться с ним еще не дошел.
Что касается выбора библиотеки для реального проекта, в after.js первый коммит был 5 ноября 2017 года. И пока всего 8 контрибьюторов. Цифры говорять пока что не в пользу такого выбора. Хотя сам проект может быть лучше, чем Node.js.
По переходу между страницами с «лишним» рендерингом у Next.js у меня вопрос возникал, но я до того чтобы разобраться с ним еще не дошел.
Что касается выбора библиотеки для реального проекта, в after.js первый коммит был 5 ноября 2017 года. И пока всего 8 контрибьюторов. Цифры говорять пока что не в пользу такого выбора. Хотя сам проект может быть лучше, чем Node.js.
0
Про after.js ценно, у меня был проект где надо было реализовать page transition и я не смог этого сделать на next.js. Но next.js очень удобный инструмент с хорошей документацией, вернее даже не документацией, а примерами на все случаи жизни.
0
По реализации именно transition «из коробки» работет next-like библиотека для Vue.js ru.nuxtjs.org/guide/routes-transitions
0
PR решающий описанную проблему со сбрасыванием состояния уже месяц висит, почему-то никак не примут: https://github.com/zeit/next.js/pull/3552
after.js, к сожалению, как оказалось, не решил эту проблему: https://github.com/jaredpalmer/after.js/issues/47
0
У after есть и другие проблемы. Например с интеграцией redux. Я пробовал внедрить ее при помощи пользовательского шаблона _document.js (как это описано в документации after) но как оказалось пользовательский шаблон переписывается нативным при рестарте сервера github.com/jaredpalmer/after.js/issues/52.
С учетом того что after только в начале разработки, то это нормально (мелкие и крупные баги). Вопрос создаст ли автор вокруг этого проекта комьюнити или же это будет еще один проект который будет заброшен если не через два месяца то через два года.
С учетом того что after только в начале разработки, то это нормально (мелкие и крупные баги). Вопрос создаст ли автор вокруг этого проекта комьюнити или же это будет еще один проект который будет заброшен если не через два месяца то через два года.
+1
Интересно по прошествии почти 4-х лет перечитать дискуссию. https://github.com/jaredpalmer/after.js проекти последний коммит был год назад — то есть можно сказать что проекта уже не будет. И https://github.com/vercel/next.js/issues/88 закрыли и собственно почти сразу после написвния статьи.
0
У вас опечатка promisedMiddlewate.
Я как раз скопировал отсюда и всё отвалилось)
Я как раз скопировал отсюда и всё отвалилось)
0
Ссылка на рабочий вариант 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
Сейчас кстати мне эта идея уже не кажется такой уж хорошей.
После этой статьи я поучаствовал в проекте realworld и там применил подход с упрощением предложенным github.com/erikras/ducks-modular-redux (если коротко смысл не разделять связанные коснтанты/дейтсвия /редьюсеры по разным файлам а объединять их в одном файле)
Теперь это выглядит так примерно github.com/apapacy/realworld-react-universal-hot/blob/master/src/redux/services/article.js
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как начать разрабатывать универсальные приложения с библиотекой Next.js