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.

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

FAQ

Platformatic is a company that helps developers build, manage, and scale Node.js applications by automating undifferentiating heavy lifting. It offers open-source tools and a cloud platform to streamline the development process.

Platformatic bundles features like OpenAPI, GraphQL support, REST, custom metrics, logs, TypeScript support, auto-module reloading, and health checks. It also includes PlatformaticDB for quick API creation and Platformatic Runtime for running multiple applications within the same Node.js runtime.

PlatformaticDB is a tool that allows developers to build APIs quickly by creating migrations and generating APIs automatically. It supports multiple databases and is designed to be easy to use.

The Composer in Platformatic allows developers to combine multiple REST services and expose them as a single endpoint. It simplifies the process of managing multiple APIs by handling complexities like backend/frontend pattern, making it work out-of-the-box.

Yes, Platformatic is 100% free and open source. There is no catch; all the tools and features are available for free on their website and GitHub.

Platformatic improves developer experience by providing tools that automate repetitive tasks, simplify API creation, and manage microservices efficiently. It aims to bring back the ease and speed of development similar to the early days of Ruby on Rails.

Yes, Platformatic can be self-hosted. Developers can install it using npm and run it on their own servers. Additionally, Platformatic offers a beta program for running its services on your own cloud.

Yes, Platformatic offers WebSocket support for real-time data.

Platformatic Runtime is a new technology that allows running multiple frontend and backend applications within the same Node.js runtime. It creates a virtual mesh for routing requests within the same process, improving efficiency and simplifying deployment.

Platformatic's cloud platform allows developers to deploy their applications from zero to production with ease. It offers a seamless experience with features like automatic client generation for frontend frameworks and a simple pricing model based on compute power.

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