skip to content
Podcast cover art for Svelte 4 and the Next Phase of Eleventy
Podcast

Svelte 4 and the Next Phase of Eleventy

An open mic chat covers RedwoodJS, Svelte 4, Eleventy changes, Next.js complexities, and the continuing evolution of JS frameworks in modern web development

Open .md

Episode Description

JavaScript Jam Open Mic covers Redwood's GraphQL and RSC plans, the case against AMP pages, Svelte updates, and PHP's surprising comeback.

Episode Summary

In this casual JavaScript Jam Open Mic session, host Anthony Campolo leads a freewheeling discussion with several community members covering a range of web development topics. The conversation begins with RedwoodJS and its evolving relationship with GraphQL, particularly founder Tom Preston-Werner's interest in integrating React Server Components as an alternative rendering approach alongside GraphQL. A newcomer working in ad tech raises an interesting practical question about convincing management to move away from Google's AMP pages, which sparks a broader discussion about whether AMP has outlived its usefulness now that modern frameworks handle performance concerns natively. The group then briefly touches on Svelte's unique approach to syntax and animations, rooted in Rich Harris's work at the New York Times, before pivoting to an entertaining retrospective on PHP's journey from derided language to powering Facebook and inspiring JSX through the XHP extension. The session also touches on the Next.js and React Canary versioning debate circulating on Twitter, which Anthony largely dismisses as a semantics argument. Throughout, the open mic format allows for organic conversation and community connection across varying experience levels.

Chapters

00:00:00 - Introductions and RedwoodJS Discussion

Anthony Campolo opens the show solo, without his usual co-hosts Scott and Ishan, and invites community members Jason and Bro Nifty up to fill in. After brief introductions and casual check-ins, Bro Nifty mentions his growing interest in RedwoodJS, which Anthony has promoted frequently on the show.

This leads into a discussion about Redwood's relationship with GraphQL and the framework's potential integration of React Server Components. Anthony explains that Tom Preston-Werner's recent blog post and Pod Rocket appearance sparked debate about whether Redwood is moving away from GraphQL or simply adding RSC as a complementary option. The possibility of combining GraphQL with React Server Components in a single framework is highlighted as a unique and ambitious goal that would differentiate Redwood from other frameworks like Next.js.

00:05:11 - AMP Pages and the Case for Moving On

A new community member joins who works in ad tech using Next.js professionally and shares their frustration with AMP pages. They explain the challenge of convincing management to abandon AMP when existing pages still generate revenue, even though the technology strips out JavaScript entirely and seems increasingly outdated.

The group discusses AMP's original purpose of delivering fast-loading pages on slow mobile networks and devices, with Jason noting it was solving a problem specific to its era. Bro Nifty criticizes AMP's messy markup and poor debugging experience, while Jason raises the question of Malte Ubl's involvement with AMP and his subsequent move from Google to Vercel. Anthony promises to consult co-host Ishan, who has historically been more sympathetic to AMP, for a more informed take on the technology's current relevance.

00:11:15 - Svelte, Eleventy, and Framework Updates

The conversation shifts to Svelte, with Bro Nifty praising its clean defaults for animations and easy-to-use syntax for common patterns like loops. Anthony adds historical context about Svelte's creation by Rich Harris at the New York Times, where the need for performant interactive news visualizations shaped the framework's strengths in animation and snappy rendering.

Anthony briefly mentions Eleventy news, noting that creator Zach Leatherman announced changes to Eleventy's sponsorship model in somewhat ambiguous terms. The discussion doesn't go deep on Eleventy before a new speaker joins to talk about their experience with JavaScript's evolution from a purely front-end language to a full-stack option, prompting Anthony to reflect on the history of JavaScript on the backend and the merits of alternative server-side languages like Go, .NET, and Elixir.

00:16:19 - PHP's Legacy, WordPress, and the XHP Connection

Jason sparks a lively tangent about PHP's resurgence, noting that after nearly two decades of developers avoiding it on their resumes, Laravel and continued use at Facebook have rehabilitated its reputation. Anthony traces the fascinating connection between Facebook's PHP-based XHP extension, which allowed writing HTML within PHP, and how it directly inspired JSX in React.

