No sé qué stack elegir (React + ¿?)

acho_tio

Hola,

A ver, estoy hecho un puto lío. Me explico:

Por un lado, estoy aprendiendo React (me está costando verme el 100% de la librería y ponerlo en práctica, pero bueno, poco a poco voy entendiendo los conceptos básicos y hooks), pero es que además luego te pones a leer información sobre todo su ecosistema y aparecen que si NextJS, Remix, Gatsby, React Native, Redux, React Query, React Apollo, Relay, Chakra UI, Material UI, Ant Design of React, Storybook..... y la lista continúa hasta decir basta.

Por otro lado, quiero aprender algo de backend para hacer la típica API la cual consumir desde el front. En su día miré Laravel y algo de Node/Express, pero te pones a leer y hay mil cosas con la que hacerla, lo cual para gente indecisa como yo, con toda esta variedad de opciones, no sabes qué cojones escoger.

Además de todo esto, luego va el CSS. Que si Tailwind, SASS, LESS, Semantic UI, Bulma, Bootstrap, Element UI, Materialize, Foundation...

Por no hablar de DevOps: Jenkins, Docker, Azure, AWS, Kubernetes y su puta madre.

Y bueno las BBDD: MySQL, PostgreSQL, MariaDB, MongoDB, Redis, Elasticsearch...

Creo que está muy bien tener muchas herramientas para hacer lo puto mismo seguramente, pero es que no sé cuál escoger.

¿Cómo hacéis para elegir un stack para un proyecto? ¿Aprendéis un stack en concreto y lo utilizáis para todos los proyectos que hacéis? ¿Vais cambiando tecnologías de proyecto en proyecto?

Mi intención es hacer algún side project en mis ratos libres, ya que trabajo de programador (Java) y no tengo ni tiempo ni ganas de mirarme 20 tecnologías para hacer la misma tarea o muy similar. La cantidad de herramientas para desarrollar una web/app es abrumadora y ni quiero ni puedo aprenderlas todas, obviamente.

Lo único que tengo claro es que quiero usar React, me falta elegir un backend, una BBDD y algún framework CSS o alguna herrramienta que te dan los componentes ya hechos listos para usarlos, para no reinventar la rueda.

No quiero aprender una nueva herramienta si las ventajas con respecto a la que ya usaba antes no son mucho mayores.

¿Con qué backend, BBDD y framework CSS acompañaríais a React?

Espero vuestra opinión, gracias por leer! Me he desahogado :slight_smile:

Saludos!

2
newfag

Me interesa

Scottie

Para el front usa algo sencillito como bootstrap, que es importar librerias js, el css y yasta. Te tendrías que mirar el sistema de columnas como mucho e ir pillando y adaptando componentes para los que necesites y viendo en su documentación como funciona.

BBDD, usa algo basado en SQL, como MaríaDB o Mysql, que a nivel superficial es lo mismo y a modo de sideproject basta.

Y para el back tira por algún derivado de java como spring...

No se, si tu idea es aprender react, intentaría variar en lo menos posible del resto con cosas que ya sabes como son Java e imagino que SQL.

benitoll

Yo soy como tú pero estoy todavía menos avanzado que tú (todavía no me he puesto aunque en la práctica ya he tocado algo de React a nivel muy básico por necesidad, aparte de JS, PHP, Python y SQL), tengo pensado aprender el stack MERN + Django (Python) y reforzar JS, PHP y SQL, espero empezar en serio a ello durante los próximos 30 días.

En respuesta a tu pregunta, yo me quiero centrar en MERN + Django porque creo que es lo que más se busca y se está usando (y de lo que mejor se paga), por lo que son de lo que más contenido de más calidad y menos desactualizado habrá, y luego si tal dar el salto por mi cuenta a aplicaciones serverless (Cloudflare Workers, etc). Sobre frameworks CSS no tengo experiencia para saber por qué una es mejor que otra ni qué hacen exactamente xD (y no será porque no haya tocado cosas que usan TailWind por ejemplo, pero sin tener npi de los porqués, simplemente buscaba cómo se hacía lo que se necesitaba hacer y fuera xD).

En principio, aparte de practicar por mi cuenta, tengo una lista de cursos online masivos gratuitos (no siempre lo son) que quiero hacer porque dan certificados y porque me sirven como objetivos y me ayudan a desvariar menos. Voy a poner un resumen de los más posiblemente relacionados con lo que te interesa (mi lista completa también incluye temas de Machine/Deep Learning, DevOps, gestión de proyectos, ciberseguridad y matemáticas/algoritmos/estructuras de datos/ciencia de datos/blockchain/solidity).

Perdona si voy mucho más allá de lo que has preguntado pero si te sirve o le puede servir a otros, habrá valido la pena xD

La lista de cursos y recursos
Importante
5 1 respuesta
acho_tio

#4 Muchas gracias por tu comentario! No tenía ni idea de los MOOCs la verdad, les echaré un ojo y veré qué cursos hay interesantes!

Centrarse en MERN stack es una opción a tener en cuenta, así aprovechas JS también en el lado del servidor con Node/Express. Lo que tengo claro es que si no me centro en unas muy pocas tecnologías, voy a abarcar mucho pero voy a profundizar más bien poco.

El otro día me hice una lista también de tecnologías que me gustaría aprender y cursos, pero al final pierdo la motivación de ver que no has terminado siquiera por la primera de la lista y luego hay 20 cosas más... xD me tengo que centrar o seleccionar un stack fijo y darle duro, porque luego piensas: para qué quiero aprender a hacer una API REST en Express y en Laravel y en Django y en Spring...? Es preferible dominar 1 y aprovechar el tiempo en aprender otras herramientas/tecnologías que complementen o te faciliten el trabajo, no aprender a hacer una misma cosa en 4 lenguajes de programación/frameworks diferentes. Menudo lío esto del mundo web :cold_sweat:

1
PhDfailer

MERN, ni te lo pienses

React , node.js, express y mongo.db

Mucha documentación y bootcampa gratuitas y puedes hacer lo que quieras

1
Lolth

MongoDB, NodeJS, https://tailwindcss.com/ y https://storybook.js.org/

1
RedSpirit

Es difícil de responder. esto. Yo creo que lo mejor es que te pongas en movimiento y vayas eligiendo las herramientas sobre la marcha según necesites. Creo que vas a sacar mucho más partido a empezar ya con lo que sea e ir viendo que a caer en el analysis paralysis o pensar que tienes que hacer 100h de aprendizaje de herramientas del ecosistema antes de ponerte al lío.

Por dar una respuesta más específica, quizá lo más inmediato pudiera ser por ejemplo Next.js porque te da también funcionalidades backend. Hay un montón de tutoriales por ahí usando Next en modo fullstack por ejemplo con Prisma y cualquier base de datos de tu elección. Si quieres algo más versátil puedes usar Express que tiene una curva de aprendizaje muy rápida al menos para montar un CRUD y hay muchísimos tutoriales.

Como librerías aparte yo no metería ninguna hasta que no te haga falta. Si quieres hacer una app que depende mucho del server state metería react-query. Si vas a necesitar muchos formularios metería react-hook-form. Como librería de componentes me gusta chakra-ui. Si necesito client state pondría por ejemplo Zustand, por decir algo porque hay muchísimas.

Pero vamos, que el qué es lo de menos. Empieza lo más básico posible y no te preocupes por aprender o decidir sobre nada más hasta que no te haga falta.

Usuarios habituales

  • RedSpirit
  • Lolth
  • PhDfailer
  • acho_tio
  • benitoll
  • Scottie
  • newfag