Skip to main content

about 4 years ago Syntax Podcast

Why do we need Web Interop? Another Standards Body?

Wes Bos

Wes Bos Host

Scott Tolinski

Scott Tolinski Host

Topic 0 14:04

Describe JS standards bodies

Wes Bos

browser APIs or or, like, JavaScript APIs and not making up. Well, they do have some of their own as well.

Wes Bos

And that's it. That's why, like, why we didn't have fetch in Node for so long because fetch was not a a version of JavaScript. Mhmm. But

Wes Bos

Add event listener, click handlers, things like that. Stuff that's in the browser, that that's what they are responsible for. The the,

Wes Bos

in all of these different platforms. So, like, what a pain in the butt that would be is, like, okay, well, fetch doesn't work properly what's the browser? File File reader API. You talked about that in one of the last episodes.

Wes Bos

JavaScript spec. It was a browser spec.

Wes Bos

if you write some code and it works in Cloudflare Workers, you'll be able to bring that thing over to CS or Hermes, as people will say. That's the new JavaScript engine that's for React Native.

Wes Bos

And then they said, okay. We we should implement that in Node as well. And then we have Deno, which Deno's whole thing was that We are, of course, that you're gonna do TypeScript, but we are just going to be implementing AWS I don't know.

Wes Bos

A dog API that just returns random dog names. Right? So they said that they will go upstream With hot reloading and a JavaScript

Wes Bos

and all kinds of stuff. So, like, what do we graph.

Wes Bos

HTML 5 video API, that kind of stuff. Right? And then we have the no JS TSC technical steering committee. They're responsible for node APIs.

Topic 1 06:07

Start discussing web interoperability

Wes Bos

There's JavaScript core, which powers WebKit, which is No.

Wes Bos

Which is we talked about Edge.

Wes Bos

But it still is its own environment. There's Deno and Node. We talked about that. Cloudflare Worker. So Cloudflare has cooked up its own JavaScript environment.

Wes Bos

But note is a bit weird because it, Like, uses VA, but then it also has its own APIs on top of it.

Wes Bos

I asked if they want to come on because I would love to love to learn a little bit more about that. And then I just, like, asked on Twitter. I was like, what other So I bet collaboration methods to connect with everybody who works on contacts. One one thing we've talked about with, Sanity specifically They were responsible for fetch, Yeah. File system API. So, like, I bet there's probably already this. Like, you get a ESLint rule that says, And apparently, that runs on, like, a Node. Js mixed with the browser and their own environment.

Wes Bos

is Cloudflare their own? They're Okay. Cloudflare workers and and what we mean by this is that when code runs, and learn how structured content can help. So if you're building websites has its own w three c working group.

Wes Bos

the Bloomberg terminal, which is like a trading terminal that, like, streams I used to work at investment bank, and it had, like, Cloudflare had to build this thing called MiniFlare, Have meetings and take notes and to browser APIs, and then sometimes they have a bit of vendor specific stuff added on top. And The downside to that is, like, I always get a little bit scared of, like, okay, I'm going to write this thing in this working group is that So that's another environment that JavaScript runs in.

Scott Tolinski

Node and Deno.

Wes Bos

CloudFront

Wes Bos

But then we have, like, other environments, like web workers, which is, like, not a browser environment, just 2 days ago or yesterday, actually, at the time of recording, Because Cloudflare Workers has implemented the webworker spec.

Wes Bos

based JavaScript environments,

Scott Tolinski

action script.

Wes Bos

Shopify, an individual core contributors to both Node. Jsentino, Serverless or edge compute provider, and that thing should just run properly. Right? And there shouldn't be like apparently, there's this huge thread that There's some slight variations between fetch there are very it. With headers in this environment, so we gotta I gotta use some sort of, like, they say we're not going to make our new our own APIs. Right? Like, they're not going to be saying, like, okay, we should have a, runtime. So

Wes Bos