Bro Nifty discusses the challenges of deep WordPress customization, noting the extensive domain knowledge required beyond basic site setup and plugin installation. A community member adds that some teams use WordPress as a headless CMS backend paired with Next.js on the front end. The conversation briefly touches on the value of good management in tech teams before Jason brings up the Next.js and React Canary versioning controversy, which Anthony characterizes as largely a semantic debate about what "canary" means when used inside a production framework.

00:21:58 - Wrap-Up

Anthony begins closing out the session, thanking everyone who joined the discussion and participated in the open mic format. He encourages listeners to follow the speakers and mentions the show will return the following Wednesday, possibly an hour earlier than usual, before signing off with well wishes to the audience.

Transcript

00:00:00 - Anthony Campolo

All right. Hello. Hello, everyone. Welcome to JavaScript Jam Open Mic. Thank you for joining us. We got Loki out there from Sales Conf discussion earlier. Thanks for joining. It's just going to be me today, no Scott and no Ishan. So hopefully we get some people out there who want to come join and speak. I'm going to throw an invite right now to Jason. Jason, long-time follower of the show. And yeah, for anyone who wanted to go back and listen to last week's episode, I did a whoopsie and forgot to hit the record button. So I might recap some of the things that we talked about last week, just kind of for posterity's sake, if anyone wants to get that in audio form. We talked a bit about Stack Overflow 2023 results. Yeah, Bro Nifty, I'll throw you an invite as well. Yeah, and today's topics, we have kind of two big headline stories. We got Svelte 4 coming around, and then we also got some developments in Eleventy which are a bit ambiguous. But it looks like Jason accepted the invitation. What's up, man? How you been?

00:01:28 - Jason

I'm good.

00:01:29 - Anthony Campolo

Yeah. What's new in the life of Jason?

00:01:32 - Jason

Oh, you know, the same old grind.

00:01:35 - Bro Nifty

Yeah, trying to keep consulting clients happy.

00:01:39 - Jason

I'm actually wrapping up a meeting right now, so I'm a little double-booked at the moment, but...

00:01:43 - Anthony Campolo

Okay. Yeah. Well, I appreciate you hopping up. Feel free to drop if you need to. And Bro Nifty, what's up with you, man?

00:01:51 - Bro Nifty

Hey, what's up?

00:01:52 - Anthony Campolo

What is up? Thank you for joining. You guys will be my fill-in co-hosts as long as you accept the duty of being up here. But yeah, feel free to hop whenever if you need to. Anyone got fun things they're working on, dev-wise?

00:02:07 - Bro Nifty

No, not really. Not really. No.

00:02:11 - Anthony Campolo

That's all right. Anything you want to be doing fun, dev-wise? If you had an infinite amount of time, what would you be doing?

00:02:17 - Bro Nifty

Infinite. Oh my goodness. The...

00:02:19 - Anthony Campolo

That's a whole different question. Right?

00:02:21 - Bro Nifty

Well, because of you. Because you brought it up so many times, and I've been meaning to look at it. Redwood. Redwood seems really cool.

00:02:29 - Anthony Campolo

Cool, man. That's great. Happy to hear that. It sounds interesting to you. I guess my big kind of million-dollar question around Redwood is: how do you feel about GraphQL?

00:02:38 - Bro Nifty

Yeah, I was just listening to the Pod Rocket, and it takes so long for me to get through stuff because I stop so many times and I'm reflecting on what somebody's saying. Anyway, I need to get through this podcast. But it's the latest Pod Rocket. Not to shill for a competing podcast. Sorry, I don't mean to, you know, get...

00:02:59 - Anthony Campolo

We're good friends with Pod Rocket. Don't worry. Cool, cool.

00:03:04 - Bro Nifty

So, yeah, I was just listening to that, and then the founder there, I guess he was a GitHub founder. A bunch of other... he's a founder of like everything on the Internet.

00:03:12 - Anthony Campolo

