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.

This talk has been presented at JSNation 2023, check out the latest edition of this JavaScript Conference.

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
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Entendiendo la Arquitectura Fiber de React
React Advanced Conference 2022React Advanced Conference 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
This Talk explores React's internal jargon, specifically fiber, which is an internal unit of work for rendering and committing. Fibers facilitate efficient updates to elements and play a crucial role in the reconciliation process. The work loop, complete work, and commit phase are essential steps in the rendering process. Understanding React's internals can help with optimizing code and pull request reviews. React 18 introduces the work loop sync and async functions for concurrent features and prioritization. Fiber brings benefits like async rendering and the ability to discard work-in-progress trees, improving user experience.
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
Today's Talk introduces TRPC, a library that eliminates the need for code generation and provides type safety and better collaboration between front-end and back-end. TRPC is demonstrated in a Next JS application integrated with Prisma, allowing for easy implementation and interaction with the database. The library allows for seamless usage in the client, with automatic procedure renaming and the ability to call methods without generating types. TRPC's client-server interaction is based on HTTP requests and allows for easy debugging and tracing. The library also provides runtime type check and validation using Zod.
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
GraphQL has made a huge impact in the way we build client applications, websites, and mobile apps. Despite the dominance of resolvers, the GraphQL specification does not mandate their use. Introducing Graphast, a new project that compiles GraphQL operations into execution and output plans, providing advanced optimizations. In GraphFast, instead of resolvers, we have plan resolvers that deal with future data. Graphfast plan resolvers are short and efficient, supporting all features of modern 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.
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 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.
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