Las APIs están evolucionando. Otra vez.

Rate this content
Bookmark

Como desarrolladores, nos apoyamos en los hombros de gigantes, y puede ser útil echar un vistazo al pasado para obtener una mejor perspectiva. En esta charla exploraremos brevemente la última década de desarrollo backend y patrones arquitectónicos.


A menudo hemos abandonado tecnologías en un intento de hacer que la experiencia del desarrollador sea sin fricciones. Sin embargo, a veces olvidamos lo que podemos aprender de los 'buenos viejos tiempos'.


¿Qué estás construyendo: un monolito, un sistema de microservicios o algo intermedio? Un cambio en cómo vemos las cosas puede ayudarnos a seguir avanzando.

FAQ

JS Nation es una conferencia de JavaScript. Matteo y Luca son presentadores en esta conferencia, quienes compartieron su experiencia y conocimientos sobre el desarrollo de software y nuevas tecnologías.

Matteo y Luca mencionaron la transición de lenguajes de programación como COBOL a lenguajes más modernos como Typescript, Zig, y Rust, resaltando cómo las ideas fundamentales en tecnología a menudo regresan o se mantienen.

En programación, un monolito se refiere a una aplicación grande y unificada, donde todas las funciones están interconectadas dentro de un mismo código base, a diferencia de los microservicios donde las funciones están divididas en servicios más pequeños e independientes.

Matteo y Luca destacan que Java fue fundamental para cambiar la manera en que se visualizan las aplicaciones empresariales, aunque mencionan que puede ser lento y requiere bastante mantenimiento.

REST, o Transferencia de Estado Representacional, es un estilo de arquitectura para sistemas hipermedia como la Web, teorizado por Roy Fielding. Facilita la comunicación y la construcción de APIs en el desarrollo web.

Mencionaron que inicialmente todo se construía y renderizaba en el servidor utilizando tecnologías como Tomcat, pero con el tiempo, la interfaz de usuario y la lógica de negocio comenzaron a desacoplarse, dando lugar a aplicaciones de una sola página y un crecimiento masivo en móviles.

Platformatic es una empresa que ayuda a los desarrolladores a deshacerse del trabajo pesado de construir aplicaciones Node.js, ofreciendo soluciones como PlatformaticDB para la construcción rápida de APIs y Composer para combinar múltiples servicios REST.

Han utilizado Node.js para crear aplicaciones que se pueden personalizar y mover rápidamente, destacando su capacidad de manejar varias solicitudes en paralelo debido a su arquitectura de un solo hilo.

Matteo Collina
Matteo Collina
Luca Maraschi
Luca Maraschi
28 min
01 Jun, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La tecnología es una espiral, con ideas fundamentales resurgiendo. Java revolucionó las aplicaciones empresariales. REST y JSON simplificaron la construcción de APIs y sitios web. Node.js permitió un desarrollo rápido y personalizado, lo que llevó a la revolución de los microservicios. Platformatic tiene como objetivo llenar el vacío en la construcción, gestión y escalado de microservicios sin dolor.

Available in English: APIs are Evolving. Again.

1. Introducción a la Tecnología y Java

Short description:

La tecnología es una espiral. Las ideas fundamentales vuelven. COBOL y MVC. El monolito y Java. Java cambió las aplicaciones empresariales. Lento, mecánico, requiere mantenimiento. Java comenzó a construir APIs.

Hola a todos, soy Matteo. Hola a todos, soy Luca. Bienvenidos a JS Nation, y estamos muy contentos de estar aquí. Después de 6 años juntos. Después de 6 años en los mismos lugares, diferentes conferencias, diferentes momentos, es fantástico.

Antes de comenzar, por cuestiones de brevedad, ya saben que solo tenemos 20 minutos, hemos abreviado algunos pasos de la historia, así que si no es perfecto, no es correcto, por favor avísenos, pero está bien, ¿de acuerdo?

Así que quería comenzar todo diciéndoles que la tecnología es en realidad una espiral. Cada generación de tecnología, ya saben, la implementación cambia todo el tiempo, ya saben. Hace algunos años estábamos programando en COBOL, ahora estamos programando en Typescript, o Zig, o Rust, o lo que sea. Pero la mayoría de las veces, las ideas fundamentales no lo hacen. De hecho, vuelven una y otra vez. Ya saben que MVC fue inventado por Smalltalk hace algunos años, ¿verdad? Como COBOL, también. COBOL.