Tom Preston-Werner.

00:03:13 - Bro Nifty

Yeah, he was talking about the barrier to entry for GraphQL, as you mentioned, and he says he wants to bring in a little RSC in there, do some server-side rendering, some RSC to complement it, to make it a little bit easier. So you can switch between GraphQL or React Server Components, however you want to render your frontend. He wants to make it interchangeable. So I thought that was kind of a neat concept there.

00:03:43 - Anthony Campolo

Yeah, there's kind of two interesting things going on, and I'm actually not as involved in Redwood as I used to be a couple years ago, but I still just kind of continue to promote it and talk about it. So I haven't been in any of the meetings where they really talked about React Server Components yet. The fact that they are talking about it makes me want to kind of jump back into the fray. But I think the two interesting angles are: one is, if we do this and we do this right and we can keep our GraphQL roots, this would be the only way to do GraphQL and React Server Components together. Because just getting it to work in Next is already so freaking complicated. And then kind of retrofitting that for GraphQL, I can only imagine the amount of things you're going to have to take into consideration. So that's something you want a framework to do for you. But then other people, when they read Tom's announcement blog post, which I'll link in a second, their takeaway is that he was saying Redwood's moving away from GraphQL.

00:04:43 - Anthony Campolo

And I'm not sure if I really read that in the blog post, but that's what some people took away from it, which I found kind of interesting. So the question of how bought into GraphQL Redwood is going to be into the future seems to be in debate. So that's something that I kind of need to dig into more and figure out what Tom's thoughts are. There looks like we got someone coming up, a new person. Hello?

00:05:11 - Speaker 4

Hey. Hi. Can you hear me?

00:05:13 - Anthony Campolo

I can. Hello. Feel free to introduce yourself.

00:05:15 - Speaker 4

So I work in Next, and like you said, it is crazy. It's really annoying to work in it when it comes to dealing with server-side props. And so I moved... I am a long-time subscriber. I used to hear Thursday's JavaScript Jam talk earlier, when Scott used to host it or something, and I finally came here. But yeah.

00:05:44 - Anthony Campolo

Well, thank you for joining.

00:05:47 - Speaker 4

You're welcome. I just joined to know what's cooking new in JavaScript right now.

00:05:52 - Anthony Campolo

Great, great. So when you do Next, is this for your work or for personal projects, or what is it?

00:05:59 - Speaker 4

It's for work. I would never want to do Next for my personal project.

00:06:03 - Anthony Campolo

That's funny. So if you were doing a personal project, what would you like to do?

00:06:07 - Speaker 4

I would like to go back to React Native.

00:06:10 - Anthony Campolo

Ah, interesting. So you're more of like a mobile dev.

00:06:13 - Speaker 4

Yeah, I was a mobile dev, and I moved to web development. My company just shifted me to a different domain.

00:06:19 - Anthony Campolo

Yeah, that makes a lot of sense, why that would be hard and confusing. Because, you know, mobile, that's like the ultimate client-side-only development. You don't really think about the server at all. I've not done mobile development personally, but that's at least my kind of perception of it.

00:06:34 - Speaker 4

Yeah. So lately now, I don't know if you guys have explored the ad tech domain. So they moved me more into the advertising domain, where I have to handle all these scripts and load them. So one of my questions actually that I was intending to ask was related to AMP pages. Even though I work in web development, I have to make specific pages to load on the mobile app that are AMP. That was developed by Google earlier.

00:07:04 - Anthony Campolo

Totally. Yeah. I mean, my knowledge of AMP mostly just comes from the hardcore hatred that has emanated toward it from the entire web. So I guess I would ask, is that a requirement that's kind of just coming up from corporate, or what is it? Have they told you kind of why they feel the need for AMP pages at all? Because I was under the impression that AMP was being phased out.

00:07:26 - Speaker 4

Yeah, yeah, exactly. So I'm trying to convince my lead and my managers that we need to switch out of AMP. And the thing is, they already have these AMP pages running for years and years, and they just don't want to cut that out because that's generating revenue for them. And I'm just trying to find hardcore points that can validate that AMP no more can generate that much amount of money than having regular JavaScript pages, because AMP basically cuts out your JavaScript completely.

