about 4 years ago Syntax Podcast
Why do we need Web Interop? Another Standards Body?
- 02:33 Talk about 2 JavaScript environments
- 03:52 Mention of Structured Content conference
- 06:07 Start discussing web interoperability
- 09:10 List many other JS environments
- 14:04 Describe JS standards bodies
- 16:24 Goal to standardize APIs across environments
- 17:42 Tools will work across environments
- 20:25 Announce web interoperability working group
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.
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.
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.
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.
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.
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
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.
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
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,