Y, bueno, estábamos hablando de COBOL, y el más grande, nuestro buen amigo, el monolito. ¿Cuántos de ustedes aman programar en monolitos muy bonitos para sus aplicaciones? ¡Yay! No sean tímidos, no sean tímidos. Está bien. Y así, sí, el monolito. Y, miren, una vez en el mundo de las APIs, estaba Java. Y esto es JS Nation, es una conferencia de JavaScript. Pero, ya saben, no el grano de café o la isla. ¿Sabían eso? Saben que en Ámsterdam tenemos Java Island, está justo allí. Pero ahí no es donde crearon Java, por cierto. De acuerdo. Entonces, gracias. Todo comenzó con la programación de aplicaciones en Java. Todos sabemos cómo comenzó, con tu hermoso IDE, presionas el botón mágico de construir o reproducir, y creas un archivo war. Bueno, sí, al final del día es solo un paquete tar. Y luego lo copias por SSH o simplemente lo arrastras y sueltas, si estás en Windows, y lo colocas en tu servidor de aplicaciones, ¿verdad? Así es como todo comenzó. Y Java es una tecnología fenomenal que cambió enormemente la forma en que vemos las aplicaciones enterprise, pero es un poco lento, mecánico, requiere mucho mantenimiento, pero puede llevarte de A a B. Sin problema. Todos hemos estado allí, ¿verdad? Y Java comenzó a construir el mundo de las APIs.

2. La Evolución de los Servicios Web y REST

Short description:

En ese momento, los servicios web eran conocidos como archivos Weasel. La era del análisis SOAP. El modelo monolítico. La llegada de REST y JSON. El impacto de Ruby on Rails. La facilidad de construir APIs y sitios web. La simplicidad perdida de generar sitios web con REST.

Pero en ese momento se les llamaba servicios web, y todos hemos pasado por la hermosa fase de tener tu archivo Weasel. ¿Cuántos de ustedes han codificado un Weasel en su vida? Muchos grippears están aquí.

De acuerdo, algunos de ustedes. Sí, saben, se llama WS star, y no sé, cuando estábamos en la universidad nos burlábamos de esto y lo llamábamos así. Así que por eso está el escritorio detrás. De acuerdo, lo siento, no expliqué esto, porque me dijeron que no estaba claro.

Y todos construimos, también más tarde, conozco el análisis SOAP, porque todo era XML, ¿verdad? Y en el lado de la interfaz de usuario, la ecuación era un poco diferente. Todo se construía en el lado del servidor, y renderizado en el lado del servidor, y usábamos tomcat. El modelo que implementamos era un modelo muy monolítico, como dijo Matteo, porque teníamos una única unidad de implementación, pero era multi-threaded y síncrona. Así que cuando estaba, hace algunos años, estudiando mi doctorado, y eché un vistazo a esta tesis fantástica. Había la tesis de Roy Fielding, que fue uno de los pioneros de lo que llamamos la web. Teorizó esta pequeña cosa llamada Transferencia de Estado Representacional, o también conocida como REST. Es genial, ¿de acuerdo? Además, alrededor de esa época, en el año 2000, aproximadamente en 2001 y así sucesivamente, comenzamos a ver otra invención interesante en el mundo. JSON.

