Marco

Estructura de software que facilita el desarrollo al proporcionar características estándar y reutilizables

Definición

Un framework es como nuestra caja de herramientas prefabricada en onRuntime. En lugar de construir todo desde cero para cada proyecto (¡imagina construir una casa empezando por hacer tus propios clavos!), utilizamos estas estructuras que nos dan un buen punto de partida y convenciones sólidas.

La gran pregunta: ¿framework o biblioteca?

Nos hacen esta pregunta mucho los clientes, así que aquí va la explicación:

  • Una biblioteca es como pedir prestada una herramienta específica para una tarea concreta. Tú mantienes el control y decides cuándo usarla.
  • Un framework es como entrar a un taller completamente equipado con sus propias reglas. Te dice cómo trabajar.

Hay un dicho que lo resume bien: "Tú llamas a una biblioteca, pero un framework te llama a ti."

Frameworks que nos encanta usar

Lado frontend

  • React: Técnicamente es una biblioteca, pero el ecosistema que la rodea (React Router, Redux, etc.) la convierte casi en un framework. Es nuestra elección #1 para interfaces de usuario.
  • Next.js: ¡Nuestra favorita para sitios web complejos! La usamos para reconstruir nuestro propio sitio onRuntime.com.
  • React Native: Para las apps móviles de nuestros clientes, es nuestra opción favorita. La usamos para Tonight Pass con excelentes resultados.

Lado backend

  • NestJS: ¡Somos completamente fanáticos! Es estructurado, modular y nos ahorra un montón de tiempo en aplicaciones grandes.
  • Express: Más ligero que NestJS, lo usamos para APIs simples o MVPs.
  • Prisma: No es realmente un framework backend completo, pero es nuestro ORM favorito para manejar bases de datos.

Full-stack

  • Next.js (¡otra vez!): Lo usamos cada vez más como una solución full-stack gracias a las rutas API.
  • Redwood.js: Lo hemos probado en algunos proyectos y ¡es prometedor! Un poco como Ruby on Rails pero para el ecosistema JS.

Por qué no codificamos todo desde cero

  • Vamos muuucho más rápido: No más problemas ya resueltos mil veces por otros
  • Código más limpio: Las convenciones del framework nos obligan a ser disciplinados
  • Seguridad: Los frameworks populares son revisados por miles de desarrolladores que rastrean vulnerabilidades
  • Integración más fácil: Cuando integramos a un nuevo desarrollador en el equipo, si ya conocen el framework, son operativos en poco tiempo

Cuándo elegimos usar (o no) un framework

En onRuntime, nos encantan los frameworks, pero no los usamos a ciegas. Para un microservicio ultra específico, a veces preferimos un enfoque más ligero con solo unas pocas bibliotecas. Para nuestra aplicación Kartrak, por ejemplo, optamos por un enfoque más minimalista porque el rendimiento era crítico.

Pero honestamente, para la mayoría de los proyectos de clientes donde el tiempo de lanzamiento al mercado importa, un buen framework ahorra tanto tiempo que la elección es obvia.