00:07:56 - Anthony Campolo

Yeah, that's a really good question that I will ping Ishan and kind of get his take on. He's someone who was kind of an AMP defender. I know that he felt that it was pretty underrated, but I think that even he would admit that AMP kind of lost the war, even if it won some battles. So I'd be curious if he would like... I mean, we don't do AMP pages for Edgio.

00:08:20 - Speaker 4

Oh, okay. Okay.

00:08:21 - Anthony Campolo

But yeah, let me just do that real quick. Thank you for joining. Really, really appreciate it. Feel free to kind of hop into the discussion at any point if you want to. And I'll ping Ishan, see if he has kind of thoughts on the AMP world. Have either you, Jason, or Bro Nifty done much with AMP?

00:08:41 - Bro Nifty

If Jason has nothing, I don't want to hog the mic, but I have. I worked with a tiny, tiny, tiny, tiny, tiny little bit. It was something to help you with mobile apps, right? So, better reading experience, kind of like it cached your blog and stuff for mobile apps. There was like a construction website app that they had for AMP that helped app developers build for small businesses and have a quick page, cache the page. Is that what the deal is? I only did a little bit. I didn't really get into it.

00:09:13 - Speaker 4

I think in the earlier days AMP was necessary to load the pages faster because we didn't have all these server-side props generating and we didn't have what Next does now. I'm just trying to find a very valid argument to raise up with my management team that we don't need AMP anymore because I don't see the purpose that it serves anymore.

00:09:33 - Bro Nifty

One thing I noticed was that the markup is really messy. The output is bad. I didn't like trying to debug or parse through it visually. I look at it and it just looks like a mess, and so I don't like messy content. So I just threw it away. I said, this is ugly.

00:09:56 - Speaker 4

I can't do it. I wish I could make that decision easily.

00:10:01 - Anthony Campolo

What about you, Jason?

00:10:03 - Jason

Yeah, fortunately for me, I managed to avoid dealing with AMP when it was popular, but I think I understand why they were trying to do what they did with the specification, to make a stripped-down web experience that is going to make web pages load faster on crappy mobile phones, on crappy mobile networks. So it makes a lot of sense. But in some ways it may have outlived its usefulness. Not that we have super-fast networks, and not all of us are on super awesome phones, but it definitely seems like it was solving a problem of its era, just like most technologies. And I was trying to think about Malte Ubl. I can't remember if he publicly stepped back from AMP. I know when he left Google and went to Vercel, that was one thing, but I can't remember if there was more public discourse on what happened with AMP, given his early involvement in it.

00:11:04 - Anthony Campolo

Who is that?

00:11:05 - Jason

Malte.

00:11:05 - Anthony Campolo

Ubl. Malte.

00:11:08 - Jason

I think I'm getting his pronunciation correct.

00:11:10 - Anthony Campolo

I'm horrible with names. Yeah, I think I know who you're talking about.

00:11:15 - Jason

He's like VP of... isn't he VP of Engineering at Vercel these days?

00:11:19 - Anthony Campolo

Used to be at Google. That would make sense. Hey, we got Jen. Got a good crowd out there. We also got Minus One Vortex from Open Sauced hanging out. Yeah, I wish I had some more words of wisdom for you on the AMP pages, but I do not. But I pinged Ishan. We'll see what he says. Actually, I gotta put all these things on the Jumbotron real quick. So here's the blog post from Tom where he talks about React Server Components. I should include his Pod Rocket episode as well. I'm a big fan of Pod Rocket. Looks like Misko just came back as well for another episode. Get that on Jumbotron as well. And then here is last week's issue. Have other people up on the panel been in the Svelte world yet? I think it's, you know, to me as someone who uses lots of different front-end frameworks, Svelte almost feels like old school at this point. But I'm sure people here probably may not have even used Svelte yet. Somebody like Bro Nifty or Jason, if any of you have experience with...

