Estoy en una especie de fase de creación rápida de prototipos de mi experiencia de aprendizaje de React/javascript. Me preguntaba cuándo la gente buscaría un marco como Next.js o Gatsby.js frente a la aplicación Create React estándar.
Realmente excavo la estructuración basada en la página y la posibilidad de precargar enlaces de Next.js. Sin embargo, no estoy seguro de cuándo llegaría a Next en oposición a CRA o incluso a CRA expulsado.
¡Gracias!
Estoy en el mismo barco. Empecé con CRA para crear un SPA que fue genial para empezar y superar la curva de aprendizaje. Pero pronto me di cuenta de dos cuestiones importantes:
Create-React-App: una muy buena herramienta de arranque para comenzar a crear un SPA.
Gatsby/React-Static: Similar a Create-React-App pero produce una salida de compilación HTML en su lugar, por lo tanto, "pre-renderizado". Todavía tengo que experimentar con esto. Tengo la esperanza de que esto resuelva (1) y (2) ya que ahora puedo tener diferentes etiquetas OGP en el HTML que se sirve desde un servidor de sitio estático (S3/Azure Blobs/Github Pages) en lugar de cambiarlas localmente después de la buscar. No estoy seguro de si esto funcionará todavía. La ventaja adicional aquí es que, dado que Gatsby ya se procesa previamente durante el tiempo de compilación, el usuario experimenta un mejor rendimiento. (Puede ser que alguien experimentado con Gatsby pueda aclarar, o editaré esta respuesta una vez que haya terminado). Actualización (19/02/2018): puedo confirmar que (1) está resuelto por Gatsby.js mientras aún está alojado como estático sitio web.
Next.js: si Gatsby no resuelve (1) y (2), Next.js será mi respaldo para crear una aplicación SSR completa. El problema aquí es que ahora tendré que usar PaaS para alojar el sitio (por ejemplo, Azure Web Apps o AWS ElasticBeanStalk o Heroku) en lugar de un servicio de alojamiento de sitios estáticos (Azure Blob, AWS S3, Github Pages). Esto será un poco más costoso y un poco más de trabajo para configurar canalizaciones de CI/CD.
Consulte también estas alternativas enumeradas en los documentos de CRA.
Recientemente investigué mucho sobre este tema, especialmente create-react-app vs Gatsby.js, y descubrí que ambas herramientas te permiten escribir código de reacción de inmediato sin preocuparte demasiado por la configuración. Sin embargo, Gatsby, por ejemplo, ofrece además renderizado del lado del servidor en el momento de la compilación, lo cual es crucial para el SEO. No necesita ningún servidor para representar sus vistas, como es el caso de Next.js porque ya se realizaron en el momento de la compilación. cuando un usuario visita su sitio web, la versión HTML se cargará primero y una vez que se cargue el javascript, su sitio web se convertirá en una aplicación web de reacción completamente funcional.
Lo bueno es que todos comparten la misma capa de vista para que pueda pasar de una herramienta a otra. puede consultar cómo pasar de create-react-app a Gatsby.js, que entra en detalles.
Estoy haciendo esta investigación yo mismo. Según tengo entendido, Next.js proporciona una representación del lado del servidor lista para usar. Create React App no hace esto, por lo que debe proporcionar su propia solución para SSR (para cosas como cargas de página más rápidas y SEO).