Cada desarrollador de aplicaciones por lo general siempre tiene su propio conjunto de herramientas de software que prefiere usar sobre muchas otras que hay actualmente. Es decir cada desarrollador tiene su Stack o conjuntos de tecnologias favoritas para crear Software. Asi que en este video quisiera darles una lista del Stack de tecnologías que yo pleaneo usar este año 2024.
¿Porque un Stack?
Y Antes de empezar deben tener en claro que no todos los desarrolladores necesitan usar mi mismo Stack o necesitan aprender tantos temas variados, esto es más para desarrolladores freelance yo diria, porque cuando trabajas como desarrollador para una empresa, inicialmente tus tareas son mas limitadas, es decir oh te especializas en el frontend o en el backend, por lo que tienes que ahondar mucho más en conceptos de tu herramientas y puedes pasar años usando la misma tecnología.
Pero en mi caso como soy desarrollador freelance o desarrollador Indpendiente, cuando creo aplicaciones para clientes tengo que desarrollar todo, por lo que tengo que conocer varias herramientas de backend, frontend, y tambien de despliegue, y al final decidir cual combiene usar.
Y para aquellos que recien escuchan este termino de Stack de tecnologías, pues piensenlo de esta manera, cada aplicacion web siempre se conforma de backend, frontend, bases de datos y herramientas adicionales, bueno hay desarrolladores que dependiendo de la educacion que tuvieron y de su experiencia y hasta de sus preferencias personales, combina distintos lenguajes para cada area, un lenguaje para backend, otro para frontend y asi.
Y claro no solamente hablamos de lenguajes de programacion, sino tambien de Frameworks, interpretes, herramientas de construccion, servicios de la nube, y muchas mas opciones que al final todos sirven para lo mismo, crear un proyecto web, solo que algunas tienen ventajas sobre otras.
The Fazt Stack
Ok, como desarrollador freelance durante varios años, he usado distintos lenguajes, frameworks y herramientas de software para crear distintos tipos de aplicaciones, asi que de todas las que mas uso al dia de hoy estan muy relacionadas a Javascript como lenguaje, e incluso esto ha hecho que la mayoria de contenido que he publicado, durante varios años solo ha sido de Javascript y sus tecnologias (Nodejs, React, Mongodb, etc). Asi que no se sorprendan si todo es casi stack de Javascript, pero igual les mencionre otras alternativas que vale la pena probar.
Ahora si el stack esta alrededor de Javascript es obvio que voy a dedicarle tiempo a sus tecnologías relacionadas como lo es Typescript tambien. Asi que cuano hablo del stack de Javacript tambien consideren que hablo de Typescript a la vez.
Y bueno todo esto del stack basado en javascript en la practicas signifa que tiendo a usar herramientas como Nodejs, Express, Nextjs, Nestjs, Prisma, Mongodb, GraphQL, Typescript
Javascript y Typescript
Indpendientemente de si eres un desarrolador backend o frontend eventualmente te encontraras con que estaras usando Javascript de algun modo,
Ademas si quieres crear aplicaciones frontend, en la practica todo es usando Javascript, claro actualmente tambien se pueden usar tecnologias como web assembly que te permite crear interfaces web usando lenguajes como C++ o Python, pero aun asi estan bastante lejos de ser consideradas una opcion alternativa. O Incluso soluciones como Flutter que vienen por parte del lenguaje Dart tambien no son una alternativa optima debido al peso de las aplicaciones aun, sin embargo no quiere decir que no lo puedan ser a futuro, ya veremos.
Pero de momento este es el lenguaje que si o si debes aprender si queires ser desarrollador fullStack. De hecho en mi caso no solo uso Javascript sino Typescript, que es un lenguaje super conjunto o super set de Javascript, es decir es un lenguaje que esta encima de Javascript y le añade más sintaxis y herramientas de desarrollo para que podamos obtener errores en tiempo de compilacion y no errores en tiempo de ejecucion.
Así que uso Javascript, tanto para crear aplicaciones frontend, backend e incluso Scripts.
Ahora esto no significa que sea reacion a usar otros lenguajes, de hecho en ocasiones cuando heredo proyectos de clientes, estos a veces tienen backends escritos en Python, Go, Java o PHP, por lo que no tengo problemas en aceptarlos, sin embargo si tengo que empezar un proyecto solo y necesito crear ademas del backend tambien el frontend, el usar Javascript me facilita mucho enfocarme en entregar caracteristicas y no perder tanto tiempo en ir cambiando de lenguaje.
De hecho gran parte de esto es gracias a Nodejs.
Nodejs
NOdejs es un entorno de ejecución de Javascript, lo que quiere decir que permite a Javascript ejecutarse fuera del navegador para que se puedan crear otro tipo de aplicaciones como aplicaciones de consola, de servidor, o aplicaciones de escritorio incluso (Electronjs).
E incluso gracias a Nodejs es que al dia de hoy tenemos frameworks de Frontend que incluso sus herramientas estan enteramente basadas en Javascript.
Y claro una de las primeras cosas que muchos aprenden a hacer con javascripe es el desarrollo de interfaces graficas para el navegador, por lo que me lleva a escoger mi siguiente herramienta React.
React (Nextjs)
Ok aqui hay alguna pequeña dierencia si bien uso React para crear interfaces, al día de hoy ya no estoy usando mucho tan solo React para crear interfaces graficas sino que lo uso tambien en conjunto con Nextjs
es que mientras que REact es solo una biblioteca de interfaces, Nextjs es un Framework que le añade muchas más caracteristicas que le faltan a React, como por ejemplo:
un enrutador, optimizacion SEO, de imagenes
- una carga rapida de paginas
- SEO (Search engine optimization)
- y tambien guardar en memoria los datos para que no se solicitin otra vez
- optimizacion de archivos
- carga rapida de imagenes y muchas otras ventajas mas.
Otras opciones validas son Nuxtjs por parte de Vue y Svelete por poarte de svelte, aunque en la razon principal por la que no voy por estos otros frameworks es que la cantidad de componentes ya creados para produccion en react es bastante grande en comparacion a otro framework, y como lo mio es mas crear aplicaciones para clientes, pues es tambien una buena idea tener modulos ya listos para instalar, ademas que es muy comun encontrar a desarrolladores de react que continuen con el proyecto si en caso uno de mis clientes decide continuar con otro desarrollador.
Y aunque parezca que es demasiado para muchos proyectos, en realidad hace mucho más simple el desarrollo que ir por React e ir instalando todo de poco a poco.
Ademas que en conjunto con paquetes como Next-auth, nextintl, prisma para base de datos y modulos de react como react-hook-form y react tanstack table, puedes tener aplicaciones funcionales muy rapido por lo que para crear Software as a Service es una buena elección.
Nextjs
Para desarrollar este año en cuanto al frontend, el framework que mas voy a usar, va a seguir siendo Nextjs, es decir sera mi Framework princiapl de desarrollo. Nextjs es un framework que te permite crear interfaces Frontend, pero que tambien permite ejecutar codigo de servidor, usando a Javascript, esto con el objetivo que tu aplicacion frontend pueda ganar mas ventjas como:
De hecho algo que siempre menciono es que tu puedes aprender Nodejs, para crear aplicaciones backend, luego react para crear el frontend y una base de datos y podrias crear proyectos, bueno Nextjs ofrece lo mismo, es un framework que esta encima de nodejs, usa react para el frontend y tambien se puede conectar directamente a una base de datos, por lo que es en la practica un framework realmente FullStack.
Aunque en mi caso esto lo hago solo en una aplicacion que inicia o no tiene demasiada logica enfocada en el backend, porque cuando eso pasa tiendo a mover la logica de las APIs de nextjs a Nestjs, que es otro framework mucho mejor pensado para tareas backend y que es facil de escalar.
De hecho en estos dos ultimos años hemos visto como Nextj ha ido ganando popularidad, y a este momento ya hay mucho sdesarrolladores que estan usandolo para crear aplicaciones completas, es decir solo con Nextjs creara el frontend, el backend y lo conectan a una base de datos, ademas que sumados a servicios de la nube que despliegan facilmente, hace que puedas crear proyectos web muy rapido.
Otras buenas alternativas tambien son Svelte Kit y Nuxt de Vuejs, sin embargo el trabajo las mejores constantes que hace Vercel al framework, colocan a muy por delante a nextjs casi iempre.
Typescript
En cuanto a lenguajes de programación este año voy a seguir usando Typescript como mi lenguaje principal de Frontend y backend,
De hechto todo esto que les menciono
con dos proyectos como Svelte,
y el otro es la critica que recibio Typescript
honestamente
Por supuesto que seria mejor que lenguaje posea tipos de datos y herramienta sde analisis estatico pero lo interesante realente de javascirpt es que es un lenguaje muy veratil y esto permie que herramientas mas rigidas esten encima, por lo que typescript es una opcion para los que siempre necesitan esto y javascript el lenguaje mas grande que permite pasarse esas reglas,
Nodejs
Al ser freelance pues tengo que desarrollar muchas aplicaciones y el estar cambando de lenguajes es muy incomod por lo que desde que salio Node, siempre vi una opcion facil de poder usar un solo lenguaje para rear aplicaciones, y al dia de hoy es asi.
Ahora muy pocos en proyectos reales usando Nodejs realmente desde cero, sino que usan Frameworks por lo que para mi si mañana tuviera que crear un proyecto backend desde cero, creo que iria por Nestjs, asl ser un framework que practicamente ya ofrece todas las caracteritiscas mas comunes listas para que simplemente las configuremos.
Luego en segundo lugar colocaria exmpres y finalmente fastify, aunque frameworks como Adonis quisera empezar a probarlos tambien este año.
Sistemas Gestores de Bases de datos
En cuanto a la creación de la baes de base de datos por lo general no tengo problemas en usar los sistemas gestores de bases de datos mas populares, como MySQL, PostgreSQL, o MySQL Server, pero si tuviera que colocar una en primer lugar probablemente, en mi caso iria primero por PostgreSQL, al ser muy rapido, simple de desplegar, ser populra y open Source, de hecho al dia de hoy es muy facil encontrar servicios de la nube que permiten desplegar PostgreSQL hasta con planes gratuitos inicialmnete.
Asi que si necesito usar una base de datos relacional iria por PostgreSQL, pero si iria por una no relacional, iria por MOngodb, al ser este la opcion mas popular de la web, y que escala basatante bien. Ademas que como mongodb no tiene esquemas es bastante versatl empezar con un proptotipo de modelo de base de datos e ir cambiandolo a meidada que se vaya optimizndo el negocio.
Aunque otra base de datos que tambien uso bastante en proyectos es Redis que es una base de datos tambien NoSQL llamada Redis, que tipicamente se usa cuando se quiere ganar velocidad en respuestas de Backend o se necesita tener insersiones o conultas rapidas, esto tipicamente para aplicaciones donde los milisegundos importan.
APIs (Backend)
Cuand hablamos de APIs estamos hablando de aplicaciones que aunque estan escritas en lenguajes de programación distintos o tecnologias distintas, algun tipo de programa intermedio les permite cmunicarse, este programa intermedio es la API.

