APIs are Evolving. Again.

Rate this content
Bookmark

As developers we stand on the shoulders of giants, and it can be helpful to take a look at the past to gain a better perspective. In this talk we’ll briefly explore the past decade of backend development and architectural patterns.


We’ve often ditched technologies in an attempt to make the developer experience frictionless. However we sometimes forget what we can learn from “the good old days”.


What are you building: a monolith, a microservices system or something in between? A shift in how we see things can help us keep moving forwards.

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

Technology is a spiral, with foundational ideas resurfacing. Java revolutionized enterprise applications. REST and JSON simplified building APIs and websites. Node.js enabled fast and custom development, leading to the microservices revolution. Platformatic aims to fill the gap in building, managing, and scaling microservices painlessly.

1. Introduction to Technology and Java

Short description:

Technology is a spiral. Foundational ideas come back. COBOL and MVC. The monolith and Java. Java changed enterprise applications. Slow, mechanical, requires maintenance. Java started building APIs.

Hi everyone, I'm Matteo. Hi everyone, I'm Luca. Welcome to JS Nation, and we are so happy to be here. After 6 years together. After 6 years in the same locations, whatever, different conferences, different time, it's fantastic.

So before we get started, for the sake of brevity, you know we only have 20 minutes, we have abbreviated a few steps of the story, so if it's not perfect, not correct, please let us know, but it's fine, okay?

So I wanted to start everything by telling you that technology is actually a spiral. Every generation of technology, you know, implementation changes all the time, you know. A few years back we were coding in COBOL, now we are coding in Typescript, or Zig, or Rust, or whatever. But most of the time, foundational ideas do not. They actually came back and came back and came back. You know MVC was invented by Smalltalk a few years back, right? Like COBOL, also. COBOL.

And, well, we were talking about COBOL, and the biggest, our good friend, the monolith. How many of you love coding in very nice monoliths for your app? Yay! Don't be shy, don't be shy. Okay, it's fine. And so, yeah, the monolith. And, look, once upon a time in the world of APIs, there was Java. And this is JS Nation, it's a JavaScript conference. But, you know, not the coffee bean or the island. I don't know, did you know? You know that in Amsterdam we have Java Island, it's just over there. But that's not where they created Java, by the way. Okay. So, thank you. Everything started with coding applications, right, in Java. We all know how it started, with your beautiful IDE, you press the magic build or play button, and you create a war file. Well, yeah, at the end of the day it's just a tarball. And then you SSH copy or you just drag and drop, if you're on Windows, and put it in your application server, right? That's how everything started. And Java is a phenomenal technology that changed massively the way we look at enterprise applications, but it's a little bit slow, mechanical, it requires a lot of maintenance, but it can take you from A to B. No problem. We already all have been there, right? And Java started building the world of APIs.

2. The Evolution of Web Services and REST

Short description:

At the time, web services were known as Weasel files. The SOAP parsing era. The monolithic model. The advent of REST and JSON. The impact of Ruby on Rails. The ease of building APIs and websites. The lost simplicity of generating websites with REST.

But at the time they were called web services, and we all have been through the beautiful phase of having your Weasel file. How many of you coded a Weasel in your lifetime? Many grippears are here.

Okay, a few of you. Yeah, you know, it's called the WS star, and I don't know, when we were at uni we mocked this and called it that star. So that's why there is the desktop behind. Okay, sorry, I didn't explain this, because people told me that was not clear.

And we all built, also then later I know the SOAP parsing, because everything was XML, right? And on the UI side, the equation was a little bit different. Everything was built server side, and server side render, and we used tomcat. The model that we implemented was a model that was very monolithic, like Matteo said, because we had a single unit of deployment, but it was multi-threaded and synchronous. So when I was, a few years back, I was studying my PhD, and we, and I took a look at this fantastic thesis. There was the thesis of Roy Fielding, which was one of the pioneers of what we call the web. He theorized this little thing called the Representational State Transfer, or AKA REST. It's great, okay? Also, about that time, this was the year 2000, about the time 2001 and so on, we started to see another nice invention in the world. JSON.

How many of you use JSON today? You're raising it up. I don't see enough hands up. Okay, you're using XML at the bottom of the state. I know you're using XML. The die-hard. The die-hard. But, back in 2004, we had another great invention in the world of web, which was Ruby on Rails. I don't know how many of you were stunned by when Rails came out and it was able, oh, I can actually build a website or a fantastic thing in 20 minutes, like it was stunning. And we did fantastic HTML templates with ERB and another nice technology called PrototypeJS, which was a blast. And it's scriptaculous, whatever. I don't know how many of you were there at this time. But it's great tech. And that, the developer experience of building APIs and websites, was all about the data, so you started generating your migration for your database. Then these things were generated automatically, and more or less you get a nice scaffolding of HTML, your controller, ERB files, and all a nice CRUD REST API. All of this was like, I don't know, one comment away. Where did we lose the capability to generate a full website with a nice API for it in one comment? I don't know how much time it takes you to do that today, but it's totally not what REST does.

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