¿Cuántos de ustedes usan JSON hoy en día? Están levantando la mano. No veo suficientes manos levantadas. De acuerdo, están usando XML en el fondo del estado. Sé que están usando XML. Los fanáticos. Los fanáticos. Pero, en 2004, tuvimos otra gran invención en el mundo de la web, que fue Ruby on Rails. No sé cuántos de ustedes quedaron asombrados cuando salió Rails y fue capaz, oh, puedo construir un sitio web o algo fantástico en 20 minutos, fue impresionante. Y hicimos fantásticas plantillas HTML con ERB y otra tecnología interesante llamada PrototypeJS, que fue un éxito. Y scriptaculous, lo que sea. No sé cuántos de ustedes estuvieron allí en ese momento. Pero es una gran tecnología. Y esa, la developer experience de construir APIs y sitios web, se trataba de los data, así que comenzaste a generar tu migración para tu database. Luego estas cosas se generaban automáticamente, y más o menos obtenías un buen andamiaje de HTML, tu controlador, archivos ERB, y una bonita API REST CRUD. Todo esto estaba, no sé, a un comentario de distancia. ¿Dónde perdimos la capacidad de generar un sitio web completo con una API agradable en un comentario? No sé cuánto tiempo les lleva hacer eso hoy en día, pero definitivamente no es lo que hace REST.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
¿Tienes un producto grande construido por muchos equipos? ¿Estás luchando para lanzar a menudo? ¿Se convirtió tu frontend en un monolito inmantenible masivo? Si, como yo, has respondido sí a cualquiera de esas preguntas, ¡esta charla es para ti! Te mostraré exactamente cómo puedes construir una arquitectura de micro frontend con Remix para resolver esos desafíos.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
Remix es un marco de trabajo web que te ofrece el modelo mental simple de una aplicación de múltiples páginas (MPA) pero el poder y las capacidades de una aplicación de una sola página (SPA). Uno de los grandes desafíos de las SPA es la gestión de la red que resulta en una gran cantidad de indirecciones y código defectuoso. Esto es especialmente notable en el estado de la aplicación que Remix elimina por completo, pero también es un problema en los componentes individuales que se comunican con un punto final de backend de un solo propósito (como una búsqueda de combobox, por ejemplo).
En esta charla, Kent demostrará cómo Remix te permite construir componentes de interfaz de usuario complejos que están conectados a un backend de la manera más simple y poderosa que hayas visto. Dejándote tiempo para relajarte con tu familia o lo que sea que hagas para divertirte.
Entendiendo la Arquitectura Fiber de React
React Advanced Conference 2022React Advanced Conference 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
Hemos escuchado mucho sobre la Arquitectura Fiber de React, pero parece que pocos de nosotros la entendemos en profundidad (o tenemos el tiempo para hacerlo). En esta charla, Tejas repasará su mejor intento de entender Fiber (revisado por otros expertos), y lo presentará de una manera 'explicar-como-si-tuviera-cinco años'.
Despídete de tus esquemas de API con tRPC
React Day Berlin 2022React Day Berlin 2022
29 min
Despídete de tus esquemas de API con tRPC
¿Sabías que podemos reemplazar los esquemas de API con una biblioteca liviana y segura? Con tRPC, puedes reemplazar fácilmente GraphQL o REST con formas inferidas sin esquemas ni generación de código. En esta charla, entenderemos los beneficios de tRPC y cómo aplicarlo en una aplicación de NextJs. Si quieres reducir la complejidad de tu proyecto, no te puedes perder esta charla.
Deja paso a los resolvers: un nuevo enfoque para la ejecución de GraphQL
GraphQL Galaxy 2022GraphQL Galaxy 2022
16 min
Deja paso a los resolvers: un nuevo enfoque para la ejecución de GraphQL
Aunque GraphQL es declarativo, los resolvers operan campo por campo, capa por capa, lo que a menudo resulta en un trabajo innecesario para la lógica de tu negocio, incluso cuando se utilizan técnicas como DataLoader. En esta charla, Benjie presentará su visión de una nueva estrategia de ejecución de GraphQL de propósito general cuyo enfoque holístico podría conducir a ganancias significativas en eficiencia y escalabilidad para todas las APIs de GraphQL.
The Eternal Sunshine of the Zero Build Pipeline
React Finland 2021React Finland 2021
36 min
The Eternal Sunshine of the Zero Build Pipeline
For many years, we have migrated all our devtools to Node.js for the sake of simplicity: a common language (JS/TS), a large ecosystem (NPM), and a powerful engine. In the meantime, we moved a lot of computation tasks to the client-side thanks to PWA and JavaScript Hegemony.
So we made Webapps for years, developing with awesome reactive frameworks and bundling a lot of dependencies. We progressively moved from our simplicity to complex apps toolchains. We've become the new Java-like ecosystem. It sucks.
It's 2021, we've got a lot of new technologies to sustain our Users eXperience. It's time to have a break and rethink our tools rather than going faster and faster in the same direction. It's time to redesign the Developer eXperience. It's time for a bundle-free dev environment. It's time to embrace a new frontend building philosophy, still with our lovely JavaScript.
Introducing Snowpack, Vite, Astro, and other Bare Modules tools concepts!

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Construyendo APIs GraphQL sobre Ethereum con The Graph
GraphQL Galaxy 2021GraphQL Galaxy 2021
48 min
Construyendo APIs GraphQL sobre Ethereum con The Graph
WorkshopFree
Nader Dabit
Nader Dabit
The Graph es un protocolo de indexación para consultar redes como Ethereum, IPFS y otras blockchains. Cualquiera puede construir y publicar APIs abiertas, llamadas subgrafos, para hacer que los datos sean fácilmente accesibles.