Chrome May 24 to 25, and I was like, yeah, I would love to know more about that. And I got messages from 2 devs I worked at Bloomberg, and they said, Alright. That's it for today. Thanks for tuning in. We will catch you. Oh, one more thing. Sorry. I forgot to say. The website for this working group is Only 8 contributions on Christmas day.

Wes Bos

functions,

Scott Tolinski

Does it isn't is,

Wes Bos

So there is there's 3 big ones in the browser. The v eight, which is powers, weigh pros and cons and come up with specs and everything, so shout out.

Wes Bos

Access to all kinds of,

Wes Bos

There is Hermes When we talked about the edge workers is that it's kind of weird that they all have implemented their own API, set time out. That that's TC 39. Right? But then we have These edge functions, they're not browser. They're not web workers. They're not episode and sort of cool some of my thoughts about it and My concerns I guess. Yeah. Yeah. Definitely an interesting turn. I don't know if a lot of people, There's AWS Cloudfluntfluntfrat it also powers note.

Wes Bos

opera note. And, I forget the a specific name of it right now, but, behind

Scott Tolinski

Okay.

Wes Bos

It's not really JavaScript, though. Okay. I wasn't sure. Yeah.

Wes Bos

Ten different JavaScript environments.

Wes Bos

The biggest WebKit browser is Safari, but there's other Boss. Hey. Excited to talk about this. It's kinda interesting. It's it's sort of hot on the tails of the stuff that we are talking about, A working group that they it's called Interop, a dev server standard a a a lib in serenity OS, which I think is a Linux You can also go on down to San Francisco. I was just there myself. It's a pretty cool city.

Topic 2 03:52

Mention of Structured Content conference

Scott Tolinski

We ordered an Uber or no. It was a Lyft. So,

Wes Bos

A dude in a car to a woman in And then we all of a sudden, we start having all these other ones, Cloudflare Workers and AWS and, Oh my god. San Francisco, great place. The big apple, they call it. I'm I'm a big fan of that. Mhmm.

Scott Tolinski

and in a normal circumstance, I think you could probably blame me for this, but I showed it to, 3 other dudes.

Scott Tolinski

Yeah. And we confirmed the license plates. Not only that, but the the photo of the driver. Like, it, Sure. Yeah. We could tell that story.

Scott Tolinski

After the conference,

Wes Bos

70% off, Shopify, and Vercel? So, like, I was, like, wondering, like, what horse does Shopify have in this race, you know,

Wes Bos

unfortunately, we had taken the lift of the conference emcee it is a JSX and TypeScript transpiler, This is an in person and a live stream so you can go to to both. We'll talk about that more in just a second.

Wes Bos

only get a code, which is code syntax, all caps, 70% off. Unreal. So, again, free online.

Scott Tolinski

this is might reflect on the Lyft softwares.

Wes Bos

And,

Scott Tolinski

So that's why it's good that we get that right. I ordered a Lyft,

Scott Tolinski

The other way around, it switched from the woman in SUV to a dude in the car. Yeah.

Wes Bos

It bridged over to San Francisco, and it, like, took the Scott's app, like, not lying. Scott's app, like, totally switched, information about the markets.

Scott Tolinski

very clearly was the same driver and license plate as the one that we had ordered. We get in the lift, and she starts taking us into San Francisco, which is not where we were Going. Yeah. So we were just chit chatting. We're just chit chatting. And before we know it, we're like, what what bridge is this? There's no the conference was in Berkeley.

Wes Bos

in the car. So if you're really bad about that, but I reached out to her after and we're all good. Yeah. I did too. Yeah.

Scott Tolinski

I think one time we we we We made it to San Francisco without even trying

Wes Bos

last last week. Should we tell that story? Edge functions too. There's even one that runs on, like, a pared down JavaScript environment that runs on, like, microcontrollers.

Topic 3 09:10

List many other JS environments

Wes Bos

if it works locally in Node, that doesn't necessarily mean it works On their servers, you know, because they're not running Node. They have their own VM of JavaScript.

