All Things Web

JS Roundup: Episode 03

This is JS Roundup, our monthly series where we gather the most interesting news from the world of JavaScript.

In this episode, we’ll cover Svelte September updates, Deno 1.14 and Meteor 2.4 releases, exciting news about SolidJS and Netlify, and more!

Below you’ll find the transcript of the video. We’ve added it here for those who prefer to read rather than watch. It also contains links to additional information.

Deno 1.14

Paul Everitt: I really enjoy watching the HTTP 203 show on YouTube from the Google Chrome developers. They had a show recently about Deno, and my choice for September comes from the Deno 1.14 release

A couple of things in there really stuck out to me. 

First, the customization options for deno lint and deno fmt. I find it cool that they’re bundling their own linter and their own formatter, a bit like Golang does. They’ve made it a little bit more customizable. It worked for me the first time – I plugged it in, made a couple of changes, and ran it. It reformatted my code and my tsconfig.json file, which I thought was pretty cool.

I also found the addition of support for URL patterns to be interesting. The web platform marches on, and stuff that used to be done in JavaScript libraries is being moved to the platform. Not just for browser use but also, as you see with Deno, for server-side use in things like Node.js. 

One last thing that I found interesting in this release: zero-copy ArrayBuffer transfers between workers. This is the way you do parallelization, kind of like Golang’s CSP model. They don’t want to have to transfer all of the data, so if you’re using ArrayBuffers you can use a kind of shared memory model. I’ve gotten really interested in this recently with other languages, like Python. It’ll be interesting to see if you’re going to build really big, highly parallel applications now with JavaScript using Deno.

Svelte September updates

Ebenezer Don: What’s new in Svelte in September of 2021? Svelte started this month by being named Stack Overflow’s most loved web framework. I’d have guessed some other frameworks which have been out there for a while, but we’ve chosen Svelte.

In September, Svelte gave us new updates and performance improvements, one of which is the update to use:actions. It can now be used on <svelte:body>. You know the actions that are element level lifecycle functions which we use on HTML elements? We can now use them on the HTML body.

There’s now less code in Svelte output. We had this issue, which was created in February by AradAral. One of the things he highlighted was that “since multiple whitespaces, tabs, and line breaks inside HTML attribute values are always ignored by browsers and cause no functional difference, the Svelte compiler could easily ignore these characters, and ‘normalize’ the whitespaces in attribute values, without causing any harm”. Right now this is fixed. Svelte has made the performance improvement, and we no longer have as many whitespaces in Svelte output.

Hydrated components have also been updated to only rely upon helpers for creating the types of elements present in the component. 

Scaling is now accounted for in flip animations and all <option>s in a <select> are now deselected when the bound value doesn’t match any of them. 

I must comment on how quickly the Svelte team is able to respond to requests. I see issues that were filed in August and already fixed in September – I think that’s really awesome! To read more about Svelte’s September 2021 updates, please check out the changelog

Paul: It’s really interesting to see what you’re talking about. You made a comment about how quickly they respond to changes and I want to ask you, Ebenezer, it seems like this whole idea about a compiler has really captured everybody’s imagination and is starting to influence the thinking in other frameworks. Do you agree? 

Ebenezer: I do, I do agree with that. And I think the fact that we have multiple frameworks right now that are trying to make performance the center of their work is making a lot of other frameworks work towards that goal. So it’s kind of like having competition in the market and we’re seeing amazing results.

Meteor 2.4

Ebenezer: Meteor, the open source framework for building full-stack JavaScript apps, released version 2.4 in September. In this version we got new features, like Vue 3 integration, performance improvements, and a new installer. With this version we also got a New Collection method: createIndex, additional email package features, and runtime performance improvements. 

Paul: I’ve been around for a while, but it sure seems like Meteor’s been around a long time. Do you agree? 

Ebenezer: Yes, it’s really interesting how they manage to still do all these integrations. Mature projects sometimes run out of energy, so it’s cool to see Meteor still tackling all these new problems.

NestJS

Ebenezer: In September, NestJS hit 40,000 stars on GitHub. NestJS is a progressive Node.js framework for building efficient and scalable server-side applications. It’s really amazing to see this framework hitting such a big milestone. What do you think about NestJS, Paul? 

Paul: I was going to comment that they do have some innovative ideas, and I’ve been enjoying watching the rollout of NestJS.

Next.js 11.1

Paul: How about I talk about Next.js, which had a 11.1 release. It was in August, but I didn’t notice until September, so I’m going to talk about it real quick. 

Two things really jumped out to me in this release. First is ES Modules support – the work continues as ES Modules makes its push through the JavaScript ecosystem, which I’m a really big fan of. Second, and this is something Ebenezer and I talk about a lot, Next.js is adopting SWC as a replacement for Babel and for another part of the toolchain, giving them ultra-fast rebuilds. Interestingly, it’s not written in JavaScript. It’s written in Rust. It reminds me a little bit of Hugo adopting esbuild, which is written in Golang, and getting enormous performance wins by eliminating webpack from the build. It’s really interesting to see the focus on performance and the use of non-JavaScript languages in JavaScript tooling.

Netlify and SolidJS

Ebenezer: Netlify joins SolidJS as an official deployment partner and sponsor. This is really exciting, and I see a really bright feature for SolidJS with lots of improvements and updates coming soon. 

Paul: My small contribution to the second episode of JS Roundup was talking about Ryan Carniato, the creator of SolidJS, and his articles. He’s got a really open and inclusive attitude and it looks like Netlify agrees with him.

Tweet of the month

https://twitter.com/WebStormIDE/status/1435248444281589767?s=20

Paul: And now our tweet of the month. It’s about JetBrains JavaScript Day 2021, where we get all of our friends in the JavaScript community together for a full day of talks about everything that matters and everything that’s fun. It’s hosted by none other than the two of us, your hosts from JS Roundup. Go ahead and sign up, and we’ll see you there. Bring some questions and let’s enjoy JavaScript Day 2021.


That’s it for today’s episode of JS Roundup. How do you like this new format? Let us know what you think here or drop a line to Ebenezer, Paul, or the WebStorm team on Twitter!

The WebStorm team

image description