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

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
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.
Understanding React’s Fiber Architecture
React Advanced 2022React Advanced 2022
29 min
Understanding React’s Fiber Architecture
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.
Full Stack Components
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Full Stack Components
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.
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
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.
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
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

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.
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
Top Content
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 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.
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