Nuestro stack de desarrollo

Después de darle muchas vueltas a nuestro primer post, hemos decidido contar cuál es el stack de desarrollo con el que trabajamos.

No somos ningunos fanáticos de un stack en concreto, utilizamos aquellas herramientas que nos van mejor en cada momento y nos permiten construir los productos que queremos y que nuestros clientes nos piden. De hecho, dependiendo de cuándo estés leyendo esto es probable que haya cambiado. Por el momento, esto es lo que nos gusta cuando construimos productos.

Ecosistema JavaScript / TypeScript

Nuestro enfoque desde el primer momento siempre ha sido poder abarcar todas las áreas de un producto digital: desde el desarrollo de aplicaciones móviles, pasando por webs interactivas, hasta sistemas de backend. Somos un estudio pequeño con vocación de lanzar productos completos, por lo que necesitábamos un lenguaje horizontal que pudiera abarcar todas estas áreas.

En nuestra búsqueda nos enamoramos del ecosistema JavaScript y en este encontramos las librerías y frameworks que nos permitían construir productos de gran calidad sin necesidad de crear distintas implementaciones para cada plataforma en la que estén disponibles.

Web

En web utilizamos React, una de las librerías de JavaScript más establecidas y adoptadas por compañías como Airbnb, Twitter o Facebook. Aunque existen alternativas muy sólidas como Vue, nos decantamos por React por la gran comunidad, el fuerte crecimiento y la adopción que está teniendo en los últimos años.

Los frameworks con los que más trabajamos son Next.js y Gatsby, dependiendo de la magnitud y las necesidades del proyecto. Gatsby nos gusta por su amplio catálogo de plugins que solucionan buena parte de las casuísticas generales del desarrollo web como la generación de sitemaps, añadir las cabeceras para SEO o la optimización de imágenes. De Next.js nos gusta que te permite usar React y tener tanto SSR (Server Side Rendering) como SSG (Static Site Generation) de una forma muy flexible.

Para el despliegue de nuestro Frontend solemos utilizar Vercel como plataforma predilecta por su fiabilidad y sencillez, aunque somos también muy fans de Netlify.

Aplicaciones móviles

Desarrollamos aplicaciones móviles con React Native, el framework open source de Facebook en el que hoy en día confían grandes compañías como Instagram, Discord, Uber Eats o Tesla para sus soluciones móviles.

React Native nos permite poder crear aplicaciones para Android y iOS con una única base de código. Siendo un pequeño estudio esto es fundamental ya que nos permite agilizar los tiempos de desarrollo de forma muy significativa. Esto se traduce en costes de desarrollo más reducidos y, lo más importante, poder lanzar de forma más rápida. Además, al usar JavaScript y TypeScript podemos aprovechar toda nuestra experiencia en el desarrollo de webs y backend en la creación de apps móviles.

¿Por qué no desarrollamos aplicaciones nativas? Aunque este tema daría para un post por sí sólo, creemos firmemente que en el 90% de los proyectos no hay ninguna ventaja en desarrollar de forma nativa para iOS o Android frente a utilizar React Native. De hecho, el desarrollo nativo sólo hará que incrementar la factura final y añadir complejidad al mantenimiento del producto al necesitar perfiles especialistas en iOS y Android.

Vemos un gran potencial en React Native para que se convierta en la plataforma predilecta para el desarrollo de apps móviles en los próximos años. No sólo cuenta con una de las comunidades más grandes y activas del ecosistema, sino que líderes mundiales como Shopify han apostado por el framework para el futuro desarrollo de aplicaciones móviles.

Backend

Para cerrar el círculo, utilizamos Node.js para crear las APIs de nuestros proyectos, utilizado por empresas como PayPal, Netflix o Uber para optimizar el flujo de información dentro de sus aplicaciones.

En los últimos meses hemos comenzado a implementar el framework NestJS en nuestros proyectos ya que nos permite desarrollar backends eficientes, escalables y testables con Node.js utilizando TypeScript. NestJS usa una arquitectura modular inspirada en Angular, incluyendo conceptos de la programación orientada a objetos, la programación funcional y la programación reactiva de forma muy ágil gracias a su CLI y ecosistema.

Nuestra visión del no-code

En ocasiones el mejor stack de desarrollo es contar con las herramientas que nos permiten evitar tener que desarrollar. No reinventamos la rueda cuando no hay necesidad. Por suerte vivimos en un momento donde gran parte de los problemas del entorno digital están resueltas. Aunque hablaremos de ello en detalle más adelante, utilizamos Stripe para procesar pagos, Webflow para la construcción de landing pages y sitios web corporativos, Typeform para la creación de formularios y obtención de datos, entre otros.

Nuestra posición sobre el movimiento no-code es muy clara: utilizamos servicios que nos permiten crear, lanzar y validar productos en un menor tiempo que no comprometen la propuesta de valor ni el control sobre el producto.

En constante evolución

No nos cerramos a ningún stack ni tecnología en concreta. Ante todo nos gusta solucionar problemas y hacerlo con las mejores herramienta que tenemos disponibles en cada momento. Siempre estamos probando tecnologías y enfoques distintos, es la única manera en que entendemos que se pueden crear productos que marquen la diferencia.