Bye bye SSR JS
No hay una forma sensible de decirlo, voy a aprender PHP/Laravel para manejar el backend de mi siguiente proyecto y dejar TypeScript/NodeJS… Con la posibilidad de que los chicos populares ya no me acepten en su mesa de JavaScript, camino con la frente en alto porque me tomo mucha madurez admitir que es la decisión más madura y empática con las necesidades de mis clientes.
Ahora, todavía hay mucho TypeScript que pienso escribir, quiero seguir usando Svelte como mi librería de UI para hacer componentes, pero el servidor va a ser PHP/Laravel en vez de un SSR Framework de JavaScript.
¿Por qué hago el cambio?
Yo soy fan de hacer UI's con html css y js, y mi forma favorita de agruparlos es Svelte. He usado React, Vue y también he hecho componentes con React Native y SwiftUI… Y sigo prefiriendo Svelte :D (ya he estado practicando para el siguiente lanzamiento de svelte@5 con $runes) tengo una buena historia con el la librería, el ssr framework y la filosofía del autor. La decisión no tiene que ver con como se puede hacer UI y clientes en JavaScript, el chiste es hacer los servidores como un negocio.
He comenzado demasiadas aplicaciones donde logramos plasmar la idea del MVP
- Landing Page para MKT
- Login
- 1 a 4 Features principales del proyecto
- Perfil de usuario
- Configuración
Un SSR Framework de JavaScript me va a dar el espacio que necesito para unir todos estos features y dar una buena experiencia a mis usuarios finales, pero nunca dejo de sentir que quien mantiene esto unido soy yo, el framework solo me dejo el canvas para que yo mantenga esto, y es ahí donde Laravel me apoya.
Con Laravel
- Laravel te ayuda a configurar la base de datos del proyecto, si escoges SQLITE, lo configura por ti.
- Laravel viene con un ORM que mantiene en sincronía con el esquema de la base de datos.
- Laravel viene por default con toda la configuración de Auth que necesitas, crear cuenta, cambiar contraseña, olvidé contraseña, TODO ya viene funcionando desde que creas la app.
- Laravel viene con un servicio de envío de correos que ya esta integrado con el flow de registro de usuarios, trae plantillas por default que puedes editar para personalizarlo pero esto ya funciona por default.
- Laravel incluye background jobs para correr tareas fuera del thread principal que esta manejando las peticiones de tus clientes. Los correos son enviados como background jobs por default.
Y MÁS! Soy novato en este mundo pero ya he visto que para conectar tu tabla de usuarios con Stripe solo es necesario agregar las variables de entorno al proyecto e importar la clase "Billable" a tu modelo de usuarios
Esto es puro check kiss para mi :D! Voy a prepararme un poco más y avanzar solo por frontend con los proyectos que no he comenzado aún, y dentro de un mes ya intentaré subir una app de Laravel a producción y les cuento que tal me va.
Cuídense mucho <3