De hecho en el desarrollo web esto es más tipico aun porque el Frontend y el backend pueden estar en lenguajes y herramientas distintas por lo que crear una API es algo completamnete comun.
El tipo de API que tiendo a crear en aplicaciones backend de hecho son en primer lugar las REST APIs, luego vienen las APIs de WebSockets y finalmente uso las de GraphQL, se que hace algunos años atras estaba muy popular el crear APIs de Graphql, pero lo cierto es que para muchos proyectos el crear un REST API es algo muy simple y facil de seguir ademas que ya hay muchas herramientas para documentos, testear y escalar REST APIs asi que sigue siendo mi primero opcion.
Las APIs de websockets por otro lado son indispensables cuando una aplicacion requiere funcionalidades en timpo real, como que cuando se crea un dato, otro usuario pueda ir viendo los cambios inmediatamente. Ademas que esta API puede estar en el mismo servidor de la REST API
y finalmente GraphQL cuando se requiere optimizar mucho más las consultas y el desarrollo ya no es un proyecto simple sino de uno que ya posee herramientas modernas para consumir este tipo de APIs o se planea consumir solo los dato necesarios, esto por ejemplo en una aplicación movil.
Y aunque tambien existen otras opciones como tRPC o gRPC, estos días ir por lo que más se usa y lo que más información hay, es una opción mas facil que perder mucho tiempo investigando herramientas que pueden ser demasiada complejidad para muchos proyectos.
Y aunque en mis proyectos mas queridos uso GraphQL, para proyectos de clientes siempre opto por REST APIs al ser un enfoque mas simple de aprender, ademas que muchas veces
Nextjs
Nextjs se ha convertido sin notarlo tanto en el framework principal que mas uso, no solo por mi sino tambien por muchos desarrolladores que actualmente lo estan usando ya no solo para crear frontend sino tambien aplicaciones fullstack enteras
Por supuesto Nextjs no es un framework de backend asi que si se requieres hacer algo mas complicado, se deberia optar por un framework backend, y solo darle la tarea de frontend a Nextjs.
Lo genial de Nextjs es que se une muy bien con muchos paquetes que sirven para crear aplicaciones completas, entre estos paquetes estan next-auth, typescript para tipado estatico, Tailwindcss para estilizar
React
- UI Components: Tailwind & Shadcn
- Eslint
- Prettier
Bases de datos
- Mongodb
- Postgresql
- Prisma
- Mongoose
- Redis
Backend as a Service
- Supabase
- Firebase
Testing
- Jest
- Cypress
Deployment
- IaaS
- AWS EC2
- Digitalocean
- PM2
Cloud Tools
Estas tipicamente las uso cuando tengo que desplegar proyectos en nubes de clientes o quieren tener mas control sofre su infraestructura, con sus pro
Entre algunas de estas herramientas que sigo usando al dia de hoy, estan:
- Nginx
- Docker
O si quiere tenerlo todo mas facil de lograr, siempre es buena idea optar por servicios de la nube mas automatizado
- Railway
- Mongodb Atlas
Cloud Tools
- Nginx
- Docker
- Railway
Herramientas
Excalidraw
Message Broker
Otras opciones actuales
Estas herramientas que uso son de las mas comunes actualmente, pero como todo avanza tambien tenemos otras opciones para crear aplicaciones sin tener que usar tantas tecnologias.
Cabe recalcar que su enfoque es mas limitado a comparacion de escribir tu propio codigo, ya que este es el maximo control que puedes tener sobre tu proyecto.
Entre estas podemos encontra a las soluciones No-Code y Low Code, por supuesto actualmente potencias por Inteligencia artificial tambien, que es el siguiente tema que quisiera tratar.
Conclusion
En fin, mi Stack de herrmientas para crear aplicaciones web actualmnete y el que creo que seguira siendo este año, esta conformado por las siguientes tecnologias:
- Typescript
- Nodejs
- Express
- Nestjs
- React
- Nextjs
- Sistemas Gestores de Bases de datos
- PostgreSQL
- MySQL
- Mongodb
- Redis
- ORM/ODMS
- Prisma
- Mongoose
- APIs
- REST APIs
- WebSockets
- GraphQL APIs
- Servicio de la nube
- Railway
- AWS
- Mongodb Atlas
- Digitalocean Spaces
como pueden notar la mayor cantidad de tecnologias que uso en mi dia a dia son basadas en Javascript por el simple hecho de poder reusar muchos conceptos del lenguaje en varios entornos, pero no siempre es el caso
Asi que cuenteme en el caso de ustedes, cual es su Stack Favorito.