Wes Bos

version.

Wes Bos

of JavaScript engine called Apps Script, and you could, like, You could only use certain things, and you couldn't use, like, any ES six stuff. Apparently, they swapped that out. I was reading into it the other day. They swapped it out for Node, Which is good, so you can just use Node. So all of this to say, syntax and functions And I need more.

Wes Bos

that they're responsible for, you're a little bit more constrained. But the upside to that is that It will be able to deploy and work anything anywhere. And somebody on Twitter even already linked me to this thing called Un. Js,

Wes Bos

From one environment to another is doesn't exactly always work. When we talked about the edge functions, we said, okay.

Wes Bos

Certainly a lot of words.

Wes Bos

Lib. Js is apparently like

Wes Bos

there are a lot of implementations of JavaScript out there in all kinds of from the browser to the server to, package that sits on top that normalizes it. Right? And now we're we're back browser inconsistencies again.

Wes Bos

into Node. And someone's like, bun does that.

Wes Bos

that they've announced is that there's folks from Bloomberg.

Wes Bos

when let in const Or when a sync would like the JavaScript core, we're going to start seeing packages that say works anywhere, works in the browser, works in any of these JavaScript environment, works in Deno, works in Node. It's not using any APIs Like raw solid green every single day of of the year. Let's see. Christmas No. I can't name 10 of them. Can you name 2? or by taking some other.

Scott Tolinski

comes up about Bun, I'm kind of like, I what big fan.

Wes Bos

They're responsible for, like, web APIs.

Scott Tolinski

There's Nashorn, which is Java, Bun. This is kind of an interesting one. Have you heard of this Bun? So I it. I've been following Bun's progress on Twitter for a bit, but the whole Yeah. Every every time something

Wes Bos

the what w g, the the what What? Wg or t c 39 or or whatever.

Wes Bos

There's somebody linked me to a, somewhat. There's Jscript, which is the old JavaScript environment that ran on Internet Explorer.

Wes Bos

So I I had talked about BUN in the last 2 two times in the last week on Twitter. So I was talking about, like, running TypeScript, Cloudflare says, today, Cloudflare, in partnership with Vercel, there are people that have Implemented their own environment of JavaScript either by reimplementing the spec, You just say I'm compliant. I don't know what they're going to call it. I'm going to I'm calling it worker ready. And that's because,

Wes Bos

ecommerce thing. They want they want that to work anywhere. Like, you should be able to deploy Shopify Hydrogen app JavaScript To literally anywhere, to Vercel, to AWS, to Cloudflare Workers, to, you know, anything. So that's the horse they've got in that race. And then Vercel, obviously, they're They're a big, In the past is that they do a awesome job at bringing everybody together who works on this stuff, not just developers and not just marketers. So,

Wes Bos

Never heard of Zig before either. These are a lot of words. Yeah. Yeah.

Wes Bos

So, from

Scott Tolinski

what is it? Like Yeah. Where where does it fit into things? So so, like, I'll see, like, bun is now 10% faster. I'm like, okay. But what is bun here?

Wes Bos

Which just replicates the JavaScript environment locally because I'm going to start this off with a little bit of a quiz for you, Scott. Can you name, corporate entity deployment. You know? Right. Mhmm.

Wes Bos

implementer of serverless and edge workers and and all that stuff. So They are just implementing and they said on Twitter, we want their hydrogen, which is their headless react based

Wes Bos

this vendor's initially, So it's kind of like Rust, apparently, Zig. It's a low level VM that is compiled to native code. Kinda interesting.

Topic 4 16:24

Goal to standardize APIs across environments

Wes Bos

That's kind of what the whole idea behind this is, and it's pretty exciting. They have a huge list of We talked about them. They have their own Cloudflare, Do you know Node, And and that makes me a little bit nervous Because you're not just writing JavaScript at the end, then you're writing JavaScript that is targeting 1, CSS and JS JavaScript bundler, people from Sanity, people from Sometimes they take an engine and add some stuff on top of it. So there are But what structured content 2022 does is it gathers digital teams together to explore how how they can improve their ways they work with tools, Unified JavaScript tools, and it looks like the whole idea behind this is that, and it's available at wintercg.org.

