En uno de los videos que ya he publicado anteriormente y que se los dejo en la descripción le he mostrado mi stack de tecnologias favorito para desarrollar aplicaciones fullstack siendo un solo desarrollador y enfocado a clientes que necesitan crear proyectos reales, aunque tambien tengo otros stack favoritos cuando el proyecto es más grande y se necesita manejar varias aplicacioens con varios desarrolladores, pero el día de hoy quisiera mencionarles otra forma más de como pueden crear aplicaciones web siendo un solo desarrollador y de una forma muy rapida.
De hecho este Stack va más enfocado no tanto a un desarrollador que tiene clientes puntulaes, sino a un desarrollador que vive de crear aplicaciones que funcionan como herramientas de software, o como Software as a Service.
Es decir este tipo de desarrollar crear multiples aplicaciones, coloca un metodo de pago con un plan mensual o anual, y empiea a recibir ingresos de multiples aplicaciones que le dan de vivir al igual que un sueldo, solo que tiene que crear mas servicios de este tipo y el mismo promover el uso de su aplicación.
Y como se es un solo desarrollador estos siempre usan varios servicios de la nube donde uniendolos pueden crear varios proyectos a la par. Así que en este video quisiera comentarles un poco de como algunos de ustedes que les interese este enfoque de desarrollo pueden tambien crear aplicaciones de una forma muy rapida, usando servicios modernos y con una buena experiencia de desarrollo.
Una consideracion importante
Ahora una consideracion importante, Este tipo de Stacks no es para cualquier tipo de proyecto, en lo personal lo consideraria como una opcion para llevar un proyecot a la vidad en un poco tiempo, tampoco es lo mas comun de encontrar para empresa, asi que de nuevo si quieres ser desarrollador freelance o quieres vivir de crear aplicaciones como desarrollado independiente esta es tu forma de ir.
Y por supuesto tambien tienes que considerar varios requerimientos de clientes, por ejemplo puedes considerar este Stack si:
- Es un cliente con un negocio pequeño
- Es un proyecot prototipo o que no e tiene muy claro la idea inicial de negocio
- No quiere esperar un proceso largo de desarrollo
- Tiene caracteristicas muy puntuales
- Tiene muchos requerimientos de Interfaces graficas, mas que logica de servidor
- Solo creara una aplicacion web al estilo de Software as a Service
- necesitas crear muchos proyectos de software a la par
Entonces empecemos, con el Frontend.
Frontend
La forma de crear rapidamente un desarrollo Frontend actualmente es usando Frameworks Fulltack al estilo de Nextjs, usandolos puedes ahorrar mucho tiempo porqeu al ser un framework popular no solo hay mucha inforamcion sino que tiene paquete que permien rapidamente añadir autneticacion, ya posee SEO, las paginas se guardan en memoria cache, las paginas que no cambian genran contenido estatico, las imagenes y scripts de javasrcipt carguen mas rapido y asi.
AHora en cuanto al despliegue yo se que muchos usan Vercel al inicio, pero en cuanto al costo de Vercel el plan inicial empieza desde 20$, y esto si bien tampoc estan costoso si empieza a ponerse costoso cuando pasas los limites iniciales asi que en lo personal uso tipicamente Railway, el cual tiene una experiencia de usuario muy comoda, y tambien permite crear las bases de datos alli. y el costo es de 5$ lo que es mas accesible u otra opcion tambien seria usar algun VPS con algun software como caprover, coolife o similares los cuales crean un PaaS en tu propo VPS, pero lo veo como mas tareas a tomar en cuenta, y Railway funciona bastante bien asi qu no he tenido problemas para moverme de alli de momneto
ahora yo uso esto porque he trabajado muchos años con React y al ser un framework popular es algo muy facil par mi usar Next, pero si ustedes les gusta VUe pueden usar Nuxt o en si les gusta Svelte esta Sveltekit, los cualeso ofrecen casi las mismas caracteristicas
Con nextjs puedes crear tambien tu propio backend, con subida de archivos
En resumen quieres desarrollar un Frontend rapidamente tienes: Nextjs, Remix, Sveltekit, o Nuxtjs.
Componentes UI
Ahora con Nextjs tienes el Framework pero los estilos consumen mucho tiempo asi que una forma de desarrollar rapido es usando frameworks de CSS como Tailwind, que es el más popular de momento, sin embargo tampcoo es que solo con tailwind vas a ganar velocidad de desarroll, porque tendrias que ir estilizando tu mismo, asu que para esto dos formas rapidas de crear componentes es usando shadcn o bibliotecas de componentes encima de tailwind que lo que hacen es ofrecer interfaces ya hechas. en realidad hya mucha biblioteacs basadas en tailwind esta nextUi, daisyUI, o radix ui.
Sin embargo algo que te puede ayudar a ganar velocidad de desarrollo es usar inteligencia artiicial, y hay un proyecto llamado v0, que permite geerar interfaces graficas en cuestion de minutos usndo inteligencia artificial, sin embargo esto cuesto asi que es de pensarlo si realmente quieres gastar tanto por el tiempo, asun asi shadcn fuciona bastante bien
En resumen usa una biblioteca de componenes como tailwindcss o shadcn
Backend as a Service
En cuanto a desarrollar el Backend esto conlleva usar una API y una base de datos, pero una fomra rapida de eviar esto es usar un Backend as a Service, y una opcion de Backend as a service solida al dia de hoy es Supabase que permite tener practicamente todo creado, desde poder subir archivos, autneticar usuarios, y ejectuar funciones serverless lo que permite complementarse con logia extra.
Hace años una opcion muy buena solo era FIrebase pero a este punto Supabase esta muy bien posicionado, y usa PostgreSQL como base de datos, ademas continuamnete estanañadiendo caracteristicas y el servicio del backend es muy estable y ofrece un plan gratuito por lo que puedes desarrollar y ya luego cuando pases a produccion empeizas a pagarlo.
Y como este ya es un backend creado luego puedes integrar tambin una apliacion movil si lo necesitas y no necesitas reimplementar nada, solo extender codigo, lo que lo vuelve una buena opcion cuando un proyecto tiende a crecer.
de hecho algunos modulos de Supabase se complementan con otros servicios por ejemplo para el envio de SMS usa Twilio o tambien se puede integrar con Resend para envio de correo, o con clouflare workers, para ejectuar tambien unciones serverless a la par de las que ya ofrece supabase, y asi. De hecho tiene una lista un poco más larga con muchas integraciones lo que ayuda a poder tener más funcionalidades en poco tiempo
Aunque otras opciones que si bien no son lo mismo tambien pueden darte más control rapidamente son el uso de Headless CMS como Strapi o Sanity, los cuales pemriten tener tambien la logica de backend creada, pero adicionando un panel de control, sin embargo el nivel de control de codigo es menor, ya que la interfaz hace mucho de la logica por ati, asi que los backend as a sevrice ofrecen mucho mas posiblidades de extender logica a un desarrollador
Pagos
Ahora en cuanto a pagos, la forma mas rapida es Stripe, integrarlo es muy facil y si ya tienes un proyecto creado es tan facil como copiar y pegar codigo y el resto solo es cambiar las configuraciones.
Pero si no te gusta esto, una alternativa es Paddle o lemoosqueze, que ofrecen tambien cobros a nivel glboa.
asi que mas que el procesador de pago la idea es que puedan tener un codigo templae del proveedor depago que mas usen para poder avanzar rapido desde alli.
Analytics
Hasta aqui de hecho ya tenrias la mayor parte de las herramientas necesitas para crar una app, por lo que solo combinandolas ya podrias empezar a desarrollar, pero no solo basta con la aplicacion sino tambien hay que sbaer como los uusarios lausan, que caracteristicas son las que mas usa un usuario, asi que para esto sirven las analiticas.
un servicio muy popular es Google Analytics, sin embargo integrarlo en webs y medir ditinots tipos de funcionalides es batante incomodo par aun desarollador, aai que en lo personal uso un servicio que tiene un plan gratutio llamado Posthog el cual te permite medir visitas en paginas, tener A/B TEstin, etiquetar funcionalides,y en realidad es un servicio facil de entender y de integrar, sobretodo si uas Nexts, basicamente este servicio se coloca entre tu backend y frontend y va midiendo como los usuarios interactan en tu aplicacion, pudiendo luego colocar filtros y ver que necesitarias mejorar.
Adema tiene un plan gratuito de un millon de eventos por mes es facil evitar el costo inicial. aunque esto solo es opcional cuando tu aplicacion ya este siendo usado por supuesto.
Y este no es el unico otrsa buenas opciones tambien estan plausible o mixpanel, asi que te acosnsejaria revisar con calma lo que ofrece cada uno antes.
- PostHog
Conclusión
Y ya estaria usando este stack no necesitrias profundizar tnato en el desarrollo backend, solo neceista uar servicios web.
con nextjs y shadcn tiene el frontend creado, supabase es todo el backend, que te ofrece autneticacion, subida de archivos, funciones serverless por si te falta ejecutar una logica especial, o simplemene almacenar la baes de datos, ademas de ofrecer caracteristicas entiempo real, unido a stripe recibirias pagos, y colocando Posthog podira analizar el comportaminto e tus usuarios.
Usando esto ya estarias solo enfocandote en progrmar el frontend y si usas my frceuentnete este stack ya solo tendiras que ir copiando y pegando codigo.
AHora, No significa que debes amarrarte a estas tecnologías, de hecho la idea es que inicies rapido, y a medida que vaya mejorando puedas ir cambiando algunos servicios.
POr ejemplo si no te gusta subpase, lo cambias por Firbease o Grafbase, que este ultimo tambien lo tengo pendiente de verlo mas a fondo, o quizsa usa un healdess cms como te menciono
o tambien otra opcion es susar servicios indiivuales por ejemplo:
- clerk, para uatenticar usuarios, que es un servicio simple para tener login y poder proteger a la aplicacion
- cloudinary, digitaocean spaces o uploadthing, que son servicios de alojamiento de imagenes baratos.
- vercel o clouflare workers para funciones serverless
- o usar un servicio de base de datos como puede ser Planetscale, SUpabase, mongodb atlas o usar Railway solo para alojar la base de datos
y asi, es decir a partir de aqui ya irias probano con mejores servicios que se adaptan mejor a tus necesidades y que puedes usar para poder crear proyectos en poco tiempo, pero la idea es la misma, solo que la facilidad de desarollo y los precio iran variendo segun los combines.
Y bueno esto es a modo de las tecnologias que uso para ese tipo de proyectos, es decir servicios o pltaormas, porque si hablamos de herramientas tambien tengo mis herramientas favoritas y ese es uno de los siguiente videos