Estoy tratando de descubrir la diferencia entre NextJs y Create React App . Sé que ambos están ahí para hacernos la vida más fácil mientras desarrollamos nuestras aplicaciones front-end usando ReactJs .
Después de explorar algunos artículos en Google, descubrí que la principal diferencia es
NextJs proporciona renderizado del lado del servidor (SSR), mientras que Create React App proporciona renderizado del lado del cliente (CSR) y SSR mejora el rendimiento de la carga de aplicaciones.
Pero, ¿qué pasa con otros parámetros desde la perspectiva del desarrollo como
¿Mantenibilidad y Escalabilidad de la Web App desarrollada con NextJS o CRA?
Soporte para mecanografiado y React Hooks/Redux ?
¿O incluso puedes guiarme si estoy haciendo una comparación incorrecta?
React es solo una biblioteca de JavaScript y, por otro lado, Nextjs es un marco React. SSR es uno de los beneficios de Nextjs, pero hay muchos otros beneficios. Nextjs puede hacer todo lo que hace React y, además, tiene características que React por sí solo no tiene. Consulte la documentación de nextjs aquí: https://nextjs.org/docs/getting-started
Create React App es solo un motor de creación de proyectos React para ayudarlo a configurar su proyecto React rápidamente. Después de ejecutar el script CRA npx create-react-app <appname> , obtendrá una aplicación de una sola página agradable y limpia que puede ejecutar. Debajo del capó, también obtiene cosas como babel, eslint, jest, webpack ya configurado, por lo que es una forma realmente conveniente de comenzar a desarrollar React. Y en caso de que necesite más control sobre la configuración de esas herramientas, aún puede usar npm run eject .
Next.js , por otro lado, es un marco basado en React para crear aplicaciones del lado del servidor de Node.js. Esto significa que utilizará la misma lógica orientada a componentes para crear páginas y aprovechar el motor de enrutamiento Next.js para la navegación de página a página. La representación del lado del servidor permitirá que el tiempo de carga se distribuya más a lo largo del tiempo, por lo que el rendimiento percibido probablemente sea mejor. Redux también se puede usar, pero habrá algunos pasos adicionales para que funcione correctamente (consulte https://github.com/kirill-konshin/next-redux-wrapper )
Elijas lo que elijas, al final, será codificación React . Los componentes , JSX , la compatibilidad con TypeScript , los ganchos de React y todos los demás aspectos centrales de React serán compatibles de cualquier manera. Por lo tanto, puede esperar un grado similar de mantenibilidad. Por otro lado, la escalabilidad depende de su elección: si elige Next.js, alojará la aplicación en una infraestructura de servidor que debe tener el tamaño de acuerdo con su audiencia, mientras que el paquete React creado con CRA solo necesita estar alojado estáticamente en algún lugar.
La mayor diferencia es el propósito de ambos proyectos. NextJS: JAM Stack o Static Site Generator Create React App: es una forma oficial de crear aplicaciones React de una sola página.
Este enigma es cierto para muchos proyectos de código abierto. Parecen alternativas de otras pero tienen diferencias clave. Por ejemplo, en este caso, aunque ambos proyectos usan ReactJS como front-end y producen aplicaciones web. el problema que resuelven son muy distintos. hay algunos temas/plantillas de funciones superpuestas en js. pero el desarrollo y el trabajo futuro serán para mejorar el proyecto de manera que ayude a resolver el problema de una mejor manera.
es decir, NextJS intentará incluir si se han desarrollado nuevas características de Markdown. lo cual no será el caso en CreateReactApps.
a partir de su pregunta, parece que está buscando estos proyectos para desarrollar aplicaciones React Native. Así que sugeriré ir con Create React App.
su comparación debe ser principalmente si este proyecto se alinea con el Problema que estoy resolviendo. Entonces compare. Soporte de mantenibilidad, escalabilidad, mecanografiado y React Hooks/Redux.
En caso de que necesite más información, comente.