Wes Bos

And, like, I'm just kinda sitting here being, like, okay. Like, what does this mean? What like, what's the future of this? And what I'm thinking is that we are going to soon see if you are, Apps Script is I remember this. Google Docs used to have their own version of is announcing establishment of a new community group for web interrupt, So that now we have Deno has a whole set of APIs as well. They're pretty tightly bound to the web APIs.

Wes Bos

A Cloudflare Worker and it didn't work because it was using Node APIs.

Wes Bos

like, I once tried to put a package in Environments are there, and there's, like, 3 or 4 Java Node. Js or Deno or another, there is a lot of places that JavaScript will run. And writing JavaScript that is portable You're able to attend virtually for free.

Wes Bos

that are specific to those platforms. Right? Like Like Node. Js has has read and write file. Deno has read text file. The browser has, They have a list of And other FAQs build and deploy universal JavaScript servers.

Topic 5 00:00

Transcript

Scott Tolinski

Tools to not only track all of the errors and exceptions but performance tracking metrics in your application

Wes Bos

when we talked about our EdgeWorker show. So, I think this will be a nice supplementary runtime environment like Node. Js or Deno is written in Zig.

Scott Tolinski

Welcome to Syntax

Scott Tolinski

This episode is sponsored by 2 amazing companies, Sentry and Sanity.

Scott Tolinski

giving you a chance to see it. Not only which which parts in which routes of your site are the slowest but which are the fastest? Which parts of your side are performing well? It. Which have a lower user misery score.

Announcer

the tastiest web development treats coming again hot. Here is Wes, Barracuda,

Scott Tolinski

glass half full kind of person because Sentry has,

Announcer

Monday. Monday. Monday.

Scott Tolinski

web interop and what the heck this thing is that Cloudflare just Announced the the other day or, I I guess, by the time you're listening to this a couple weeks ago. So my name is Scott Talinski. I'm a developer from Denver, Colorado. And with me, as always, is the West

Announcer

the craziest,

Scott Tolinski

I don't know it seems like to me like it was announced Kind of out of nowhere. So I'm I'm excited to learn a little bit more about it myself.

Announcer

Open wide dev fans, get ready to stuff your face with JavaScript, CSS, node modules, barbecue tips, get workflows, breakdancing, soft skill, web development, the hastiest,

Scott Tolinski

Also, they both it. Start with the letter s. It's the letter I'm kinda partial to. So shout out to Sentry Insanity for picking great names. So Sentry is the perfect it. Air platform handling service that allows you to see everything that is going wrong in your application. But it also honestly, it's more than just what's going wrong in your application. It also to see what's going right if you're a half

Announcer

Boss, and Scott

Wes Bos

Use the coupon code tasty treat, all lowercase and all one word, and you'll get 2 months for free. We are also sponsored by Sanity. You know Sanity. We've talked about them all the time, like structured content CMS. Guess what? They're doing a conference, And that's what this ad read is gonna be about. It's gonna be telling you about their conference. It's called structured content 2022.

Scott Tolinski

on this Monday hasty treat. We're gonna be talking about

Topic 6 02:33

Talk about 2 JavaScript environments

Wes Bos

it. Some pretty cool stuff. They got all kinds of really good speakers, server side. Like, you can't use all the node modules that you want in them. They're they're not Deno. Right? like, the PlayStation browser is is based on WebKit as well. And then there's SpiderMonkey, which is the the engine behind Firefox.

Wes Bos

structured content dot live.

Wes Bos

covering the foundations of building a content system, real life applications for structured content from great brands like Spotify, AT and T, Shopify, and The New York Times, Let's get into it. So the other day, Yeah. And which is, like, kinda north of Oakland, and we're just like, wait. Where are we going? And she's like, we're definitely not going to Berkeley. We're on this We come up with proposals and to listen to everybody's hot takes on Twitter and all that good stuff and align a SUV.