Scaling Up with Remix and Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Scaling Up with Remix and Micro Frontends
Top Content
Do you have a large product built by many teams? Are you struggling to release often? Did your frontend turn into a massive unmaintainable monolith? If, like me, you’ve answered yes to any of those questions, this talk is for you! I’ll show you exactly how you can build a micro frontend architecture with Remix to solve those challenges.
Full Stack Components
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Full Stack Components
Top Content
Remix is a web framework that gives you the simple mental model of a Multi-Page App (MPA) but the power and capabilities of a Single-Page App (SPA). One of the big challenges of SPAs is network management resulting in a great deal of indirection and buggy code. This is especially noticeable in application state which Remix completely eliminates, but it's also an issue in individual components that communicate with a single-purpose backend endpoint (like a combobox search for example).
In this talk, Kent will demonstrate how Remix enables you to build complex UI components that are connected to a backend in the simplest and most powerful way you've ever seen. Leaving you time to chill with your family or whatever else you do for fun.
Understanding React’s Fiber Architecture
React Advanced Conference 2022React Advanced Conference 2022
29 min
Understanding React’s Fiber Architecture
Top Content
We've heard a lot about React's Fiber Architecture, but it feels like few of us understand it in depth (or have the time to). In this talk, Tejas will go over his best attempt at understanding Fiber (reviewed by other experts), and present it in an 'explain-like-I'm-five years old' way.
Get rid of your API schemas with tRPC
React Day Berlin 2022React Day Berlin 2022
29 min
Get rid of your API schemas with tRPC
Do you know we can replace API schemas with a lightweight and type-safe library? With tRPC you can easily replace GraphQL or REST with inferred shapes without schemas or code generation. In this talk we will understand the benefit of tRPC and how apply it in a NextJs application. If you want reduce your project complexity you can't miss this talk.
Step aside resolvers: a new approach to GraphQL execution
GraphQL Galaxy 2022GraphQL Galaxy 2022
16 min
Step aside resolvers: a new approach to GraphQL execution
Though GraphQL is declarative, resolvers operate field-by-field, layer-by-layer, often resulting in unnecessary work for your business logic even when using techniques such as DataLoader. In this talk, Benjie will introduce his vision for a new general-purpose GraphQL execution strategy whose holistic approach could lead to significant efficiency and scalability gains for all GraphQL APIs.
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

AI on Demand: Serverless AI
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
AI on Demand: Serverless AI
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
In this workshop, we discuss the merits of serverless architecture and how it can be applied to the AI space. We'll explore options around building serverless RAG applications for a more lambda-esque approach to AI. Next, we'll get hands on and build a sample CRUD app that allows you to store information and query it using an LLM with Workers AI, Vectorize, D1, and Cloudflare Workers.
Building GraphQL APIs on top of Ethereum with The Graph
GraphQL Galaxy 2021GraphQL Galaxy 2021
48 min
Building GraphQL APIs on top of Ethereum with The Graph
WorkshopFree
Nader Dabit
Nader Dabit
The Graph is an indexing protocol for querying networks like Ethereum, IPFS, and other blockchains. Anyone can build and publish open APIs, called subgraphs, making data easily accessible.

In this workshop you’ll learn how to build a subgraph that indexes NFT blockchain data from the Foundation smart contract. We’ll deploy the API, and learn how to perform queries to retrieve data using various types of data access patterns, implementing filters and sorting.

By the end of the workshop, you should understand how to build and deploy performant APIs to The Graph to index data from any smart contract deployed to Ethereum.
Hands-on with AG Grid's React Data Grid
React Summit 2022React Summit 2022
147 min
Hands-on with AG Grid's React Data Grid
WorkshopFree
Sean Landsman
Sean Landsman
Get started with AG Grid React Data Grid with a hands-on tutorial from the core team that will take you through the steps of creating your first grid, including how to configure the grid with simple properties and custom components. AG Grid community edition is completely free to use in commercial applications, so you'll learn a powerful tool that you can immediately add to your projects. You'll also discover how to load data into the grid and different ways to add custom rendering to the grid. By the end of the workshop, you will have created an AG Grid React Data Grid and customized with functional React components.- Getting started and installing AG Grid- Configuring sorting, filtering, pagination- Loading data into the grid- The grid API- Using hooks and functional components with AG Grid- Capabilities of the free community edition of AG Grid- Customizing the grid with React Components
Building a Hyper Fast Web Server with Deno
JSNation Live 2021JSNation Live 2021
156 min
Building a Hyper Fast Web Server with Deno
WorkshopFree
Matt Landers
Will Johnston
2 authors
Deno 1.9 introduced a new web server API that takes advantage of Hyper, a fast and correct HTTP implementation for Rust. Using this API instead of the std/http implementation increases performance and provides support for HTTP2. In this workshop, learn how to create a web server utilizing Hyper under the hood and boost the performance for your web apps.
High-performance Next.js
React Summit 2022React Summit 2022
50 min
High-performance Next.js
Workshop
Michele Riva
Michele Riva
Next.js is a compelling framework that makes many tasks effortless by providing many out-of-the-box solutions. But as soon as our app needs to scale, it is essential to maintain high performance without compromising maintenance and server costs. In this workshop, we will see how to analyze Next.js performances, resources usage, how to scale it, and how to make the right decisions while writing the application architecture.
Database Workflows & API Development with Prisma
Node Congress 2022Node Congress 2022
98 min
Database Workflows & API Development with Prisma
WorkshopFree
Nikolas Burk
Nikolas Burk
Prisma is an open-source ORM for Node.js and TypeScript. In this workshop, you’ll learn the fundamental Prisma workflows to model data, perform database migrations and query the database to read and write data. You’ll also learn how Prisma fits into your application stack, building a REST API and a GraphQL API from scratch using SQLite as the database.
Table of contents:
- Setting up Prisma, data modeling & migrations- Exploring Prisma Client to query the database- Building REST API routes with Express- Building a GraphQL API with Apollo Server