00:12:32 - Bro Nifty

Svelte, just a very small amount of it. It had some nice defaults for animations on the front end. Like, if you're doing a to-do list, it kind of has nice defaults for the animations, the way it updates, and everything like that. And then their for loops and different things like that make it kind of easy to...

00:12:59 - Anthony Campolo

Yeah, it's got some syntactic sugar for things like for loops, which people can be kind of split on. I think once you learn it, it's not that challenging. Yeah, with Svelte, it was one of the first ones that really leaned into saying, we have a programming language that we have written. Even though it's a templating language, it's also kind of its own language unto itself. Which I think, if it's well thought out, there's a lot of merit to that. So it has interesting syntax. And then the animation part, that's kind of a factor of its history. It was created by Rich either at the New York Times or the Guardian. I forget which one he was at at the time. Yeah, it was the New York Times by that point. So it was more interactive-type news articles, like when you have a chart of the United States while all these polling things are happening, you've got interesting animations happening there. So that background led to having good animation that's also still really snappy. Rich, I believe, just got married, or at least had a wedding.

00:14:02 - Anthony Campolo

So, you know, he had a fun video of him Rickrolling his audience. So does anyone else have things they want to talk about on Svelte before we move on to Eleventy? The Eleventy news was pretty interesting. It was a bit ambiguous the way he worded it. I kind of feel like whatever happened, Zach didn't want to come out and say it kind of forthrightly. He basically said that Eleventy's current sponsorship model is no longer a thing. Someone's requesting to come up, and let me share the blog post. This is something that Jen's following. So I'm counting on you, Jen, to be following along. Hello? Are you here?

00:14:46 - Bro Nifty

Yes, I am here.

00:14:48 - Anthony Campolo

Hey, what's up, man? You want to introduce yourself to the audience?

I'm a software developer. I have worked with lots of programming languages, including JavaScript too.

00:14:56 - Jason

Cool.

00:14:57 - Anthony Campolo

Do you have something you want to contribute to the discussion here or a question you want to ask?

Well, I want to take part in discussion about JavaScript because I use JavaScript when it was only front-end JavaScript, but nowadays it's also back end too.

Interesting, interesting. I was actually just listening to Lex Fridman. He had Marc Andreessen on, who was the one who was running the browser where JavaScript was first created, and he was highlighting how it was first written as a front-end and back-end language. But that took a very, very long time for it to reach the point where people actually used it as a back-end language. I don't know. I like Node. I think that Go and .NET and even things like PHP with Laravel or Elixir with Phoenix, there's a whole lot of great reasons to use other back-end languages. So I think the claim that you got to write your whole thing in JavaScript no matter what is a bit bunk. But I think also I like Node, so, you know, it's nice that we have so many great options on the back end. I think anything else you want to...

00:16:04 - Anthony Campolo

You want to share, it looks like you have a YouTube channel. You create content?

Yes, from time to time I create content.

Developers don't make content. That's crazy. You think that we can, like, speak and write? I thought we were all illiterate. Do you have something to add, Jason?

00:16:19 - Jason

I was just thinking about how for probably nearly 20 years no one wanted to put PHP on their resumes. And now it's back, and I guess Facebook kept it alive. And then now we've got Laravel, and who's that guy buying Lambos with PHP?

00:16:35 - Anthony Campolo

Taylor Otwell? I think with PHP, it was the thing to use for a while, even though people were writing back ends in Python or Perl, and then PHP kind of came in. And I would imagine people who were probably writing other languages kind of derided it for historical reasons that I don't have a really good insight into, but it always had this perception of being the underdog. But then it actually became the thing that everyone used. It was by far the most used thing at a certain point in time, the LAMP stack. So then when the underdog becomes the champion, that's where all the resentment then comes in.

00:17:17 - Jason

Yeah. So unless you were building a blog, PHP was the untouchable thing.

00:17:23 - Bro Nifty

Jason, did you have insight into the way... not React, excuse me, Meta, Facebook uses the PHP back there? I don't know about it. All I know is WordPress.