En este masterclass aprenderás cómo construir un subgrafo que indexa datos de blockchain de NFT del contrato inteligente Foundation. Desplegaremos la API y aprenderemos cómo realizar consultas para recuperar datos utilizando diferentes tipos de patrones de acceso a datos, implementando filtros y ordenamiento.

Al final del masterclass, deberías entender cómo construir y desplegar APIs de alto rendimiento en The Graph para indexar datos de cualquier contrato inteligente desplegado en Ethereum.
Práctica con AG Grid's React Data Grid
React Summit 2022React Summit 2022
147 min
Práctica con AG Grid's React Data Grid
WorkshopFree
Sean Landsman
Sean Landsman
Comienza con AG Grid React Data Grid con un tutorial práctico del equipo principal que te guiará a través de los pasos para crear tu primera cuadrícula, incluyendo cómo configurar la cuadrícula con propiedades simples y componentes personalizados. La edición comunitaria de AG Grid es completamente gratuita para usar en aplicaciones comerciales, por lo que aprenderás una herramienta poderosa que puedes agregar de inmediato a tus proyectos. También descubrirás cómo cargar datos en la cuadrícula y diferentes formas de agregar representación personalizada a la cuadrícula. Al final del masterclass, habrás creado una cuadrícula de datos AG Grid React y la habrás personalizado con componentes funcionales de React.- Comenzando e instalando AG Grid- Configurando ordenamiento, filtrado, paginación- Cargando datos en la cuadrícula- La API de la cuadrícula- Usando hooks y componentes funcionales con AG Grid- Capacidades de la edición comunitaria gratuita de AG Grid- Personalizando la cuadrícula con componentes de React
Construyendo un Servidor Web Hiper Rápido con Deno
JSNation Live 2021JSNation Live 2021
156 min
Construyendo un Servidor Web Hiper Rápido con Deno
WorkshopFree
Matt Landers
Will Johnston
2 authors
Deno 1.9 introdujo una nueva API de servidor web que aprovecha Hyper, una implementación rápida y correcta de HTTP para Rust. El uso de esta API en lugar de la implementación std/http aumenta el rendimiento y proporciona soporte para HTTP2. En este masterclass, aprende cómo crear un servidor web utilizando Hyper en el fondo y mejorar el rendimiento de tus aplicaciones web.
Masterclass de alto rendimiento Next.js
React Summit 2022React Summit 2022
50 min
Masterclass de alto rendimiento Next.js
Workshop
Michele Riva
Michele Riva
Next.js es un marco convincente que facilita muchas tareas al proporcionar muchas soluciones listas para usar. Pero tan pronto como nuestra aplicación necesita escalar, es esencial mantener un alto rendimiento sin comprometer el mantenimiento y los costos del servidor. En este masterclass, veremos cómo analizar el rendimiento de Next.js, el uso de recursos, cómo escalarlo y cómo tomar las decisiones correctas al escribir la arquitectura de la aplicación.
Flujos de base de datos y desarrollo de API con Prisma
Node Congress 2022Node Congress 2022
98 min
Flujos de base de datos y desarrollo de API con Prisma
WorkshopFree
Nikolas Burk
Nikolas Burk
Prisma es un ORM de código abierto para Node.js y TypeScript. En esta masterclass, aprenderás los flujos de trabajo fundamentales de Prisma para modelar datos, realizar migraciones de base de datos y consultar la base de datos para leer y escribir datos. También aprenderás cómo Prisma se integra en tu stack de aplicaciones, construyendo una API REST y una API GraphQL desde cero utilizando SQLite como base de datos.
Tabla de contenidos:
- Configuración de Prisma, modelado de datos y migraciones- Explorando Prisma Client para consultar la base de datos- Construyendo rutas de API REST con Express- Construyendo una API GraphQL con Apollo Server