Frameworks
Es un conjunto de herramientas y patrones ya definidos, que nos crean restricciones, a cambio de tener un entorno de trabajo estandarizado, con soluciones comunes a problemas frecuentes.
En el frontend existen muchos frameworks que nos ayudan a aplicar patrones de diseño, y además nos ofrecen los diferentes modos de renderizado.
Arquitectura
Cuando hablamos de arquitectura en el frontend esto va mucho más allá que el uso de un framework. La elección de un framework tiene un impacto en la forma en la que diseñamos nuestra arquitectura.
Next.js
Es el framework que utiliza Platzi.
Es un framework de React que nos ofrece: SSR, SSG y ISR. Nos ayuda a ordenar el código, ya que debemos seguir una estructura de carpetas para poder generar las rutas de nuestra aplicación.
Next.js hace que nuestra arquitectura tienda a ser un monolito.
Ventajas
- Tiene cero configuración.
- Las compilaciones son superrápidas.
- Solución de internacionalización.
- Posibilidad de crear endpoints para tu backend, simplemente creando archivos en la carpeta
pages/api.
- Nos ofrece todo lo que necesitamos para crear una aplicación web completa.
Futuras features
Curiosidad
Tiene muchas más estrellas en GitHub que los demás frameworks.
Remix
Es una alternativa a Next.js, de los creadores de React Router.
Lo más destacable es la posibilidad de crear rutas anidadas. Su forma de gestionar los formularios simplifica la gestión de los estados en la validación de datos del mismo.
Nuxt.js
Utiliza Vue, ofrece renderizado en el servidor, en el cliente y la generación de páginas estáticas de forma incremental.
Svelte kit
Es la alternativa para Svelte y pronto tendrá su primer versión estable.
Angular Universal
Es la opción para Angular.
Asto
Utiliza la arquitectura de islas, es agnóstico a la biblioteca de ui, es decir, podemos usar componentes de cualquier librería/framework.
Para crear una isla solo tenemos que cargar el componente que queremos convertir en una isla interactiva e indicar con una directiva cuando se le debe dar vida a ese componente en el cliente.
Por defecto, los componentes que se cargan en astro son estáticos.
Uso
Para proyectos con muy como interactividad como landing pages o portafolios.
Deno Fresh
Usa Deno y Preact, este no tiene un paso de compilación, la transformación de nuestro código se hace al vuelo. Esto nos permite tener un entorno de desarrollo muy rápido, con despliegues casi instantáneos, y que podemos hacer cambios casi en tiempo real.
¿Qué framework elegir?
Respuesta
Depende. Depende de las necesidades, preferencias y conocimientos tantos propios como los del equipo de desarrollo.
Según Midudev, Next.js es la opción más segura, ya que es el framework que más está creciendo y más impacto está teniendo en la comunidad.
Otros frameworks
- Django (basado en Python)
- Laravel (basado en PHP)
- Ruby on Rails (basado en Ruby)
- Curiosidad, sigue estrictamente el patrón de MVC.