00:17:35 - Jason

I don't have any insight.

00:17:36 - Anthony Campolo

Yeah. So I know a little bit about this. I'll link this. There's a really interesting thing called XHP. This is like the Rosetta Stone, actually, to figuring out how all this stuff developed, because Facebook historically was built with a PHP backend. So when we talk about the LAMP stack, that was probably the most famous epic version of the LAMP stack that ever existed, the sum total of Facebook. And they built this thing called XHP, which was a PHP extension language that lets you write HTML in your PHP. Sound familiar? That then inspired JSX, which allowed people writing HTML in their JavaScript. So that's kind of the story of how those things relate to each other.

00:18:21 - Bro Nifty

Yeah, I gather you have the WordPress files on files on files, just the abominable file structure and all the rules you have to memorize. You really have to get deep, deep into the domain knowledge. It's easy to say, okay, we can just spin up a WordPress site and you've got everything you need for a blog all in one. But then now you want to maintain it. Besides just adding plugins from the admin UI and creating a new post, whatever, or just choosing a theme from the store, if you want to make anything custom on it, then you really have to get deep into the domain knowledge. And it's not really... I don't know more about the PHP language or the other frameworks, because there's other things too, like Joomla and other things that they use. I think Brad Traversy started out in the PHP world.

00:19:24 - Anthony Campolo

Yeah, most of those are still being used by people who just want a pure CMS but don't want to use WordPress for any reason. And I think the average dev probably isn't dealing with Joomla too much anymore.

00:19:37 - Speaker 4

I would just want to add one thing over here. In some of the websites that I work on, we use WordPress as a backend and we use Next as a front end.

00:19:47 - Jason

Well, and it's partly a user interface thing because there's so many content creators, people that write blog content.

00:19:53 - Bro Nifty

I'm a big believer in management as well. I think people are kind of, I don't have a good word, but they are critical of the middle layer, middle management, stuff like that. In some cases, the argument against it, or the argument saying that having a middle management layer that doesn't know how to code and is just sort of like a timekeeper or whatever, that is counterproductive, yes, I agree. But having people who know what's going on and understand the tech and can help facilitate ideas and keep things in order...

00:20:31 - Jason

and like on time.

00:20:32 - Bro Nifty

There is... oh, that is a cultural standard. They're providing a cultural standard, which is like, it's really hard to quantify that. I mean, I guess you could quantify it. Yeah, management.

00:20:42 - Jason

Good metric.

00:20:43 - Bro Nifty

Yeah, it's very important.

00:20:45 - Anthony Campolo

Yeah. Anything else anyone want to talk about?

00:20:47 - Jason

What about the latest Next.js app directory Canary build of React drama?

00:20:53 - Anthony Campolo

It's mostly a semantic argument around what does a canary mean. If you're using Canary in a major framework that people are shipping as not canary, does it still count as Canary? To me, it kind of came across like a huge bikeshedding argument. Allegedly, Next runs on React Canary just all the time. So the term canary then is like, if you run on React Canary, you're usually assuming you're on the bleeding-edge stuff that could break at any point in time. If you're Next.js, you're not assuming that. You're assuming it's stable. And what this means for framework authors versus just pure React devs, I was having a hard time trying to figure out what stance either of them were taking. So that's why, to me, it kind of came across as semantics. So I probably just didn't read it close enough. Because to me, I usually see this Twitter drama, and if it goes on for more than 10 tweets, I'm like, I'm checking out. I threw out, I was like, hey, we got an open docket tomorrow, JavaScript Jam. You guys want to come in? Hash this out in person. Neither of them responded, so I was like, whatever.

00:21:58 - Anthony Campolo

All right, cool. Well, if no one else has any topics they want to get into, we'll probably start wrapping it up. Cool. Well, thank you everyone who came up and joined the discussion. This was a lot of fun. Feel free to tap those names and follow people who are up here. And yeah, we'll be here, likely not same time next week, maybe an hour earlier, but, you know, it'll be Wednesday. And yeah, thank you everyone for joining. Have a good day.

On this pageJump to section