
Open Mic - JavaScript in 2024
An open discussion on 2023 JavaScript highlights, open-source challenges, and predictions for 2024, featuring frameworks, AI, and the future of front-end
Episode Description
JavaScript Jam kicks off 2024 with a look back at 2023's biggest trends and predictions for the year ahead in frameworks, AI, and open source.
Episode Summary
The JavaScript Jam crew — Anthony Campolo, Ishan Anand, and guests including Tobiloba Adedeji from Million JS, Fuzzy, and Dan Shappir — open 2024 by reviewing what happened in the JavaScript ecosystem in 2023 and making predictions for the coming year. The conversation begins with Toby sharing news that Million JS was accepted into Y Combinator and previewing their upcoming AI-powered React optimization assistant. Fuzzy raises the EU Cyber Resilience Act and its potential implications for open source developers, sparking a debate about liability, dependency auditing, and the need for developer representation in policy. The group then assesses the state of JavaScript frameworks, noting that despite excitement around Solid and Qwik, the real breakout stories of 2023 were HTMX and Astro, while React remains dominant in enterprise. Dan Shappir offers a nuanced take on React Server Components, arguing they're fundamentally about extending unidirectional data flow across the network rather than performance, and explains why adoption has been slow compared to hooks. The discussion turns to Deno and Bun's pivot toward Node compatibility, the sustainability of VC-funded open source projects, and the retirement of the Jamstack brand. Predictions for 2024 range from JavaScript becoming the language of the AI engineer to better developer experience winning out, increased design-to-code tooling, and HTMX posing stronger competition to Next.js than any React-based alternative.
Chapters
00:00:47 - Welcome and Million JS at Y Combinator
The episode opens with the usual banter about Twitter Spaces audio issues before Ishan lays out the format: the first half covers a 2023 retrospective, and the second half tackles 2024 predictions. Anthony invites Tobiloba Adedeji from Million JS up to the stage to share exciting news.
Toby announces that Million JS was accepted into Y Combinator's next cohort just before Christmas, catching the team off guard. He also previews Million AI, an upcoming coding assistant that analyzes React and Next.js applications to suggest performance optimizations directly from the browser. The group discusses how rare it is for open source projects to get into YC, and Toby shares his excitement about React Server Components, Expo, and React Native heading into 2024.
00:14:26 - The EU Cyber Resilience Act and Open Source Liability
Fuzzy joins the conversation and shifts the discussion toward a topic that wasn't on anyone's bingo card: the EU Cyber Resilience Act and its implications for open source developers. He argues that upcoming legislation will require developers to audit their dependency trees and could make them liable for security vulnerabilities introduced through third-party packages.
The group debates what this means practically, using the infamous left-pad incident as a reference point. Ishan notes that the act wasn't intended to target non-commercial open source but acknowledges the gray areas. Fuzzy expands the argument into a broader point about open source governance, developer representation, and the challenges of ego-driven fragmentation across ecosystems. Anthony suggests this topic deserves its own dedicated episode given the depth of implications for the community.
00:30:14 - Framework Landscape: HTMX, Astro, and React's Dominance
The group pivots to evaluating Anthony's 2023 prediction that non-React frameworks like Solid and Qwik would gain significant traction. He admits he missed the mark, as HTMX and Astro turned out to be the real breakout stories instead. Fuzzy promotes his X Element project for Astro and discusses the View Transitions API's potential.
Dan Shappir arrives and offers his perspective, calling web components and WebAssembly perpetually "the technology of the future." He characterizes HTMX as an HTML framework rather than a JavaScript one, noting its appeal to backend developers who want interactive UIs without writing JavaScript. Ishan frames HTMX as competitive with React from a market-share perspective, and Dan agrees it's particularly attractive for backend-focused startups choosing between hiring a frontend developer or building with HTMX themselves.
00:43:16 - React Server Components: Adoption, Resistance, and Purpose
Dan Shappir makes the case that most large organizations are still using plain client-side React without Next.js or React Server Components, often talking to legacy backends via APIs. The group discusses why RSC adoption has been slower than hooks adoption, with Dan arguing that RSC solves a problem most React users never felt they had.
Dan reframes the purpose of React Server Components as being fundamentally about extending unidirectional data flow across the network — a state management innovation rather than primarily a performance one. Fuzzy contrasts this with how Astro and Solid have approached similar problems through different paradigms like partial hydration and fine-grained reactivity. Dan pushes back on the idea that signals will ever enter React core, arguing they're philosophically incompatible with React's re-render-everything model, and suggests React Forget may deliver similar benefits instead.
00:59:30 - Deno, Bun, and the Node Compatibility Question
The conversation shifts to the JavaScript runtime landscape, examining how both Deno and Bun have moved toward Node compatibility. Anthony notes that Bun's marketing as a faster Node put pressure on Deno to abandon its original "un-Node" stance. Dan argues Deno's pivot was driven more by lack of traction than by competitive pressure from Bun.
Fuzzy advocates for using Deno as a development tool for building Node-compatible packages, praising its standard library as an underappreciated asset. Dan laments that JavaScript will likely never get a true standard library, though he notes positive developments in TC39 like iterator helpers. He predicts both Bun and Deno will capture specific niche markets rather than becoming wholesale Node replacements.
01:15:22 - VC-Funded Open Source and the Death of Jamstack
Anthony raises the question of whether VC-funded open source has peaked, citing a prediction from the Bytes.dev newsletter that at least three such projects would fail in 2024. Fuzzy vouches for Astro's financial stability while expressing concern about Netlify's outlook. Dan notes how Netlify's potential troubles could ripple through projects it funds, including Solid.
The discussion evolves into a retrospective on the Jamstack brand's retirement, with Dan comparing Vercel's strategy to Microsoft's classic "embrace, extend, extinguish" playbook. Ishan shares his mixed feelings about the Jamstack's end, recalling how the community rallied around the term even when its technical meaning was contested. The group reflects on how the definition expanded from pure SSG to include SSR and eventually became so broad it lost specificity.
01:29:20 - 2024 Predictions and Closing Thoughts
Each participant offers their spiciest prediction for 2024. Anthony predicts JavaScript will become the language of the "AI engineer" even as Python remains dominant for model building. Toby bets on tools with superior developer experience winning market share over complex alternatives. Dan predicts increased tooling bridging the gap between UX designers and developers, particularly around Figma-to-code workflows, and floats the provocative idea that Remix might eventually switch from React to Preact given Shopify's ownership of both.
Ishan predicts that the strongest competition for Next.js will come from non-React frameworks like HTMX rather than other React meta-frameworks, especially as new Core Web Vitals like INP push teams toward sending less JavaScript. He also forecasts that AI will lower the barrier of entry for developers, making reskilling more practical. The episode wraps with a brief attempt to bring an audience member on stage before signing off with plans to return in two weeks.
Transcript
00:00:47 - Anthony Campolo
Hello, Hello. Welcome back to JavaScript Jam. It is now 2024 big year. Election year. We will not be talking about that one bit. So if you're here for that, get out. What's up, Ishan?
00:01:11 - Fuzzy
Hey.
00:01:13 - Ishan Anand
I'm just having a little AirPods issue, but it seems to have been resolved.
00:01:18 - Anthony Campolo
Classic pods.
00:01:19 - Ishan Anand
Classic. Yeah. Well, first I had a Twitter or X Spaces issue, and now it's AirPods, but it's resolved. I even made sure to restart my phone. I was like, okay, it's minutes before this starts, so let me restart just so nothing bad happens. And sure enough. But I think I've got a formula down.
00:01:40 - Anthony Campolo
Did you pull the cartridge out and blow on it?
00:01:42 - Ishan Anand
Yeah, exactly. Which is: I put my AirPods in the case. iPod, wow, old habits. I restart my phone. I do not get on Wi-Fi because, for some reason, the edge network seems, or the 4G network is, better. Then I load up the X app and get started. And then I didn't do what I should do, which is mute my notifications on my desktop, if you heard those in the background. And that's my routine.
00:02:19 - Anthony Campolo
This reminds me of a really good bit from Malcolm in the Middle. There's an episode where Hal is bowling and getting a perfect score. He's striking every ball, and he thinks he's getting a perfect game, but to make sure it happens, he has to do the same thing before every shot. But each time he accidentally does an extra thing, so he has to remember to do that thing for the next shot. At one point he realizes his fly is down, so he has to put his fly down for each shot. Then at one point someone's about to leave, and he's like, don't you dare leave right now. Everything must be the same.
00:02:56 - Ishan Anand
You know, you joke, but, you know, I've listened to and been on plenty of spaces where, like, somebody leaving and entering and then all of a sudden, like, even the host can't hear people.
00:03:08 - Anthony Campolo
So that's the worst because it's like, you can't just leave. The host can't leave and come back.
00:03:14 - Ishan Anand
No, the best you can do is, we did this, actually. Maybe we saved this recording. We had this happen to us where somebody couldn't hear anymore, and they rejoined from their desktop. We could hear them, so they would talk through their desktop.
00:03:30 - Anthony Campolo
That was me.
00:03:31 - Tobiloba Adedeji
That was you.
00:03:31 - Ishan Anand
Okay, that was me. I remember that happening.
00:03:35 - Anthony Campolo
That was the worst ever. Yeah.
00:03:36 - Ishan Anand
Yeah, great moments from 2023. But let's get started and kick things off. Hey everyone, welcome to JavaScript Jam. JavaScript Jam is what we like to say is an open mic for anything JavaScript and web development related. We like it to be both audience- and sometimes guest-driven. Sometimes we'll have guests, sometimes it's audience-driven, along with us kind of talking along. But if you have a question or a topic you want to talk about, feel free to raise your hand. We'll bring you up to the stage. Sometimes that's when we've had the best conversations. In fact, when somebody in the audience asks a question and then somebody else in the audience answers it, that sometimes is the most productive discussion. So thank you for joining us today. The topic today, though, is, like everyone else, a 2023 look back. So we'll do the first half hour as just a retrospective on what happened in 2023 in JavaScript and web development, and then the second half will be a look forward at what our predictions are for 2024.
00:04:52 - Anthony Campolo
Make sure to retweet the space. Ishan.
00:04:55 - Ishan Anand
Oh yes, thank you.
00:04:57 - Anthony Campolo
And then I noticed we got Toby in the audience. You're welcome to come up and join. I'd love to hear what's going on with Million. I know there's big, big things happening with Million right now. So if you want to come up and join, you're more than welcome to. Otherwise, feel free to hang out and listen. And that was the Million JS Toby, not the other Toby. We got two Tobys here, it looks like.
00:05:19 - Ishan Anand
Yeah, no, feel free to raise and tell us, you know, it'd be great to tell us what exciting things happened and progress you guys had in 2023. It seemed like a great year and what you're excited for in 2024. There we go.
00:05:34 - Anthony Campolo
Sweet. We got him. Connecting, connecting. Toby, can you hear us?
00:05:48 - Ishan Anand
Happy New Year.
00:05:50 - Anthony Campolo
Great to have you. You want to break the big news for Million? I love the YC thing, you know.
00:06:00 - Ishan Anand
Yeah, of course.
00:06:00 - Tobiloba Adedeji
Because a couple of days before Christmas, like the 21st or something, Million got into the next cohort of Y Combinator. It was crazy. Thank you very much, Ishan. It was crazy because it was unexpected. Aiden applied and he wasn't actually even expecting it. I think he said he even did the interview on a subway or something. He just applied out of the blue. I was shocked to see that we actually got in. So that is crazy. And yeah, that's a huge thing, and we've been working toward making some reforms. The project is definitely going through some minor updates, like launching our version three and the YC thing and everything. So 2024, definitely, I have no idea what things will be coming our way this year, but I'm definitely keeping an open mind and gearing myself for whatever might be coming, even though I don't know yet. But yeah, that's the update in a nutshell, like the TL;DR of the entire situation.
00:07:28 - Anthony Campolo
I'd be curious Ishan, do you know of open source projects that have gotten into YC before? I can't think of any.
00:07:35 - Ishan Anand
Oh sure. Isn't Flight Control open source?
00:07:43 - Anthony Campolo
No, not at all.
00:07:45 - Ishan Anand
Okay, let me think. Well, you know what, we can ask your good friend ChatGPT because, you know,
00:07:54 - Anthony Campolo
Because I always think of YC as a SaaS thing, you know? It's rare that I see just an open source project get into YC, and I'm sure Aiden has ideas of monetization. It's not like he's just, you know, let me into YC so I could be open source forever. I'm sure there are some ideas about how they'll make money, but I think that's cool. I think it shows they have an open mind, and they're willing to bet on something that other VCs might consider kind of a risky bet.
00:08:25 - Tobiloba Adedeji
Well, we do have Million AI, which is the coding assistant that helps you with optimizations in your React and Next.js applications. So that is sort of the product that Million is currently working on. We are going to release that very soon because it's been under development for a couple of months now. So Million AI is the assistant that helps you, like an optimization expert, let me put it that way. Somebody like a senior engineer that knows React and Next.js very well and can tell you, oh, you can make this optimization here, you can make this optimization here, and you can directly use it from your browser to analyze components and stuff like that. So yeah, that's one aspect of Million that is new. But we also still have the open source projects with the block DOM and everything, automatic and manual mode and everything. Yeah, I'm not sure if that clarifies stuff.
00:09:38 - Anthony Campolo
Yeah, yeah, I had seen the AI thing. It looks like there's like a wait list right now, so if you want to, you know, bump me to the front of that one. I will definitely check that out.
00:09:51 - Tobiloba Adedeji
Definitely, definitely once it starts, like, you know, accepting people in. Sure, sure, of course.
00:09:59 - Anthony Campolo
Yeah. No, it's super exciting stuff. I think the team has been shipping great stuff, and I'm really happy that we got you on JavaScript Jam back before you got famous. It's going to be really cool to see how the project develops over the next year.
00:10:17 - Tobiloba Adedeji
Yeah, definitely. Thank you very much for having us on way back then. That is very awesome.
00:10:23 - Anthony Campolo
Yeah, I mean we'll have to have you back once the AI stuff is on.
00:10:28 - Ishan Anand
Yeah, sure.
00:10:28 - Tobiloba Adedeji
Shout out to JavaScript Jam. Shout out to Ishan, Anthony, and Scott. Scott was the other co-host, right? I don't know if he's here today. His name's Scott.
00:10:38 - Anthony Campolo
Yes, Scott. Yeah, Scott is not here today. Hopefully we'll get him back sometime soon.
00:10:43 - Fuzzy
Awesome.
00:10:46 - Ishan Anand
When does your YC cohort start? When does it go from?
00:10:54 - Tobiloba Adedeji
Not exactly sure. I might have to look up. Let me check YC24.
00:11:01 - Anthony Campolo
Yeah, I was looking for a link. I put the AI one up there. I'm sure you guys had some sort of announcement thing. Let me check your blog. Yo, you haven't even written a blog post yet about it. That's how you know this is really fresh.
00:11:16 - Tobiloba Adedeji
It's fresh, like it literally just happened in December, at the end of December during the festive period. So it was still a shock.
00:11:26 - Anthony Campolo
Let me check Aiden's Twitter. Yeah, he's got it pinned right here. Cool. Yeah, so we're going to be talking about 2024 things we're looking forward to. Just while we've got you up here, Toby, do you have anything that you're looking forward to? Aside from obviously Million JS doing all this cool stuff, are there things in the JavaScript world, like trends or, you know, AI, something you're leaning into? Is there anything else that you think is going to be happening in the world of JavaScript in 2024?
00:12:04 - Tobiloba Adedeji
I'm very, very excited and super interested in the progression of React Server Components and how that is going to pan out. At my company at the moment, we have some codebases where we have a couple of applications built with Next.js and React and stuff. I'm kind of curious, and I don't know if this is a crazy thing, maybe to suggest to the team that we explore React Server Components or things around that. I think that's one thing that I'm very curious about. And another is definitely seeing the progression of AI and what would happen with that. I mean, that's not really just JavaScript-related, it's an entire tech trend. So yeah, I'm very curious about Expo. I was influenced by Theo's video released this morning, based on the article from one company, I think it was Iland or something, about how they migrated from React Native to Expo. Because the thing with that is that we at Million are currently exploring having Million run on React Native.
00:13:36 - Tobiloba Adedeji
We currently have a contributor, Oliver, spearheading the team on that at the moment, and he has done immense work in that regard. So I'm kind of curious as to how that will pan out and how me getting to actually try out React Native, Expo to be specific, and stuff will go. So yeah, most of the things I actually put on my bucket list I've been checking off piece by piece in working with Astro and, you know, yeah, except Solid and Remix. I haven't tried those yet. So I think those are the things that I'm kind of excited about and curious to see how they'll pan out.
00:14:18 - Anthony Campolo
Yeah, awesome. Yeah. React Server Components is one we had on our bingo card to talk about.
00:14:25 - Ishan Anand
And so is AI.
00:14:26 - Anthony Campolo
Hello, Fuzzy. What's up, Fuzzy? Waka waka.
00:14:29 - Fuzzy
Yo, Happy New Year. Wish you all the best for 2024.
00:14:36 - Anthony Campolo
Did you have 2024 predictions you want to share, or are you just here for the vibes?
00:14:42 - Fuzzy
Both. Actually, I got stood up by my boy and my bosses, so I was like, sorry, I'm gonna go for a wee smoke and have a wee chat. I saw "2024 predictions" and was thinking, yeah, that's actually a good show, I have to say. Right, your boy, sorry if I'm completely butchering your name, Tobiloba. Yeah, Toby, right? I'm honestly really interested in the work you guys are doing over at Million. Really interested. I think that is a novel take in the React space. However, the one thing that I see when it comes to that particular project is buy-in from the ecosystem, because you need other libraries to either be interoperable with putting blocks and your paradigm over the top of it, or be able to absorb their paradigm into yours. That is the only thing that I would perhaps suggest to a very interesting project, I must say. 2024 predictions: honestly, open source is changing, right? I don't know if you guys have seen the change in legislation that's coming from the EU and the US side of the pond.
00:16:03 - Fuzzy
But the nature in which we are going to be creating projects needs to change. We really, as people in the open source space, need to adapt to the oncoming tide. Otherwise, our projects and our libraries and our solutions are never going to see the light of day.
00:16:24 - Anthony Campolo
I'm curious, do you have links for that? I'm not sure exactly which.
00:16:30 - Fuzzy
Off the top of my head, I'm thinking the EU would call it the Cyber Security Act, right?
00:16:37 - Anthony Campolo
The Cyber Resilience Act. Is that what you're talking about?
00:16:40 - Fuzzy
That's the one, yeah. Yeah.
00:16:42 - Anthony Campolo
Okay, here's a Linux foundation blog post that's probably going to be the best.
00:16:46 - Fuzzy
Yep. Oh, Linux Foundation. Who?
00:16:48 - Anthony Campolo
Sorry, what do you know?
00:16:51 - Fuzzy
I was about to say, I'm sure there's a blog post from the Linux Foundation somewhere. No, but that in itself is what I honestly think is the start of open source becoming a real force in wider society. Just flow with a Fuzzy thought for a wee second here, right? Open source in itself is a form of democratic creation. It follows certain social rules like absorption, adoption, community-driven people congregating around projects and tools and solutions and helping to further them and make them better. These are individual, anonymous people who help contribute en masse to a phenomenal ecosystem. Now, with the change in legislation that's coming through, and the reason why they're bringing this in, there are two reasons. There's copyright, which has now been absolutely shat on, right? Intellectual property rights, which have actually been broken, and you have wholesale theft of the ability for people to create things. This is not going to shape well in tomorrow's future markets and economies, where 90% of the labor force is going to be either autonomous or working in autonomous creations.
00:18:37 - Fuzzy
So what you're going to end up seeing, and I'll swing this back to us as library developers in a second, is more people creating content around their own cultural opinions and viewpoints, helping add more to the human collective. Now, this is all off the back of our open source projects. Ninety-nine percent of the people in the world are not going to pay for the vast majority of things, especially when it comes to online stuff. Open source in itself is, by nature, free. It's a free exchange. What we do is give up our time and our expertise to make something better, and they give up their time by using it. That's the nature of the exchange here. When it comes to us and our projects and the libraries that we utilize and develop and create, we're going to have to make sure they're rigorous enough for them to be put under the spotlight when compliance and security regulation starts. And they are going to start regulating open source.
00:19:50 - Fuzzy
And this is where it's coming in. So you're going to be looking at SBOMs, software bills of materials, attached to your projects. You're going to have to have audits carried out. You're going to have to have security built in. It's like running things through what's called, it's not GraphQL, it's CodeQL, right? Basically it's like running it through this fucking bot that checks to see whether or not it's vulnerable.
00:20:18 - Anthony Campolo
So just real quick, if I can interrupt you. If I'm just a solo dev writing a blog post and there's an example repo that goes along with it, does even that need to be audited? How deep does this audit go, and who does it?
00:20:36 - Fuzzy
No, the audit goes to your package.json, right? So the dependencies of your dependencies. There are tools that can do this for you, like Snyk. Snyk and Socket are really two projects that are kind of like that.
00:20:52 - Anthony Campolo
Socket's very cool.
00:20:54 - Fuzzy
Yeah. And in all honesty, I would recommend people use Socket as their way of procuring packages from registries online. They provide a level of safety that is not quite appreciated on a surface level. But what most people don't recognize is that NPM is global, right? And
00:21:18 - Anthony Campolo
NPM is the largest attack surface in the world, is what it is.
00:21:22 - Fuzzy
Yes, yes. This is the thing: these are behavioral things that we as developers need to adapt to. It's pure Darwinianism here, right? Anthony, in order for you to adapt to the oncoming environment, you just need to change your behavior.
00:21:45 - Anthony Campolo
Right, but like, but what does that mean? What behavior am I changing?
00:21:50 - Fuzzy
Yeah, back up.
00:21:52 - Ishan Anand
Yeah, and just explain, in the simplest terms, what the EU Cyber Resilience Act requires of open source developers. Sorry, go ahead.
00:22:01 - Fuzzy
Right, so what cyber resilience requires of open source developers is being able to show that they've audited their dependencies to make sure there were no vectors of attack that could permeate through their package. So for instance, if you use a third-party package like left-pad, right, and that infects something on your end user's computer, you're technically liable for that.
00:22:35 - Anthony Campolo
But if left pad broke, when left pad broke, no one could have known that beforehand.
00:22:42 - Fuzzy
Right. This is like, see the.
00:22:44 - Anthony Campolo
Why is it left pad liable?
00:22:47 - Fuzzy
No, but this is the thing, right? Left-pad happened before all this took place. So why is left-pad liable? Because, you know what, they're the ones that shit the bed and everybody had
00:22:57 - Anthony Campolo
to deal with it. I know, I'm just saying in this new paradigm, if left,
00:23:02 - Fuzzy
if that happened again, the liability goes all the way down, but you're still responsible for being the one putting that dependency into your application, and therefore you are in some way responsible. Under new EU legislation, that is the inherent liability. In the past, we never had to concern ourselves with liability, especially as, in a typical trade, you have public indemnity and liability and all this stuff to protect you as an individual or your trade or your business. However, we are now leaving that as developers. This is something that is going to come at us.
00:23:47 - Anthony Campolo
Sounds like a reason for me to never do open source ever again then.
00:23:53 - Ishan Anand
Yeah, it does. I mean, let's use a very concrete example like left-pad. As an open source developer, one interpretation of the act is that you're now liable for things that happen with your project to end users. So if there was a left-pad issue, you would have to issue updates and security, like you'd have to notify people and issue a security patch just like you would for any commercial piece of software. And that is a huge obligation and burden on an individual developer. In theory, I believe the act was not intended to target non-commercial uses of open source, but those lines may turn out to be grayer than people realize. And I think we won't know until there's more clarification and a lawsuit and these things get settled in the courts.
00:24:51 - Fuzzy
Totally. But your interpretation is pretty much spot on, dude. Sorry, this is one of those things that I was told about six months ago, and it's just been in the back of my mind. You asked me what's coming this year, and this is that.
00:25:04 - Anthony Campolo
I'm super glad you're bringing this up. I'm trying to give my, my immediate reaction to it, but this is very interesting. We appreciate you sharing it.
00:25:10 - Ishan Anand
Yeah, no, it's a really good callout. I think this is definitely something folks should be aware of. I don't know if it'll materialize immediately. My sense of it is it's going to take a while, and I feel like it'll hit us in 2025. Like, the first lawsuit may be the end of 2024, but by then it's kind of too late to change it. The first time I heard about this was when it was in process. Has it been finalized yet? I'm trying to Google right now to understand if it's been finalized.
00:25:52 - Fuzzy
I don't know. I think so.
00:25:54 - Ishan Anand
There was.
00:25:55 - Fuzzy
Yeah.
00:25:55 - Ishan Anand
Fix the CRA was a campaign, and I don't know if that's, you know. But I think, Anthony, you kind of put it the right way. I remember when I first heard about this, it totally discouraged me from doing anything open source again.
00:26:15 - Fuzzy
So you see my previous rant about, you know, how that affects the wider society at large.
00:26:23 - Anthony Campolo
Yeah, no, it affects a lot of people. It sounds like, you know, I, I think the. So I love the spirit of it for. For sure. I think what they're trying to do is great. I wish it was like attacking NPM packages specifically instead of just like all open source. Because if you're just throwing up a GitHub repo, you know, then that's, that's one thing. If you're actually publishing a package. I think, I think there needs to be a distinction there. I think there's a very big difference between those two.
00:26:54 - Fuzzy
Yeah, yeah. This is where I was wanting to come to my point. With changes to things that are affecting us directly, we need to adapt. We need to recognize that these things are coming from on high. So we're being shat on. Either crack out the umbrella or get covered in shit, one of the two, right? When it comes to us actually having some leverage and some say, the one thing that I've noticed in open source that we really don't have much success with is actually organizing, democratizing the people behind it, and trying to wrestle some power from those legislators so we can have some sort of control within the ecosystem. So it's like, yeah, for the developers,
00:27:46 - Anthony Campolo
we need the representation.
00:27:48 - Fuzzy
Exactly. But the thing is, believe it or not, I'm now, what, six, eight, nine, ten months, however long, into the Linux Foundation, coming up on a year. And that is something that I've noticed internally. It's something that they recognize, and honestly I can see they're working on this issue hard. But talking is not good enough. This really is a sorry shitshow of a crisis. Because the inherent problem with open source is ego, and I'm just going to call it: the vast majority of the packages that we maintain, and the developers behind these projects, their ego gets in the way of truly collaborating with other people and distinct parts of the ecosystem. Node doesn't give a shit about Python, about Flask, and you're like, can I get why, you know? It's siloed.
00:29:07 - Anthony Campolo
Everyone's kind of in their own bubble and they don't really care about what's happening outside of that bubble.
00:29:12 - Fuzzy
Exactly, exactly. However, within our own little microcosmos of things, within this ecosystem of permeating bubbles, this is just ripe for it to go pop on us, and that is it, the end of it. We're gonna go back to vaporware, right? That's where the road goes.
00:29:46 - Anthony Campolo
Yeah, man, this is, this is very interesting. We could actually do a whole episode on this if you wanted to do that. Would love to kind of have you on and really dig into this. I also wanted to say hey to Dan, who's in the audience. Would love to get your thoughts on 2024, but in the interest of time, I think we might want to move on to other topics.
00:30:06 - Ishan Anand
But this is a great topic. Thanks for bringing it up, Fuzzy. Dan, yeah, we'd love to hear your thoughts on predictions for 2024 in the front-end ecosystem.
00:30:14 - Anthony Campolo
I know, Ishan, you had already written down a whole bunch of stuff, so you want to give some of your thoughts of things you had on your mind.
00:30:22 - Ishan Anand
Yeah, well, now the whole Cyber Resilience Act is in my mind. Let me go back to that other tab.
00:30:30 - Anthony Campolo
Oh, and we got Dan. Oh, Dan, I hope you're doing well. Your family is safe. All is good in your world.
00:30:36 - Ishan Anand
Yeah.
00:30:38 - Tobiloba Adedeji
Hey, Dan. I've never actually seen Dan speak on his Space. Happy New Year, Dan.
00:30:48 - Fuzzy
Do that.
00:30:49 - Anthony Campolo
Let's see, he might be fiddling with his. With his X configuration.
00:30:54 - Ishan Anand
He might have Twitter spaces issues, but we can. We can keep going.
00:31:02 - Anthony Campolo
Yeah, you can go ahead, Ishan.
00:31:04 - Ishan Anand
Yeah, so one of the things that I think we had talked about, I went back to last year's episode around the same time, and we talked about what we expected to see happening. One of the things we talked about, and Anthony, you raised this, was the increase in non-React frameworks, web components, Remix, Qwik, and seeing them get a lot of traction.
00:31:34 - Anthony Campolo
Well, Remix is React, so that would not be in the bucket.
00:31:37 - Ishan Anand
Oh, that's.
00:31:37 - Anthony Campolo
We mixed it up.
00:31:38 - Ishan Anand
You were talking about Solid. Sorry.
00:31:40 - Anthony Campolo
Yeah. And I gotta say, I think I whiffed this one. You know, I don't feel like they really made that much traction in 2023 relative to how much I was expecting to.
00:31:50 - Dan Shappir
So.
00:31:50 - Ishan Anand
Yeah, that's really interesting. Well, I think you sort of whiffed it. So my interpretation is that if I was to put a bet, it would probably have been on one of the ones you named, you know, Solid or Qwik. But what seems to have taken off is Astro and HTMX. They seem to be the success stories. That's my idea, right?
00:32:14 - Anthony Campolo
Yeah. No, yeah.
00:32:16 - Fuzzy
HTMX stole X Element. Can I just say that I can give you exactly what HTMX does for 98 bytes?
00:32:28 - Anthony Campolo
Can you explain what X Element is? Because you were talking about this all the time last year, and I never knew what the hell you were talking about.
00:32:34 - Fuzzy
Oh, man. Right. So if anybody wants to, it's Astro-X-Element on npm, right? It is a very old project. It's not one that I've actively been maintaining, because the thing is, it doesn't need it. Once I got it to that point, there are fundamental issues between the nature of Astro and Vite, right? If I was to go in and change it, then I might as well build my own framework, right? Because this is a pure bundling thing. The problem surface goes too many layers deep for me to bother with. However, where it is right now, it works. So I don't really need to maintain it. It just works with Astro, right? Because it's Astro's first and only real framework, right?
00:33:21 - Dan Shappir
And
00:33:24 - Fuzzy
It can only work in Astro. It can't work anywhere else. That's what it means by Astro's first and only, right? However, it basically allows you to add interactivity to your HTML elements within your Astro file without using a script tag. So you can scope absolutely everything. For instance, if you had a div, you could scope the intersection observer onto it by doing the observer rule. These guys stole a lot of shit from me. But mind you, this is the cool thing with X Element and Astro version 4: it now comes with partials. In Astro, you can have partial HTML as routes that can be developed on the server at request time. Now flow with me: you have an X Element container element that basically has a fetch request to this partial and it comes in. And this is the thing: X Element is pure imperative, it's not declarative. So you have this real back-to-the-bones vanilla JavaScript and TypeScript feel.
00:34:31 - Anthony Campolo
Oh, looks like we got Dan.
00:34:33 - Dan Shappir
Hey, can you hear me now? Finally?
00:34:36 - Ishan Anand
Yes.
00:34:37 - Anthony Campolo
You got your loud ass microphone again though.
00:34:39 - Dan Shappir
Yeah, I'll put my hand on my microphone. Hopefully it won't be that loud now.
00:34:47 - Anthony Campolo
It's pretty damn loud still.
00:34:51 - Dan Shappir
I'm literally bending it the other way around.
00:34:54 - Anthony Campolo
Oh, that sounds. That sounds a lot better.
00:34:56 - Tobiloba Adedeji
There you go.
00:34:57 - Dan Shappir
Okay. Hope I never speak quietly, which is very much unlike me.
00:35:02 - Anthony Campolo
Yeah, let's let Fuzzy finish his HTML thing, and then we'll get to you for sure.
00:35:11 - Fuzzy
I appreciate that. Welcome, Dan. Happy New Year, my friend. Sorry about this rant. X Element allows you to write absolutely wild stuff in Astro, right? And it's pure native HTML and JavaScript. It works with the DOM. It comes with its own little small state, so you can actually have state per object and it percolates down to the child. It really is quite funky, and I can't believe I actually wrote it. I was actually looking back at it thinking, I'm going to take the docs and put them into Astro Starlight, right? So that gives me a little project to do over the weekend. I might have that done by the end of February because I've got an off hand at the end of January. So yeah, February, I'm hoping to have that done, with the docs updated into Starlight. But the project is fun, man. It's like jQuery and Astro on steroids. That's pretty much the best way of describing it. And you can write web components.
00:36:10 - Anthony Campolo
Oh, thank God. Web components.
00:36:15 - Fuzzy
Oh, totally, dude. I mean, in all honesty, that is the one thing everybody predicts at the top of each year: web components. This is the year for web components.
00:36:23 - Anthony Campolo
Now's the year for sure. This is the year.
00:36:27 - Fuzzy
Yeah, totally. And that's the thing, you know, that's what they said last year about WASM and all that stuff. I was like, this is the year for WASM and all that stuff. At the end of the year, it was, you know, yeah, it's not going to be for a while.
00:36:41 - Ishan Anand
Word.
00:36:41 - Anthony Campolo
No, that's good. Yeah. I think a good sign that a new thing is interesting is when it's being created in multiple forms. This is what got me interested in Redwood because Redwood and Blitz dropped within a month of each other. And I'm like, huh? These two people both built a full stack React framework at the exact same time. That's interesting. And so seeing that other HTMX like things were being built shows that it's like, it's in the ether. It's like in the water.
00:37:10 - Fuzzy
You know, technically I was there first, so everyone followed me. Like WebC, like what your man did over at Eleventy. What's his name again? I forgot his name. Zach.
00:37:21 - Anthony Campolo
Zach Leatherman.
00:37:22 - Fuzzy
Zach Leatherman. That's your boy, right, with WebC. And then you had Enhance, right? They're all legit, dude. That's X Element, bro.
00:37:32 - Anthony Campolo
All right, well, Fuzzy has a claim. You got that claim. Write a blog post and be like, I was here first. I planted this flag for Scotland.
00:37:43 - Fuzzy
Yeah, no, but that's the thing, right? It's like, you know, us gots. I mean, we invented the US Navy. We don't like to take credit for it. Hey, we just get it.
00:37:55 - Anthony Campolo
Awesome, man. Well, I'd love to get Dan's thoughts here. Do you have any thoughts about 2023 and things coming up for 2024?
00:38:04 - Dan Shappir
First of all, I have to say that per my recollection, Scotland or Scotsman created the Chilean Navy. I'm not so sure about the US Navy though.
00:38:14 - Fuzzy
Yeah, no, Chile was way after. It was actually a Scotsman that helped found the US Navy.
00:38:23 - Dan Shappir
Cool.
00:38:24 - Fuzzy
Cool.
00:38:25 - Dan Shappir
So, all the navy.
00:38:28 - Tobiloba Adedeji
Yeah.
00:38:33 - Dan Shappir
The one thing I have to say about web components, and also WASM, I guess, is that they're the technology of the future. Always were and always will be. No, but seriously, I'm seeing web components being adopted as a way for implementing micro frontends, but that's more or less where it starts and where it ends, from what I'm seeing at least. Maybe there's more adoption elsewhere, but that's what I'm mostly seeing. Also, with regard to HTMX, this was definitely a breakout year for HTMX. But I wouldn't really call HTMX a JavaScript framework. It's really an HTML framework that happens to be implemented in JavaScript because there is nothing else to implement it in.
00:39:33 - Fuzzy
Sorry, Dan, just to interrupt. Can I ask you for your opinion on my spicy take on what you just said there? It's not an HTML framework in JavaScript, it's an XML framework in JavaScript, because
00:39:52 - Anthony Campolo
Is it literally like an XML spec?
00:39:55 - Fuzzy
Well, I mean, to be honest, what it does underneath the hood is use XHR, right, basically the old fetch, to do a lot of the work for it.
00:40:06 - Dan Shappir
Well, it might be, but I don't think that's necessarily very interesting. I mean, nobody really does XML anymore, at least where I'm at, and at the end of the day it's HTML over the wire and it's about not writing JavaScript. It's about writing custom HTML attributes that make every component, every element
00:40:40 - Ishan Anand
an element
00:40:41 - Dan Shappir
that can post or get from the web server.
00:40:48 - Anthony Campolo
Is this more akin to Hotwire or Turbo?
00:40:52 - Dan Shappir
Yes, very much so. It's really cool for what it does. You can build really interactive user interfaces without writing a single line of JavaScript, and it works really well with a lot of backend frameworks. So it's really attractive to people who are mostly backend developers working in PHP or Ruby or whatever and just don't want to get into JavaScript. And it can take you a pretty long way without having to write any JavaScript. So it's really interesting in that regard. If I had to think about one issue with it, there's a problem with history routing. I know that Carson Gross has done some things there, but it's still somewhat problematic in that regard.
00:41:57 - Anthony Campolo
Have you used it yourself? Have you played around with HTMX?
00:42:01 - Dan Shappir
Only very, very slightly. I've mostly listened to Carson talk about it several times and watched videos. I played with it a little bit, but I haven't really written anything significant with it. But think about it this way: you're downloading bits of HTML and then replacing them inline inside the document. By definition, if you just do that, there's no history. They have implemented a mechanism for history that basically pushes stuff into local storage. That's kind of awful, but it's better than nothing, I guess. But, you know, it is what it is. It's really nice for what it does, and you probably will be using it in many cases with multipage applications anyway. But in terms of the actual JavaScript frameworks, there's been a lot. I'm really excited about stuff that I'm seeing coming from Solid and from Qwik and whatnot. But at the end of the day, everybody I know is using React.
00:43:16 - Anthony Campolo
Yeah, that's exactly where we were starting when you hopped in. We were talking about that exactly.
00:43:23 - Dan Shappir
If they're not using React and they're using either Vue or Angular, that's using React.
00:43:30 - Fuzzy
Can I just say, as a shock to the room, a shock to the system, I'm using React. I'm building a Next.js project.
00:43:36 - Anthony Campolo
Wow, Fuzzy. What happened?
00:43:41 - Fuzzy
Work. I got a job. It fucking sucks.
00:43:47 - Dan Shappir
Also interestingly, what I'm saying is that most larger companies aren't even using Next.js or anything like that. They're just using React on the client side. So, you know, they're building web applications
00:44:03 - Anthony Campolo
with or without React Server Components. Are they using that?
00:44:07 - Dan Shappir
Hardly. Look, they're using client-side React with whatever backend system they have in place.
00:44:22 - Anthony Campolo
They're just creating a React app and just talking to Django or something.
00:44:28 - Dan Shappir
Or it might be some API exposed by a legacy Ruby app, or maybe they're building a bunch of microservices using whatever, Go or I don't know. Then they're just talking to that either directly from the client using some API, or they're using Node as middleware.
00:44:58 - Anthony Campolo
Well, it's good to know my boot camp degree has not gone out of style yet. That's what I learned in 2020 when I did my boot camp. They're like, you fire up Create React App, you do a fetch call to an Express server, and there you go, bish bash bosh.
00:45:14 - Dan Shappir
Yeah, because, look, there are a couple of things there. First of all, a lot of them, the ones that are already up and running, have very large codebases, and switching those over to anything is a really big challenge. The other thing is that in many cases they don't care that much about loading performance. Obviously they would like their application to load as quickly as possible, but
00:45:49 - Fuzzy
at
00:45:49 - Dan Shappir
at the end of the day they're more interested in responsiveness once the application is already up and running. And in that scenario, again, you can just do client-side React and be done with it. React Server Components would be really, really interesting for them potentially, but the problem is that they require really rearchitecting the product in order to be beneficial. And again, that's quite an investment. A lot of the organizations really don't fully understand them yet. It's too cutting edge. What I am seeing is organizations transitioning off of Redux to React Query, something like that.
00:46:40 - Ishan Anand
Now, that's a redux.
00:46:42 - Fuzzy
Yeah.
00:46:43 - Ishan Anand
So I interpret one thing a little differently. You said HTMX is not a JavaScript framework, which I can understand, but I look at it from a product-sense competition angle. My interpretation is, if you have a frontend team, or let's say a backend-focused organization, your options were either React, because as we just said everyone's basically using React over other JavaScript frameworks, or if they're backend-focused they're going to pick something like HTMX. Versus, if they've got some frontend capability or a large enough frontend team, they would go with React in some form. So I look at HTMX as: what level of competition is HTMX taking away from applications where that organization might otherwise have chosen React? Do you see it as market share? To me that's why I think HTMX is relevant. Yeah, go ahead.
00:47:46 - Dan Shappir
I totally agree. I think that if you're looking at a young startup and the founders happen to be more backend people than frontend people, they really have a choice of either hiring some frontend person who will probably build a React frontend for them, or alternatively just winging it and doing it themselves using something like HTMX. For sure, I totally agree.
00:48:16 - Ishan Anand
Yeah, so I agree, they had a breakout year. And I think what's changed is really the mindset that you need to have some large, let's call it heavyweight framework, to build a really compelling UI. And I look at HTMX, and to a certain extent what Astro is doing, especially with the new Transitions API. This is one of the things I'm looking for. I don't think it's going to happen in 2024, but I'm hoping it's a 2026 thing, that maybe teams can architect certain types of apps as multipage apps and get, with a combination of framework plus that standard, something like a single-page-application, native-app-like flow but easier. But I don't think we're going to get it next year as much as I've wanted it back when they had portals and stuff like that. But sorry, keep going. I'm curious to hear more about it.
00:49:11 - Anthony Campolo
Fuzzy has his hand up actually.
00:49:12 - Ishan Anand
Oh, sorry.
00:49:14 - Fuzzy
Oh yeah, it was just this: with HTMX, and this is something to be considered, you're right, backend devs love it. But for the uninitiated, be careful because you open yourself up to some old problems of the internet, in particular cross-site request forgery and cross-site scripting attacks, the old nasty shit that we got abstracted away for us. But in saying that, the View Transitions dimension is really interesting. That space is wherever the browsers take us, because the View Transition API is the standard that Astro implements. So whenever the browsers readily adopt it and start increasing the capability of it, that would majorly percolate through to the Astro community. In that respect, the View Transition API is so powerful. It's so cool seeing that out in the wild. I mean, Maxi Ferreira, he does so many cool demos.
00:50:25 - Ishan Anand
His demos are awesome.
00:50:27 - Fuzzy
Yeah, so many cool demos. He's really helped lead the charge, especially from him when I was speaking, you know, it was one of those things that Astro was just so easy for him to iterate in. That's one of the benefits of that particular framework. You're not stuck. See, a lot of what you guys were talking about, React Server Components, et cetera, is cutting-edge tech. The thing is, me using the latest version of Next.js for this project that I'm working on is mind-bendingly difficult because of the way they've set it up. Technically speaking, the idea of React Server Components is that everything is pretty much HTML. You can write it in React and do what Astro does, write your entire thing in Astro files or React files, and we'll send out the HTML on first load. The hydration side will take care of that with your use client directives. Now, funnily enough, we're going to do something really funky and some PHP-like behavior and allow you to inject your own custom server actions so that component can direct a behavior on that server as and when it needs to.
00:51:50 - Fuzzy
That's about it right now. The daft thing is, you could kind of do that in Astro anyway. A lot of Astro's spiel, like the files that we create that are served at build time right prior to when SSR came out, when static regeneration came out, was all static with exclusive client-side interactivity and partial hydration. That was the way that Astro kind of got around a lot of the hydration issues: let the developer choose when and where you want that to load. And then that came down to the concept of interactivity. Now Ryan, on the other hand, took this one step way further, right? And the likes of Misko and the Marko boys took this down the reactivity route and really explored how to make the DOM reactive without the need to rerender and diff everything. Now that model, if we're talking about frameworks I'm looking at, each framework introduces a new stable mechanism, a new stable solution, right?
00:53:10 - Fuzzy
And these stable solutions are then going to permeate and get iterated upon. So when those boys brought over reactivity, and especially the work of signals as primitives, that's going to come into React, and when it does, it's going to change the way that we're going to be doing hooks once again, which is a rebase of work,
00:53:35 - Dan Shappir
I actually have to say that I doubt it. I don't think signals will ever make their way into React because I think that signals are anathema to the React core concept. The React core concept is to re-render everything on change.
00:53:58 - Fuzzy
I totally agree with you there, but it will be introduced via the ecosystem, via a third party,
00:54:05 - Dan Shappir
I think.
00:54:06 - Anthony Campolo
Is that possible though?
00:54:08 - Dan Shappir
Like, I don't, I don't remember what happened.
00:54:12 - Fuzzy
Ask Toby over with Million what they're trying to do with increasing the optimization with reactivity.
00:54:16 - Anthony Campolo
That reactivity though.
00:54:18 - Dan Shappir
No, but remember what happened with the Preact signals library when people integrated it into React, and then React updated their version and it broke, and people started opening issues on the React core team, and they got really upset about it, if you remember that story from the beginning of the year, I think. And they literally said, don't use that. That's just not React. I think that the future of React is React Forget, which may bring similar benefits in a way. But at the basic level, React is about rerendering everything when something changes. I remember giving talks about it when React came out. I was doing workshops on React when React came out, and my explanation was that it's like bringing the MPA model to SPAs. The concept is that when something changes, it's a new page, you rerender the page. So in effect, sorry, it was
00:55:55 - Fuzzy
a full site in a box.
00:55:58 - Anthony Campolo
Yeah, exactly.
00:55:58 - Fuzzy
The routing and everything, right. It was effectively like, we're just going to throw everything at the client and let them deal with it.
00:56:06 - Dan Shappir
Yeah. And the thing is that in theory it's a beautiful model. The problem is, how does the saying go? In theory, theory is exactly like practice, but in practice it isn't.
00:56:20 - Fuzzy
Yeah, but the problem was, and this is one thing, again, shout out to Toby and their work over at Million, the performance side of things. When React cripples the lower percentile of devices, and especially if we want to make an all-inclusive web, this is something that we need to consider as developers. You know, what this comes down to, something I firmly believe in, is the role of the desk killer, the actions that we do and how that affects others. So if we start building our application thinking everybody can run React when the truth is they can't, we're immediately excluding a significant part of our market share, ergo our customers.
00:57:09 - Dan Shappir
Yeah. So again, I totally agree. On the desktop, React is beautiful in most cases. It's on mobile where you potentially hit a lot of snags, especially when you try to build sophisticated user interfaces. And you might say that if the user interface is not sophisticated, then why do I need React? And if it is sophisticated, then React's a problem. And yet, as we all know, everybody's using it. And I need to say one thing more. Yeah, sorry, I tend to hog the conversations. Go for it.
00:57:53 - Fuzzy
No, no, no. I would like you to finish your train of thought.
00:57:58 - Anthony Campolo
You're a Dan-dor.
00:57:59 - Dan Shappir
Okay. The other thing is that React Server Components are not about performance first and foremost, and they're not about avoiding hydration first and foremost. They're about extending the unidirectional data flow model across the network. It's about state management.
00:58:23 - Anthony Campolo
That makes so much more sense than saying it's for performance, because Ryan Carniato's pointed out a lot that it actually gives you a bigger bundle sometimes.
00:58:34 - Dan Shappir
It happens to be beneficial for performance in some cases, but that...
00:58:42 - Fuzzy
Sorry, sorry. I just want to like say once it's sent, it's sent, you know.
00:58:48 - Dan Shappir
Yeah, it's avoiding downloading a certain amount of applicative code and keeping it on the server, and that's really nice. But at the end of the day, it's about that whole model of data flowing down and events bubbling up, extending that across the network, across the wire, and being able to incorporate the data access layer into React itself so that React becomes a true full-stack framework. That's, from my perspective, what React Server Components are all about.
00:59:30 - Anthony Campolo
So Redwood is the ultimate framework to implement it.
00:59:36 - Dan Shappir
In a lot of ways it is, yeah.
00:59:40 - Anthony Campolo
Hell yeah.
00:59:41 - Ishan Anand
I mean. Oh,
00:59:46 - Anthony Campolo
What are you thinking, Fuzzy?
00:59:49 - Fuzzy
I'm too late down the line, right, for me to switch to Redwood, dude.
01:00:04 - Dan Shappir
The issue here is less of a technical one and more of a branding one. I think it's the fact that, for better or worse, Vercel has convinced the market that they're the future of React. They've done it by hiring a lot of the React core team members, by effectively getting React core team members to say it on stage. Even though they kind of retracted it afterwards, they still said it. And that's the problem for all the other meta-frameworks that are built specifically on React, be it Redwood or be it Remix.
01:00:52 - Fuzzy
Well said, Nick. The Vercel problem is that Vercel is going to be the elephant in the room whenever you're dealing with React. They've built a captured market around that. All they need to do is allow you to host your React apps, because that could be a nightmare in itself.
01:01:15 - Dan Shappir
I'm literally waiting for Remix to transition from React to Preact or something like that.
01:01:24 - Ishan Anand
Oh, wow. Is that a 2024 prediction?
01:01:29 - Dan Shappir
You know what? Okay,
01:01:32 - Ishan Anand
Okay, you heard it here first. So Anthony, do you want to just give folks the quick elevator pitch on why Redwood is the best place for React Server Components? Take the mic.
01:01:46 - Anthony Campolo
Well, it's not. It's the ultimate full stack React framework. So once we implement React Server Components, it should be the way to go. We're not there yet, which is the problem.
01:02:03 - Ishan Anand
So this is where I was, yeah, when I was looking at predictions for 2023 on last year's episode, RSC was kind of, I'd say, up in the air. I remember at the Jamstack conference I was talking to one of the core folks on Astro, and I was expecting them to be like, oh yeah, we think RSC would be, you know. They're like, yeah, we're planning to eventually adopt it, but there was some uncertainty there, which makes sense.
01:02:31 - Anthony Campolo
They need to build their own RSC is the problem.
01:02:33 - Ishan Anand
Yes, exactly. Astro's a little different, but it's been interesting to me how long it's taken. Remix also had a similar thing when I talked to folks there, when I talked to Kent at the Remix conference. And it seems like it took the ecosystem a longer time to adopt RSC. So one of the things I wrote in my notes planning for this was: RSC has won. It definitely seems like most React-based frameworks are going to adopt RSC. That's going to happen. But it took longer than I expected compared to something like hooks, which arguably were easier to adopt because they stayed in the frontend. I was just kind of surprised how long it took for frameworks to adopt that. I don't know if, other than the fact that one involves a lot more complexity and it reaches into the backend, folks have thoughts on why, or whether you expected that hesitancy. It felt like it had to be proven out.
01:03:28 - Fuzzy
Yeah, good.
01:03:30 - Dan Shappir
By "fact," do you mean like useEffect?
01:03:36 - Ishan Anand
Yeah, sorry, hooks is what I should have said. Hooks. Yeah, I was thinking use effect.
01:03:39 - Dan Shappir
But yes, the thing about hooks is that you could easily transition bottom up. You could take a particular component and make it into a hook. The problem with RSC is that it has to be top down. The root has to be a React Server Component. So in adopting it, you can split your application vertically maybe and introduce React Server Components that way, but you kind of have to make an entire page React Server Component-driven. You can't make just a few components React Server Components, and that's a challenge.
01:04:22 - Ishan Anand
So I agree with that. I'm actually asking it from a different perspective, as the user or the target persona. I totally agree with what you're saying, it's harder to migrate. But I'm wondering, as the end user, meaning a developer building the application, I was struck even a year ago by the hesitancy around the model and whether that was even the right model that I felt I was picking up on from the framework authors. Maybe it was just the framework authors being like, this is too much work and that's enough. Or maybe they're thinking about what you're talking about, that it's going to be too hard for our customers to migrate. But the principles of it didn't seem to get people excited in the way that I kind of expected. Does that make sense? Well, maybe it's just me.
01:05:17 - Dan Shappir
I think what I wanted to say, and I wasn't, is that RSC solves a problem that most React users never thought they had. So it was a solution being pushed down everybody's throat by the React core team. Now, the React core team have the power to do that. Dan Abramov was really miffed by the reception he got. He took some of the feedback really badly. But at the end of the day they basically said, this is the future of React, take it or leave it. What choice do you have if an organization has bet on React? They're not going to leave React just because of React Server Components, especially given that they don't have to adopt React Server Components. I think Next.js is growing in terms of market share. I think it's crossed 10%. So approximately, I think something like 10% of all React websites these days are built on top of Next.js, and that includes all the existing sites. So probably the percentage among new sites is significantly higher.
01:06:45 - Dan Shappir
But at the end of the day, I think that most, especially larger projects, are not using React Server Components and are not going to be using React Server Components anytime soon.
01:06:59 - Ishan Anand
Okay, that makes sense. I guess to rephrase my question, in your terms, why weren't hooks felt to be forced down people's throats the way they felt that way about
01:07:09 - Anthony Campolo
RSC? Because hooks were better and easier. They actually improved the developer experience, whereas RSC gives you benefits while making the developer experience worse.
01:07:19 - Ishan Anand
I like Dan's diagnosis, which is it's a problem you didn't think you had.
01:07:25 - Anthony Campolo
Right.
01:07:25 - Ishan Anand
It's a difference that requires extra work
01:07:28 - Anthony Campolo
to then fix that problem that you didn't know you had.
01:07:31 - Ishan Anand
And you had to be in an organization like Facebook with its scale and its types of problems, which makes a lot of sense. So the other thing in the JavaScript ecosystem, flipping over slightly if RSC spans the stack, but to the other side, is I felt like one of the things that I got wrong was that I thought 2023 would see a lot more frameworks adopting kind of the WinterCG / unjs trying to run on lightweight environments. And by the second half of the year it felt like there was a pullback from that. People felt like it was too hard to replace Node compatibility completely.
01:08:21 - Anthony Campolo
And we started seeing, especially with Deno and Bun, they made a big push for Node compatibility. Like Bun is now saying it can be a drop-in replacement for Node, almost, with a couple exceptions.
01:08:34 - Dan Shappir
Wasn't that the Bun premise from the get-go? I mean, Deno kind of started as the un-Node and then transitioned.
01:08:42 - Anthony Campolo
That's true.
01:08:43 - Dan Shappir
And then transitioned to support Node. Bun from the get-go was a quote-unquote better Node or faster Node.
01:08:50 - Anthony Campolo
Yeah, no, that's true. And I think maybe Bun put pressure on Deno to be like, oh no, this is a better Node that doesn't make you rewrite everything. So then Deno had to lean into Node compat, and now everyone's just like, well, let's just all rewrite Node, I guess.
01:09:06 - Ishan Anand
Well, yeah, the capitulation kind of illustrates the point. Suddenly everyone's like, hey, let's all rush to this much slimmer runtime environment and everyone is going to try to support that. Versus now it's, oh, you know what? We've always decided the best thing to do is support Node compatibility. We've always been, whatever that 1984 reference is, at war with Oceania. Yeah, with Oceania. So it felt a little like that. But maybe that's just my impression. That was one of the things that surprised me in 2023, there's been this pullback on that. I don't know if any of the folks on stage have thoughts on whether that was what you expected, or whether you think it's just going to take longer and these are bumps on the road to a new type of runtime API.
01:09:56 - Dan Shappir
I don't know if Deno's actions were really so much motivated by Bun as by, I think unfortunately, a lack of traction.
01:10:07 - Anthony Campolo
Deno. Deno. Not.
01:10:08 - Dan Shappir
No, Deno. I mean, I mean Deno.
01:10:10 - Fuzzy
Sorry.
01:10:11 - Dan Shappir
Yeah. I mean, at the end of the day, how many people, how many organizations do you know that use Deno?
01:10:21 - Anthony Campolo
It's been a hard sell. I've been. I've been trying to make Deno happen for like three years now.
01:10:28 - Fuzzy
I've got Deno working in parts of my project and I managed to get this signed off.
01:10:33 - Anthony Campolo
We got Deno.
01:10:34 - Fuzzy
Hey, yeah.
01:10:36 - Dan Shappir
No, at the LF. At the LF.
01:10:38 - Fuzzy
There's parts at the lf. Like,
01:10:42 - Dan Shappir
I'm not saying the Deno is bad. I really love the concept. I think that, you know,
01:10:50 - Fuzzy
Legit, for me personally speaking, this is the thing with Deno. This is how I always see it: if you're making tools and packages for Node, write it in Deno, because then you just build it out and you can use it in Node. Happy days, right? It's easier to transfer over. You just replace the Deno-like API and there are polyfills available. The Deno standard library is amazing. Honestly, that is the unsung hero that nobody quite appreciates. It's not like they're in competition exactly. They're all trying to address different problems. Though this is the daft thing, right? I think Deno, what's his chops, his name just went out of my head now, somebody give me your man from Node, because I had Dan Abramov stuck in my head. Because one thing I want to say about Dan, with my conversation with him, was I met him about React Server Components and it was funny as hell.
01:12:05 - Fuzzy
So when I met him, it was him and Kent sitting across from each other. I literally sat in the middle of the two of them and turned around and said, that's all right, dudes. Kid, love your stuff, right? Really do love your stuff. But Dan, how does it feel like breaking the internet, mate? He just looked at me with his messy, funky hair and all that stuff, like he's off the plane and just like, who the hell is this guy? And I was like, for real, dude, React Server Components, where's that coming from? What is that? And so we got talking, and it is one of those things where, if your build is for the framework and library authors, like people at Vercel, like Redwood, et cetera, to implement, it's not for us.
01:12:54 - Dan Shappir
I also really love the concept of the Deno library. I think one of the biggest, and I've said it repeatedly on JavaScript Jabber, faults in JavaScript the language is the lack of a standard library. And just adding more and more features via prototypes isn't great. So had there been some sort of way, either through WinterCG or whatever, to transform the Deno library into a JavaScript standard library, I would have been ecstatic about it. Maybe someday. I doubt it, though.
01:13:41 - Anthony Campolo
Yeah, unlikely.
01:13:43 - Dan Shappir
Look, there are some nice things happening in TC39. The iterator helpers are really cool, and stuff is happening, but at the end of the day it's unfortunate that we're probably not ever going to get a real standard library for JavaScript. But if Deno wanted to succeed as a platform, it needed to support at least part of the huge NPM codebase. And the only way to achieve that is by introducing a Node compatibility layer.
01:14:23 - Anthony Campolo
Yeah. So you think it was too little too late. Like, even though they did do that, at that point they kind of dug in saying, hey, we don't want to be node compatible. Then they're like, okay, fine, we'll be node compatible. And now it's just kind of too late.
01:14:37 - Dan Shappir
I don't know if it's too late or not. I don't have, I don't own stock there, but, you know, I wish them the best of luck. Like I said, I really love a lot of the stuff that they're doing, but, you know, beating Node was always going to be really, really tough.
01:14:54 - Anthony Campolo
Yeah.
01:14:56 - Dan Shappir
And it would be interesting to see how Bun does in that regard. I think Bun will capture certain specific niche markets. That's my feeling, rather than being a wholesale replacement for Node ever. I think certain specific niches might adopt Bun, and likewise might happen with Deno.
01:15:22 - Anthony Campolo
Yeah, this is a good segue. I want to hit one more big topic and then we'll start wrapping it up: VC-funded open source. I'm usually thinking of this in terms of Astro and Remix, but it actually applies to Deno and Bun as well. These are all kind of VC-funded projects. So Bytes.dev, the fantastic JavaScript newsletter, was saying they think at least three open source VC-funded projects will tank in 2024. So they have a pretty pessimistic outlook. I'd be curious what other people think about VC-funded open source. Has it peaked? Are these projects going to find traction? Are they gonna crater? Where are we at?
01:16:08 - Fuzzy
Can I jump in straight away?
01:16:10 - Anthony Campolo
Because that's a go for it.
01:16:11 - Fuzzy
Yeah, yeah. So from Astro's point of view, we have a very strong sustainable net in place from the get-go. It is not all VC-funded, right? We weren't really tied into the investor groups that were hit royally by the fall of Silicon Valley Bank at the start of last year. So that's just natural. What I would say is that if you could find out who the investors are and where they used to bank, and how much money they lost, then you're probably looking at risk to that project just from a finance point of view. But personally speaking, I just want to vouch that the Astro project is in a very safe position. I would actually agree with that statement that there are a couple of projects on the horizon that are looking very choppy, but in all honesty it's all about market adoption. All these guys look at is how many people are using their stuff, and that's what they go back to the investors with.
01:17:26 - Anthony Campolo
But in the long term there needs to be a there there. You can have traction and continue to get more money pumped in, but at a certain point you have to have a product. You have to have a way to make money.
01:17:39 - Fuzzy
I mean for instance there's,
01:17:44 - Ishan Anand
there's a
01:17:45 - Fuzzy
A couple of those projects are going to have a difficult time breaking through. The real money is enterprise guys, right? They're the only ones that pay, and that's
01:17:58 - Anthony Campolo
why I would ask, does Astro have an enterprise play, or some sort of, like, what is the goal to make money?
01:18:05 - Fuzzy
You know, in all honesty, I would put Astro down as one of the projects to look out for in 2024 in terms of the new things that are coming out. They've already...
01:18:20 - Anthony Campolo
My website's already in Astro. I've been on Astro over here, you know.
01:18:23 - Fuzzy
I know. I love it, bro. They finished the year on a high, with the dev tools and all that stuff. It's so cool what they're doing there.
01:18:32 - Anthony Campolo
Nice, chef's kiss.
01:18:34 - Fuzzy
Yes, chef's kiss, right. But it's one of those where I don't want to give away the ghost.
01:18:44 - Anthony Campolo
Yeah.
01:18:45 - Fuzzy
Yeah.
01:18:45 - Anthony Campolo
And I'm not asking for insider information here. I just think it's an interesting thing because, you know, we all want open source to succeed, and we all enjoy the fact that a whole bunch of money got pumped into the ecosystem. I'm sure. But, you know, what goes up must go down at a certain point, and either they have a way to make money or they don't.
01:19:03 - Dan Shappir
Can I ask about that? Maybe I missed it. I was kind of distracted for a couple of minutes. What's Astro's business plan?
01:19:15 - Fuzzy
In all honesty, this stuff here will be made more apparent to you guys, the community, in time. That's what I'm trying to avoid, too.
01:19:27 - Anthony Campolo
Yes. I think Astro started with, let's build something good, let's get people using it and then figure out the play. And I don't think that's a bad. I don't think that's the worst strategy. I think that's actually. There's a lot of merit to that. Like, once the people are there, then you can. You have people, you have users, you can, like, survey, be like, what would you actually pay for? And things like that. So I think Astro has the traction. Like, undoubtedly, Astro has traction. So now is the, like, 2024 is kind of the make it or break it year for them.
01:19:57 - Fuzzy
Yeah, I would second that. I mean, to be honest, personally speaking, I'd hate to see any one good project go down due to market forces. So if anything, rally around. Even if you don't use Bun, just use Bun every once a month or a quarter or whenever. This is how I would
01:20:24 - Anthony Campolo
I'd love it if all these projects can succeed. I think they're all great. I've thoroughly enjoyed almost every VC-funded open source project. But I'm not paying for any of them, you know.
01:20:36 - Fuzzy
No, but.
01:20:46 - Dan Shappir
They pioneered the model of, you know, saying, we'll make money off of hosting.
01:20:55 - Fuzzy
Yeah, that's it. Vercel does it through hosting. Bun's gonna want to do their own hosting thing, right?
01:21:01 - Anthony Campolo
No, Bun, I thought, gave up on hosting. If I'm correct, I feel like Oven... is Oven still a thing?
01:21:08 - Fuzzy
That's Jarred Sumner. He's been quite open and honest about it. I mean, the man literally lives with blinkers on.
01:21:19 - Anthony Campolo
Yeah, I at least heard that Oven as a brand no longer exists. I don't know if that means necessarily they're not going to build a deployment platform, but there's just Bun now, there's no Oven. And I remember Oven was supposed to be the deployment platform. So I don't know if that's just a branding thing or if that's actually a pivot in strategy.
01:21:40 - Fuzzy
I couldn't tell you. But yeah, all I can say with some degree of certainty is that that focus has not shifted away from Jarred Sumner's mind.
01:21:53 - Anthony Campolo
Okay, cool.
01:21:55 - Fuzzy
But when it comes to it, hosting is one thing. I wouldn't put all my money on that.
01:22:07 - Anthony Campolo
Yeah, I mean, go ahead.
01:22:11 - Fuzzy
It's like Netlify is one of those companies that I'm kind of worried for for 2024.
01:22:19 - Anthony Campolo
Yeah.
01:22:21 - Dan Shappir
I concur, which would be a really big shame if it happens because a lot of open source projects are now effectively dependent, or at least partially funded, by Netlify. Solid is a great example. Ryan is a Netlify employee, so they effectively pay him to work on Solid and Solid Start. I think Gatsby belongs to them. I don't know what the situation is with that. I think Eleventy is there, or if...
01:22:55 - Anthony Campolo
If I'm not mistaken, Eleventy. Actually, this is another interesting side story. Eleventy was canned by Netlify and picked up by Cloud Cannon. Cloud Cannon is now the home of the Jamstack since Netlify gave up on the Jamstack.
01:23:11 - Dan Shappir
Well, yeah, the Jamstack effectively became a buzzword and then died.
01:23:18 - Anthony Campolo
How dare you, sir? How dare you.
01:23:21 - Dan Shappir
Yeah, well, they extended the definition so much that anything using JavaScript became Jamstack.
01:23:32 - Anthony Campolo
Ishan, you should jump in on this one.
01:23:36 - Ishan Anand
I mean, there's so much to say. This was on the list of things that I was not expecting. It was not on my 2023 bingo card.
01:23:46 - Anthony Campolo
You love the Jamstack. I don't know anyone who loves the Jamstack more than Ishan.
01:23:49 - Ishan Anand
Well, I've done, I don't know, three or four podcasts or talks and episodes on it that are sitting in the archives here and at CFE, and I forgot what other conferences I've talked at on my interpretation of the Jamstack. I think part of the problem, to Dan's point, is that everyone had their own interpretation of it, but regardless of what that interpretation was, and there's even a panel discussion with a bunch of people that we have in JavaScript Jam if you go to our archives, it kind of ended with the one thing we all could agree on being that Jamstack was a community. It had a lot of love. And even though everyone had a different sense of what it meant, they all loved that.
01:24:39 - Anthony Campolo
And
01:24:42 - Ishan Anand
I was surprised. When you've got a brand with that level of engagement, even if that brand might have some perceived limitations, like it can't extend to certain use cases, and the decision was made to retire it, I can understand why that was done. I was surprised, but I can understand it. But I do think there was a term that they effectively coined and got a lot of love and adoption around. Hats off, they were really good stewards of that brand to a certain extent, I have to say. So I had a little mixed feeling when they retired it, I guess is my way of saying it. So much I could say, I'll leave it there.
01:25:32 - Dan Shappir
Yeah, I'll say one thing about it. Initially the Jamstack was really associated almost specifically, or uniquely, with SSG. And then it was extended to include SSR, at least in order to support larger sites where it didn't make sense to create all the pages during build time. So various SSR strategies became associated with the Jamstack, at least stale-while-revalidate and then effectively any SSR. It felt like Vercel did to the Jamstack what Microsoft used to do: embrace, extend, extinguish. So Next.js or Vercel embraced the Jamstack and then killed the Jamstack. That's how I felt about it.
01:26:46 - Ishan Anand
I, I, I don't entirely disagree. I think that's an interesting and, and useful analogy.
01:26:54 - Fuzzy
And gentlemen, sorry, I have to be rude, but I'm gonna have to jump off. It's been an absolute pleasure. Thank you for having me.
01:26:59 - Anthony Campolo
Hey, thanks so much for being here, man. We're wrapping up, but I really appreciate you being here. It was a great talk.
01:27:05 - Fuzzy
No, thank you very much for having me, guys. Love you though. Wish you all the very best for 2024, sincerely. Right, and support the open source.
01:27:18 - Anthony Campolo
Yeah.
01:27:19 - Ishan Anand
Continue, Ishan. Oh, I was just saying that I agree with Dan's diagnosis. I mean, I think that was part of it. It meant one thing, which was SSG, and it was to expand the total addressable market in a sense, right? To say, at a certain point you can't get away with just having a purely static site, no matter how much you try to do client-side, if you want to achieve certain things, especially around performance. And in that attempt it kind of diluted the original technical meaning, but they managed to keep a lot of the community still around there. And if I have a little chip on my shoulder, it's that we were doing what we considered, we didn't use the word Jamstack but something similar to it, except we were using serverless JavaScript, and people would say, oh, that's not Jamstack. Then suddenly as soon as Netlify [unclear], and I was like, okay, now do you? And then they're like, oh, now I can see the value, how this is taking the backend and making it consumable to frontend devs. So where I settled, in one of the talks I gave, is the real thing about the Jamstack was taking the entire stack and making it as accessible to frontend developers as possible.
01:28:46 - Ishan Anand
Whether that's frontend, backend, or on the edge. And that was really, in a sense, my interpretation. There's a talk I gave at CFE where I kind of did that interpretation and prediction of it. But yeah, I agree, there were things like ISR, and then they came out with their own version of it, which I forgot the name of. I went through all these different rendering patterns in another talk. But yeah, I agree with Dan.
01:29:20 - Anthony Campolo
Awesome. Well, are there last thoughts? Anything else? People want to throw out in terms of predictions for 2024 or just things you want to promote, you know, feel free to throw whatever else you want out there. And everyone who is listening, please click those faces and follow who's up here because this is a really great combo.
01:29:40 - Fuzzy
Yeah, it was.
01:29:41 - Ishan Anand
Let's close with everyone on the stage: a prediction or spicy take for 2024.
01:29:47 - Fuzzy
[unclear]
01:29:50 - Ishan Anand
I will buy you time by trying to come up with one for myself.
01:29:56 - Anthony Campolo
Mine would be just that JavaScript and AI are going to become besties in 2024. We're going to see a lot more ways to use AI with JavaScript. We're going to see a lot more client libraries, we're going to see a lot more tutorials and demos and just ways to, to make use of this awesome technological innovation that we're all living through.
01:30:21 - Dan Shappir
Okay, yeah, but that's a bit of a cop out really. I mean everybody knows that that's like predicting the sun will come up tomorrow.
01:30:30 - Anthony Campolo
Well, whether so. But that doesn't make it not right, because a lot of people probably would have predicted that for 2023, you know. And let's make it concrete.
01:30:41 - Ishan Anand
Do you think at the end of 2024, you know, right now people are like, Python is the language of AI, right. Do you think.
01:30:50 - Anthony Campolo
I don't think JavaScript will supplant Python as the language of AI. I think people building applications with JavaScript and AI will become significantly more common and that you won't need Python extension experience to make use of AI.
01:31:09 - Ishan Anand
So Python is the language of the model builders, the AI machine learning researchers. And JavaScript's the language of what Swyx calls the AI engineer.
01:31:17 - Anthony Campolo
Exactly. Yeah, got it. I agree with that. Yeah.
01:31:20 - Ishan Anand
Okay, that's a, that's an interesting prediction. Toby, do you have a 2024 prediction?
01:31:30 - Tobiloba Adedeji
I certainly think that with DX, some of the existing tools... let me just say, I'm very big on DX, and I'm very particular about how tools with better DX are definitely going to take over. Things like Expo, which I won't shut up about for a while, and things like Astro, for example. I know we talk about Astro a lot, but I was definitely fascinated when I tried it out, and other tools like what Next.js is doing and stuff. Yeah, that is my own prediction for now, because I think that is what technologies are leaning toward, and developers are having to care more about that than the other things. They don't want to have to worry about setting things up or bundling things together or connecting dots and stuff. Yeah, I hope that makes sense.
01:32:40 - Ishan Anand
Okay. So we'll see improved developer experience, and simpler developer tooling around things like bundling and stuff like that. Is that an accurate rephrasing?
01:32:52 - Tobiloba Adedeji
No, no, no. The phrasing would be that we would see more tools with simpler DX winning over tools with bad DX.
01:33:03 - Anthony Campolo
Obviously.
01:33:03 - Tobiloba Adedeji
I think that's, that's the entire summary.
01:33:06 - Ishan Anand
Okay. That is the basis of differentiation for, for winning. Okay.
01:33:10 - Anthony Campolo
Yeah.
01:33:11 - Ishan Anand
Okay. Dan, do you have a 2024 prediction?
01:33:16 - Dan Shappir
First of all, I have to say that every prediction that I've ever made in the past has almost universally turned out to be wrong. I mean, yeah, yeah. And I've already made one about Remix switching to Preact, which I think they'll have to eventually do. But I'm not at all certain. I'd be surprised to say...
01:33:42 - Anthony Campolo
Quickly, why do you think that will happen?
01:33:47 - Dan Shappir
Look, the thing is that Vercel, effectively, Next.js will be the winner in the React meta-framework space. It's already the winner there. Astro has a unique value proposition which is not specifically tied to React. The others have a problem. Now Remix has an interesting niche because it's owned by Shopify. So Shopify can make it the framework of choice for building custom Shopify stores. But at the end of the day, I just don't see how they could ignore or give up on Vercel and Next.js in that space. So they would need to have some sort of differentiator, and they own effectively both Remix and Preact, because Jason Miller also works at Shopify.
01:34:55 - Anthony Campolo
That's right. That makes sense.
01:34:56 - Ishan Anand
I forgot that happened.
01:34:58 - Anthony Campolo
Just the fact that they're under the same organizational banner, that adds a lot of credence to that.
01:35:05 - Dan Shappir
But on the other hand, it might not happen. So my actual prediction is that I think we're going to be seeing a lot more tooling bridging the gap between UX designers and developers, getting stuff from Figma into code. We're already seeing quite a number of solutions there. It's an evolving space. There's still a problem around how to get stuff back from the code into Figma, and I think we're going to be seeing a lot of activity in that space.
01:35:43 - Ishan Anand
That makes sense. I think for me, Anthony took my one on AI and JavaScript. I was actually going to take it more in Dan's direction, which is around bridging the gap and making it more accessible to non-developers. The data we've seen so far in AI is that it doesn't make an expert as much better as it makes an intermediate or a novice closer to the expert. I think that's going to change not just the work that people do, but also the level of credential that you need to jump in and be productive in the ecosystem. So we've heard about kind of reskilling. I think that gets a lot more plausible and more common and credible with AI. The other prediction I will give is I think the strongest competition for Next.js will come from the non-React frameworks and not another React framework, and specifically something like HTMX where it's a different audience. It caters to the backend devs. Especially with INP as a Core Web Vital coming out, these teams that don't have the frontend skill set to really optimize it and make it fast are like, this is a lot of complexity and we're getting hit by these new changing vitals.
01:37:06 - Ishan Anand
It's easier just to send less JavaScript and do something like that. So that's my 2024 predictions and I'll answer any questions from the stage. Otherwise I'll let you take us out. Anthony.
01:37:21 - Anthony Campolo
Well, we actually have someone requesting to come up.
01:37:24 - Ishan Anand
Okay.
01:37:26 - Anthony Campolo
So I think they're...
01:37:28 - Ishan Anand
Let that be the last word.
01:37:29 - Anthony Campolo
Yeah, I think they're one of Toby's followers. Hopefully they're not a bot.
01:37:34 - Ishan Anand
But see, the bot problem will not be solved. That's my prediction.
01:37:39 - Anthony Campolo
There will be no end to bots in 2024. That prediction, it's a pretty safe prediction.
01:37:47 - Ishan Anand
I think that prediction came from a bot.
01:37:50 - Anthony Campolo
So I've been on some Twitter Spaces where bots come up and talk. It's nutty. It's freaking nutty.
01:38:01 - Ishan Anand
There's your unevenly distributed future right there.
01:38:04 - Anthony Campolo
Yeah.
01:38:06 - Ishan Anand
All right. They're still connecting.
01:38:07 - Anthony Campolo
Oh no. Do you know this person, Toby? P.S.? Okay.
01:38:16 - Tobiloba Adedeji
I'm not sure who that is. I'm trying to... I think maybe it's Sparky? I don't see the person there on my own.
01:38:21 - Anthony Campolo
Oh, yeah. They dropped back down to listeners. You have some X issues, but feel free to come back next time and you'll join us then.
01:38:30 - Ishan Anand
Two weeks. In two weeks.
01:38:32 - Anthony Campolo
Two weeks, yeah. Two weeks. We're doing every other week now. But yeah, this is an awesome conversation. Thank you so much, Dan. Thank you so much, Toby. Thank you so much, Fuzzy, who is not here anymore, for coming out. I had a blast. We'll keep doing these in 2024 and let you know what's going on in the JavaScript world.
01:38:52 - Ishan Anand
Thank you, everyone.
01:38:53 - Anthony Campolo
All right, have a good day, everyone. And make sure to click those faces.
01:39:05 - Fuzzy
[unclear]