Wes Bos

content scientists, APIs that they're trying to standardize that works across the board in all of these different platforms, which is pretty cool.

Wes Bos

Spotify, to runtimes community group or wintercg, A better fetch API, which is kinda interesting.

Wes Bos

likely you are. You're gonna wanna check this out. Conference is gonna be a mix of talks, panels, and conversations, this type of thing? And and that's the sort of the idea This seems like they got all kinds of packages in there. And I bet we're gonna start seeing a lot more of that where they say, okay, I built this library. It works literally anywhere. I gotta say, Only 8. What? Holy holy smokes. That's impressive. Impressive. So, yeah, That's, that's where we're at with this type of stuff. We'll be sure to keep you updated on it. But that's exactly one thing I said And then and then I said, what's in another JavaScript environment? Someone said, bun is a JavaScript environment. I'm like, wait a second.

Topic 7 20:25

Announce web interoperability working group

Scott Tolinski

Peace. Peace.

Wes Bos

Beautiful. Alright. Thanks for tuning in. Catch you on Wednesday.

Scott Tolinski

and don't forget to subscribe in your podcast player it. Or drop a review if you like this show.

Wes Bos

The web interoperability You don't just get to do a podcast talking about it. You actually have to Which is unreal. Like, somebody has reim implemented all of JavaScript in Java. Mhmm.

Scott Tolinski

for a full archive of all of our shows,

Wes Bos

and and whatnot. So shout out to people that do this type of thing. Like this is not writing code. This is trying to So the idea of this, Don't touch any of those APIs because if you're trying to build something that works literally anywhere, that have content in them, IPX, high performance, secure, easy way to image proxy.

Scott Tolinski

Head on over to syntax.fm

Topic 8 17:42

Tools will work across environments

Wes Bos

Nitro, and syntax listeners So he is the dev. Oh, my gosh.

Scott Tolinski

just works dot tm is is pretty great you know yeah I mean anybody who's written And honestly, the one of my favorite things about Century is just seeing it. They, just the pure amount of joy that you can get from squashing a bug, marking it as resolved, and having it never come back. That is it. Just one of those great things about using a service like this. So shout out to century at century.i0.

Wes Bos

They have a goals and whatnot. And, like, that's a that's a whole skill in itself. So shout out to everybody who's working on this type of thing. You have a high high level of synergy in your life If you're to do that, your synergy scores are off the charts.

Scott Tolinski

some of those issues are the most prominent things you run into. You Install something and just straight up doesn't work. And then you'd say, alright. Well, I guess I'm not using that, or I'm going to have to fork it and figure out why it's not working or who knows what. I mean, I've done that a handful of times myself. So having things just work in different environments seems like

Wes Bos

Look at the contribution first of all, the like, it's hard to run it locally. Like, I know, But what they are trying to do is that, JavaScript environment, gonna be attending a person. Check it out. Start structure content dot live. Yeah. It's funny.

Scott Tolinski

day. Yeah. Yeah. Yeah. And and many of these projects are things that I I Using love, like, he he's he works on v test and all sorts of stuff. So, yeah,

Scott Tolinski

He does a lot of really great stuff, and Fu. He Oh, yeah. So I I'm a big fan of many of his projects, so I've never heard of this. I'm gonna have to take Take a look at a lot of these repos.

Scott Tolinski

Full stack SSR applications in the past couple of years knows that

Wes Bos

it's a set of JavaScript toolings.

Wes Bos

Absolutely.

Scott Tolinski

But the promise of that it works

Scott Tolinski

a good good win.

Scott Tolinski

some of the

Scott Tolinski

Contributors on this

Scott Tolinski

this on JS are making me kind of excited. Like, Anthony Foo,

Share

Empowering developers for over 286197056437 milliseconds!