
SolidStarts Grand Unified Theory and Fresh 1-4
An open mic covering SolidStart updates, RedwoodJS developments, Deno’s Fresh 1.4 release, and tips for learning new frameworks
Episode Description
JavaScript Jam discusses Solid Start's Astro integration, Fresh 1.4 updates, RedwoodJS adopting React server components, and build-vs-buy advice for developers.
Episode Summary
This episode of JavaScript Jam covers several notable developments in the JavaScript ecosystem, beginning with the release of Solid Start 0.3.1 and its quiet migration to using Astro under the hood—a move that positions the framework to better handle islands architecture and partial hydration. The hosts explore what this means for the broader ecosystem, speculating whether Astro could become a foundational layer for other meta-frameworks, much like Vite sparked an explosion of new tooling when it replaced Snowpack. The conversation shifts to RedwoodJS v6 and its path toward React server components, with Anthony sharing context from his appearance on Ryan Carniato's stream and noting that the Redwood team's decision was influenced by Next.js establishing server components as the dominant direction for React. Fresh 1.4's incremental improvements, including view transitions and route groups, are briefly covered as another framework leaning into the islands model. A newcomer asks whether developers should use ready-made SaaS tools like Zapier or build custom solutions, prompting practical advice around balancing time, cost, and maintainability. The episode is notably marked by persistent Twitter Spaces audio issues that force creative workarounds and ultimately cut the session short.
Chapters
00:00:00 - Introduction and Show Overview
The episode opens with hosts Anthony Campolo and Ishan Anand getting settled into the Twitter Space and welcoming the audience to JavaScript Jam, their weekly open-mic discussion held every Wednesday at noon Pacific. Ishan walks through the format of the show, explaining that it caters to developers of all experience levels and often features guest speakers alongside open discussion.
He also promotes the JavaScript Jam newsletter available at javascriptjam.com, highlighting Anthony's weekly curation of ecosystem news, relevant links, and a "story of the week" segment. The hosts introduce themselves and their roles at EdgeIO before teasing the main topic: the relationship between Solid Start and Fresh, framed as the newsletter's headline story.
00:04:18 - Solid Start's New Direction and Astro Integration
Anthony introduces the week's main story—Solid Start 0.3.1—which he learned about during a lengthy stream with Solid creator Ryan Carniato. He explains that despite the version number suggesting a step backward from 1.7, the release represents a significant internal overhaul, including a quiet migration to using Astro under the hood. This shift is expected to improve Solid Start's approach to islands architecture and partial hydration.
Ishan provides context for the audience on what Solid is—a high-performance React alternative with fine-grained reactivity—and its relationship to Solid Start as a full-stack meta-framework. He notes Solid's consistently top-tier performance benchmarks and mentions Google's Project Aurora funding for the project. The discussion turns to whether Astro could become a shared foundation for multiple meta-frameworks, similar to how Vite enabled an explosion of new tooling after replacing Snowpack.
00:16:16 - Technical Difficulties and Midshow Break
The hosts encounter significant audio issues within Twitter Spaces, with Anthony unable to hear Ishan despite being the host and unable to leave and rejoin without ending the entire space. Several audience members, including regular Jason, attempt to help relay messages while Anthony devises a workaround by listening through his computer's web browser while speaking through his phone.
Ishan takes the opportunity to deliver the mid-show station break, reminding listeners about the open-mic format, encouraging hand raises from the audience, and promoting the JavaScript Jam website and newsletter. He highlights past guests including the creators of Vue and SolidJS and mentions how the show covered recent conferences like React Rally. The segment showcases the community spirit of the show even amid frustrating platform glitches.
00:24:18 - RedwoodJS v6 and React Server Components
Anthony discusses his appearance on Ryan Carniato's stream where he presented RedwoodJS v6, highlighting the framework's official adoption of Vite and its roadmap toward React server components in v7. He reflects on the Redwood team's historically conservative approach to new trends and how the broader ecosystem's embrace of server components—led by Next.js—eventually made adoption feel inevitable.
The conversation touches on a poignant note about a former Redwood team member, Aldo, who championed server components early but passed away before seeing the shift materialize. Anthony also promotes the first-ever RedwoodJS conference and shares that he'll miss it due to his upcoming wedding. The discussion illustrates how framework teams navigate the tension between waiting for ecosystem consensus and staying competitive.
00:33:43 - Fresh 1.4 and the Deno Ecosystem
Anthony covers the release of Fresh 1.4, noting incremental but meaningful additions like view transitions for SPA-like experiences within the MPA-focused framework, layout support, define helper functions for better typing, and route groups for co-locating islands and components. He mentions an interesting disagreement with Ryan Carniato about the concept of layouts in frameworks.
Ishan asks about the relationship between Fresh and Deno adoption, and whether the two are tightly coupled in practice. Anthony acknowledges that while he lacks hard data, the Deno team viewed Fresh as critical to driving adoption by offering a batteries-included framework experience comparable to what Node developers expect. The segment highlights Fresh's unique position as the outlier among JavaScript meta-frameworks by running on Deno rather than Node.
00:37:34 - Community Spotlight and Jen's Journey
Jen from Teach Jenn Tech joins the stage to congratulate Anthony on his upcoming wedding and share her excitement about launching her first live stream that day, which featured deploying a Next.js app with Prisma, Postgres, and Redis on Netlify. The conversation shifts to her ongoing challenge with Strapi API filtering in Postman, and Anthony offers quick troubleshooting suggestions including the potential benefits of GraphQL.
Jen reflects on how the JavaScript Jam community and Anthony's mentorship helped shape her journey over the past year, emphasizing the value of believing in someone while giving them freedom to make their own mistakes. Anthony shares his philosophy on giving advice and the difficulty of distinguishing good advice from bad. Jen also announces an upcoming talk at TypeScript Congress about lessons learned while learning to code live.
00:47:01 - Build vs. Buy: Advice for New Developers
A new audience member named Carol, an operations analyst learning software development, asks whether experienced developers use ready-made tools like Zapier and HubSpot or build custom solutions from scratch. Anthony frames the decision around balancing time, cost, and long-term maintainability, suggesting that if a SaaS tool handles something reliably for a reasonable price, it can be the smarter choice over custom code.
Sabin Adams adds a strong endorsement for using existing SaaS products, noting that even large companies processing billions in transactions rely on tools like Zapier. He advises focusing on core business needs first and only building custom replacements once a product has enough traction to justify the investment. The conversation then briefly touches on Sabin's transition from developer advocacy at Prisma back to full-stack engineering, and his plans to stay active in the community through writing.
00:53:28 - Wrap-Up and Closing
After yet another round of audio dropouts forces everyone to leave and rejoin the space, the hosts decide to wrap up the episode. Anthony checks in with Sabin about his plans for independent developer relations work, and Sabin shares his intention to focus on writing and maintaining his community presence, noting that many working developers underestimate how vibrant the online tech community truly is.
Ishan delivers the closing remarks, thanking listeners for persevering through an unusually glitchy session and encouraging them to follow the speakers, explore past episodes, and subscribe to the newsletter at javascriptjam.com. He signs off with a reminder that JavaScript Jam airs every Wednesday at noon Pacific and expresses hope for a smoother broadcast the following week.
Transcript
00:00:25 - Anthony Campolo
Yo yo yo. Welcome to JavaScript Jam.
00:01:03 - Ishan Anand
Hello, Anthony. Are you gonna sign in as you as well, or are you gonna just act as the host for today?
00:01:15 - Anthony Campolo
Let's see. I can go ahead and sign in normally.
00:01:19 - Ishan Anand
I think you need, well, you need two phones to do that.
00:01:23 - Anthony Campolo
Yeah, exactly. I was gonna. I could sign in on my computer.
00:01:30 - Ishan Anand
But you won't be able to. Well, yeah, maybe sign in as you on the computer as well so everyone can see the regulars. Hey everyone. Welcome to JavaScript Jam. We do this every Wednesday at 12pm Pacific Standard Time, different time depending on what time zone you're in. And JavaScript Jam is an open mic for anything JavaScript- or web development-related. We like to run it with the audience in mind, and whether you're a beginner or an expert, you are welcome to raise your hand and you can kind of change the topic or comment on stuff. Sometimes we have guests, sometimes we have more of the open mic format where people can come in and just raise whatever they think is interesting or the topic for the day. And if you haven't already, go to javascriptjam.com and sign up for our newsletter. It is written by my co-host here, Anthony, who does an amazing job looking around at what's happening in the ecosystem every week and sending out links to interesting stories, podcast episodes that are really relevant, and then a segment that he calls the story of the week in the JavaScript ecosystem that captures what was the must-have thing you needed to know this week that happened in the fast-moving world of JavaScript and web development.
00:02:57 - Ishan Anand
So I highly recommend going to javascriptjam.com and just hitting subscribe, and you'll get the newsletter. And that's usually where we start with what we're talking about each week. And you'll also find out when we go live with our episodes. And there it is. This week's episode was the grand unifying theory of SolidStart and Fresh. We'll jump into that in a second. I'll start with intros. I am Ishan Anand, VP of Product at Edgio, an edge development platform and CDN. And then I'll let Anthony introduce himself.
00:03:40 - Anthony Campolo
Hello, my name is Anthony Campolo, and I'm a developer advocate at Edgio.
00:03:49 - Ishan Anand
Our usual co-host as well, Scott Steinlage, is unavailable to join us today, but will be joining us in spirit. He usually does the intros and outros, so I'll just be filling in on that duty for today. But with that said, Anthony, do you want to start us off with the JavaScript story of the week?
00:04:18 - Anthony Campolo
Yeah, sure. And it's funny, you know, I only ended up seeing this because I was on Ryan Carniato's stream the other day. I was on to talk about Redwood, and when you're on his stream you end up talking about all sorts of things. I think it ended up being like a four-and-a-half-hour-long stream. And at one point he had mentioned that there was this new version out of SolidStart that was a really big deal but was kind of under the radar. So I went and looked it up. It's funny, it's 0.3.1 and the last version was like 1.7 or something. So something happened to the semver there that went very wrong. I'm not sure what. But yeah, the idea with this one is I think they're kind of just cleaning up some old technical debt, but now they're basically in the position to have the framework be where it's kind of going to end up. And by that I mean the framework went through some kind of internal shifts recently. This wasn't very well publicized. I couldn't really find any good links to actually prove this is the case.
00:05:41 - Anthony Campolo
But they have migrated to basically use Astro under the hood. And I think one of the main reasons that this is important is because it's going to affect their strategy around islands and partial hydration. So this is basically how we're going to have the JavaScript be more self-contained to specific islands. And this is actually interesting because it kind of got paired with Fresh, because Fresh does a similar thing where you very clearly specify what is an island and what is not. Then you're allowed to scope your JavaScript to just specific places so you don't end up loading your bundle with too much JavaScript. They also mention that there's updated docs, a new Movies app, which is kind of this new app that everyone's using to compare their frameworks to each other, and then things like they're on Node 18 now instead of 16. So in one sense it's kind of just a technical upgrade. But at the same time, if you're someone who's been watching SolidStart and a bit curious about it and wondering what it's going to look like when it gets out of beta and stuff like that, this seems like it's signaling that the framework is going to be in a really good place.
00:07:22 - Anthony Campolo
And this also goes along with, probably worth mentioning, that Solid was picked up by Google as a project that's being funded for research into web performance, which I think is pretty interesting. I'll link that as well.
00:07:39 - Ishan Anand
Yeah, actually, let me... I have a couple thoughts. I did not know that Astro connection. I want to dig into that. But before we dig into that, and while you're posting that up, I think maybe I'll just unpack a couple things here for the audience who may not be aware of Solid. So, and correct me if I'm wrong, because I actually haven't used Solid, but I'm a big fan of the work that I've seen on it. I've watched a number of tutorials on it. I've seen the performance metrics. So Solid is one of these React alternatives as a front-end framework, and SolidStart is kind of its equivalent of Next. Like React is to Next.js as Solid is to SolidStart. So it's kind of your end-to-end framework, full-stack framework. And what's notable about Solid is it's got really amazing performance as a front-end framework and has for a while, incorporating really novel ideas on making reactivity a first-class primitive in a way that React, despite its name, does not. And it does it, though, with a very React-like API.
00:08:53 - Ishan Anand
So if you're struggling with performance with React and you want something that has a similar API and you like the way you're used to coding, Solid is definitely something worth taking a look at. And when you look at front-end performance metrics, Solid is usually in the top three, if not, at least the last time I looked, number one for various comparisons and benchmarks on performance. So it's an extremely performant framework, and it's largely been the brainchild of this one guy, Ryan Carniato, who, by the way, has been a guest on JavaScript Jam in the past. If you go to our website and you go to the podcast tab, you'll see a list of folks we've had as guests before, and Ryan came on a couple years ago and gave a demo of Solid and its benefits. So I definitely encourage folks to check that out if you're not aware of Solid, but it's definitely one of the interesting and hot frameworks. And given that it's been so performance-focused,
00:10:10 - Ishan Anand
I'm kind of not surprised that Google, with Project Aurora, has stepped in and said, hey, we're going to help support it. I think that's really valuable for the web. Even if you don't use Solid, its ideas really help push other frameworks forward. So it's always valuable to pay attention to what Ryan's up to. So just some context for folks. I guess the question I have is, I did not realize, first of all, that they had moved to Astro under the hood. What do you think was the motivating factor there?
00:10:50 - Anthony Campolo
I think probably, there's probably a couple. I know that Ryan has said before that he didn't want to create SolidStart and that he waited a really long time because he wanted someone else to make it for him, essentially because a meta-framework is a very large, complicated endeavor and Solid was never really meant to be that. It was meant to be like React. As you said, React is to Next as Solid is to SolidStart. So I think Astro allows them to lean really heavily on the work that's being done by that team and has been done. And I know that when Astro first came out, Ryan was looking at it and he was like, oh, you guys can basically do your own version of React Server Components if you do this, this, and this. And at the time he said the Astro team was like, what are you talking about? But they kind of understand more now what he's getting at. So I think he's also trying to get this new server component thing figured out because Astro is uniquely positioned in that.
00:12:05 - Anthony Campolo
It's kind of like a static site generator, but it does have a Node server in it technically, so you could do server-side rendering. I only heard about this because I know most of these people and hang out with them in Discords and see what people talk about on Twitter, and people like Theo were mentioning how SolidStart was going to be using Astro and [unclear]. And I think this is related to the new TanStack Router. So, yeah, they didn't write a blog post about this. They didn't really publicize it very well. So for a while I wasn't sure if it was even true or not. I'm assuming it is because I think I've heard Ryan talk about it, but it's not been very well publicized. So I think that just getting a strong base underneath the framework can be very useful. And then it kind of fills in the pieces that SolidStart still needed to figure out, things like partial hydration and that sort of stuff. So I imagine that's probably also a big part of it.
00:13:24 - Ishan Anand
Do you think so? I'm really curious about... Astro is really interesting because it's the meta-framework, it's the meta meta-framework. It supports multiple frameworks. It supports Solid, it supports React, it supports Vue. You can come and choose whichever of those front-end frameworks you want to use within the ecosystem of Astro. And so I guess I'm wondering if we'll see other frameworks potentially adopt this and Astro's future might be the pillar on which other frameworks get installed in the front end or are built without having to build up all the tooling required for a true meta-framework. Do you feel like that's a trend, or is this like a one-off? Could we see that happening in the future?
00:14:31 - Anthony Campolo
Maybe. I mean, if it becomes a trend, it'll be a trend, you know? So I think right now it's kind of hard to say. I think it's a smart idea, and I think it would be in other frameworks' interest to try to figure out how to leverage the work of other frameworks for sure. I think that some framework authors just have this weird control issue where they'd be like, oh, Astro's a company with VC backing, so I could never trust them or what they're going to do or whether we're going to be aligned. And so I think that that probably is something we'll have to fight against. But yeah, I think it makes sense for open source in general. Usually a framework is a combination of other open-source libraries, so it's not really that unique in that sense. But meta-frameworks have tended to kind of own the whole pie themselves, traditionally.
00:15:32 - Ishan Anand
Yeah, I mean, and I think, correct me, right, Astro is built on Vite. Is that correct, or am I misremembering?
00:15:39 - Anthony Campolo
Yes. Yeah, it was originally built on Snowpack and then Vite came around, basically a better version of Snowpack, and then the whole ecosystem kind of shifted over. So at a certain point they were like, hey, even though we had been on Snowpack, we gotta ditch Snowpack.
00:15:55 - Ishan Anand
Yeah. So it's like instead of having to piece all those things together and build on top of them. And I remember people predicting Vite was basically going to create an explosion of meta-frameworks to make it a lot easier. But...
00:16:10 - Anthony Campolo
And it totally did. It absolutely did. Yeah.
00:16:16 - Ishan Anand
I guess what's fascinating to me is maybe Astro will do that as well by even funneling more things. Rather than having to start with Vite, you start with Astro and then you can go to town, and we'll have just another fractal dimension at which the JavaScript ecosystem creates new frameworks. So. And then you had mentioned you were on Ryan's stream. I have not gotten a chance to watch that. What else did you guys talk about?
00:16:47 - Anthony Campolo
My Internet is going a little wacky. I'm not sure if you can hear me. I can't hear you right now.
00:16:52 - Ishan Anand
Oh. Can you hear me now? I have no idea which one of us will end up on the recording. This sometimes happens, folks, with Twitter Spaces. Or should I say, testing, testing, X Spaces. Can you hear me now? Let's see. Can you hear me now? Okay, this is where we play the technical difficulties music.
00:17:28 - Anthony Campolo
It's a thing where I think you're talking, but I can't hear you. But because I'm the host, I can't leave and come back. Yeah, I'm not really sure what to do about it.
00:17:44 - Ishan Anand
That's a great question. Let's see, what should you do?
00:17:52 - Anthony Campolo
Well, invite some other people up to come save my butt.
00:18:01 - Ishan Anand
Let's see if we can get you back, getting your audio. Hey, guys. I could hear both of you, but apparently you can't hear... you can hear both of us. Okay. Yeah. So you can be our translator like in the movies.
00:18:14 - Anthony Campolo
I can't hear you, Ishan. So...
00:18:16 - Ishan Anand
Okay. Oh, wait, but you guys can both hear me? Yes, we can both hear you.
00:18:22 - Anthony Campolo
So we can do this game of...
00:18:23 - Sabin Adams
telephone, having a seance,
00:18:32 - Ishan Anand
All this great technology, and we're basically back to the telephone game, literally. Well, normally, you know what would be crazy is if Anthony logged in with his web browser, he could hear me through there and then he could speak through his phone if he can manage the feedback. But that might be too complicated. But yeah, normally the solution to this is you leave and come back. I can hear Anthony, so I think it's on his end. I've never had this happen to the host, though. And so the normal solution is you leave and you come back and then everything's fine.
00:19:14 - Sabin Adams
But...
00:19:15 - Ishan Anand
Okay, let me relay that to Anthony. Yeah. So the suggestion for him.
00:19:20 - Jenn (Teach Jenn Tech)
Yeah.
00:19:21 - Ishan Anand
Maybe he should try this: switch from Wi-Fi to cell network, or cell network to Wi-Fi, and that might not disconnect him.
00:19:32 - Anthony Campolo
Wait, hold on. Okay, so I can hear Ishan if I listen through my computer through my own account?
00:19:40 - Ishan Anand
Yes. Okay, so you had the same idea that I suggested. Great minds think alike. Okay, so I was just telling Jason, who's one of our regulars, thank you Jason, to communicate to Anthony that you could log in with your web browser to hear me. Because I can hear you. But what you should try doing on your phone is switching from LTE to Wi-Fi or vice versa. And that might kick the networking stack enough, or reset it without actually logging you out, so that it will reconnect the other stream of audio that seems to be locked. Does that make sense? I'm guessing he's trying it. Yeah, maybe. Anthony, did you get all that? Well, he won't be able to tell us. That's true. You can only hear through the web browser.
00:20:32 - Anthony Campolo
Yeah. And I think this is actually usually when I get kicked off, what happens is I have a brief moment like that in my house where the Wi-Fi gets a little funky and then this happens.
00:20:47 - Ishan Anand
So are you trying that idea? Are you switching the connectivity? Just a theory that it might work.
00:21:06 - Anthony Campolo
Yes, I am trying that idea and it didn't seem to fix it on my phone.
00:21:11 - Ishan Anand
Oh, that's killing me. Okay, and if Anthony drops, I mean, if the JavaScript Jam host account drops, then we all go away. The Space ends, then we all go away. It's like Zoom when the host ends. Well, we need that technical difficulties music. I don't know the best way to try and reconnect. Hopefully we'll just... Anthony, how well can you deal with the two audio streams coming from two different devices right now? I think there's our answer. And I'm on hotel Wi-Fi with poor...
00:22:04 - Anthony Campolo
I could probably handle it to answer in real time, because there's a huge delay.
00:22:10 - Ishan Anand
Okay, well, so we'll just be on a high-latency connection. Well, we're almost at our halfway point, so I will do our station break. For those of you just tuning in, this is JavaScript Jam. We are in Twitter Space, or I should say X Space, that is an open mic for anything web development- or JavaScript-related. Whether you're a beginner or an expert, we want to hear from you. Feel free to raise your hand. We're happy to bring you up to the stage. Anything that's about web development or JavaScript can be on topic. We have plenty of beginners asking about how to break into the industry. Or if we talk about something where you're like, wait, what is that thing? I don't know much about it. We're happy to stop and answer it and provide more context. And then if you haven't already, I'd encourage you to go to our website, javascriptjam.com, and you can subscribe to the newsletter that Anthony puts together and that usually is our jumping-off point for discussions when we do not have a guest. And that's the other benefit: very often we have guests on JavaScript Jam, whether it's here in the Space or on the podcast.
00:23:26 - Ishan Anand
We've had creators of frameworks, whether it's the creator of Vue or the creator of SolidJS, like we were just talking about, or people who are giving talks at upcoming conferences. So, for example, React Rally was a recent conference where we had a bunch of the speakers participate a couple weeks ago to talk about what they were going to talk about. And so it's a great way to connect with folks, even if you're not going to be there at the conference, to kind of get a little bit of the hallway track, so to speak, with some of the speakers live. So go to the website javascriptjam.com and subscribe and get all that goodness. With that being said, Anthony, has your audio improved? I'm going to take that as a no.
00:24:18 - Anthony Campolo
Yep. I can... Yeah, so I can still hear you through my computer. It's just a delay. You should continue on with whatever your thoughts were on.
00:24:28 - Ishan Anand
Yeah, well, the thing I was actually gonna switch over to is that you mentioned you were on Ryan's stream, and I wanted to just have you give folks a preview of what else you talked about with Ryan on the stream and what you guys talked about, and give folks kind of a pitch for why they should tune into that.
00:25:10 - Anthony Campolo
Yeah, so we talked about Redwood, Redwood v6. This is super duper exciting, and I'm going to mute my computer for a second so I'm not hearing my own voice come through. Yeah. So Redwood v6 is a super sweet new version of Redwood. We covered it in a previous issue of JavaScript Jam. And I've been really excited for this release because it is the first time where we are officially, officially on Vite. We've had experimental support for it since v4, but now it's actually built into the framework, full stop. And that's been really important in terms of getting us ready for things like server-side rendering and this new kind of React Server Components world. So we started talking about React Server Components before v6, and this version does not get us all the way there. I think v7 is what we're shooting for when we're officially on. I just realized he spelled my name wrong.
00:26:29 - Sabin Adams
Whoops.
00:26:30 - Anthony Campolo
Anyway, so yeah, it's getting us set up for React Server Components. It includes Vite, and it was a fun stream because Ryan knows nothing about Redwood at all. He's not really a GraphQL guy either. So it's a very different framework from all the other kind of frameworks he's had. And this is going to be hopefully the way to do React Server Components with GraphQL. So yeah, I am going to share the link to that talk I posted on my own. Let me... Actually, that's probably fine. Where did I post this?
00:27:23 - Ishan Anand
That...
00:27:25 - Anthony Campolo
Okay. Oh, there we go. I responded to this.
00:27:37 - Ishan Anand
There we go.
00:27:38 - Anthony Campolo
Okay. So yeah. Thoughts?
00:27:43 - Ishan Anand
Yeah. So we should just mention for the audience that Anthony is a core member of the RedwoodJS team and has been for quite a while. So it's really exciting that you guys are adopting React Server Components. I was curious if you could help us understand, or maybe tell the audience, why RedwoodJS is incorporating React Server Components now. Did something change? Were you waiting to see if it was really going to get adoption? Next.js was famously the first out of the gate, and some other frameworks that won't be named, I wouldn't say rejected it, but were taking more of a wait-and-see approach. They weren't sure that was the right way to go. But it seems like the tide is turning and people are definitely getting on board with it. At least the frameworks, I should say, are getting on board with it. Do you want to comment from your perspective, or from the Redwood perspective, as to why now, or what you think, whether it's just Redwood's adoption or all frameworks as a whole toward Server Components?
00:29:00 - Anthony Campolo
Yeah, yeah. Let's say that the biggest thing that changed is people finally cared. I think most of the Redwood team is not really that big into chasing whatever the latest trend or fad is in the front-end world. And in many ways it's a very conservative framework, actually. And so when React Server Components were first announced, there was actually someone on the team who was really, really fired up about it. From the day it was announced, he was very convinced that this was going to be the future. His name was Aldo. He ended up passing away, unfortunately, in 2021 or 2022. And if he had not, I'm not sure how much he would have pushed to get us onto React Server Components sooner, or if it would have made no difference. But I think the main thing that changed is that everyone was talking about it and that Next was doing it. A lot of people see Next as running away with the game when it comes to React frameworks. So yeah, I go to less Redwood events and meetings and things like that than I used to.
00:30:25 - Anthony Campolo
So I wasn't really in the conversations where they decided to finally go with React Server Components. So I'm kind of speculating here, but I would assume that once it became clear that this is the direction Next was going and that this is the direction that most of the React ecosystem was going to go, they were like, well, we're gonna have to do this eventually, so we might as well do it now and then get some sweet publicity around it.
00:30:53 - Ishan Anand
Do you want to also mention for folks that the RedwoodJS conference is coming up?
00:31:15 - Anthony Campolo
Yes, yeah, I will definitely drop a link for that. We have the first ever RedwoodJS conference, which is super exciting. We had a kind of team meetup last year in October. This is the first conference conference. And yeah, if you look at our partners, we have a pretty sweet lineup, and it's going to have talks, it's going to have all the stuff a normal conference has. Let me put it on the Jumbotron. So yeah, people should definitely check it out. I unfortunately am not going to be able to be there because it is during my honeymoon. I'm getting married in a week and a half. So yeah, also I see Sabin is on here, looks like as a speaker. So that's exciting. Yeah, someone in the crowd will be at this conference.
00:32:25 - Ishan Anand
Yeah, I see. I notice he and a few others joined. For those of you who just joined us, we're dealing with some technical difficulties. Anthony, as the host, unfortunately, glitched partway through the stream and he cannot hear me, but he can speak. And so he's logged into his computer, hears it through his computer, and then talks through his phone. So when I ask a question, or if you ask him a question, just expect a little latency for him to respond. I will reiterate, I see a bunch of regulars. Feel free to raise your hand. We'll bring you up to the floor to speak on either anything that was in the newsletter or anything else that you feel is useful or interesting to talk about this week in JavaScript. Is there anything else that you felt was notable from this week's newsletter that you wanted to discuss or call out, Anthony, while we're waiting for other folks to raise their hand?
00:33:43 - Anthony Campolo
Yeah, so Fresh 1.4 was released, and this is not a big, you know, it's not changing anything major about the framework, but it has a number of additions like view transitions, so getting us closer to an SPA-like experience with more of an MPA-focused kind of framework. It adds support for layouts. That's funny, actually. When I was on Ryan's stream we talked about this. He hates layouts and the concept around it. He thinks it's kind of nonsensical. So we had an interesting conversation around that. Then this thing called define helper functions, where you can define a route, a layout, or an app component, and apparently that helps with typing. And there's this idea called route groups for co-locating islands and components together. So this is another framework that is going all in on this islands idea and partial hydration, having places where you need interactivity be very cordoned off from other parts of your app where you don't need interactivity. So yeah, I mean I've been following Deno and Fresh for a while, and I think it's a really interesting framework that's kind of the odd man out in a lot of ways because it's not Node, and all these other frameworks are Node frameworks.
00:35:21 - Anthony Campolo
So I think it's always an interesting one to kind of keep your eye on.
00:35:26 - Ishan Anand
Do you have a sense of how much Deno usage there is that is Fresh versus is not? So are people using Fresh... I assume almost nobody's using Fresh without Deno. Maybe I'm wrong, but I'm wondering how critical to their adoption Fresh plus Deno together is as a holistic stack versus some people are just using Deno by itself with something else versus using Deno with Fresh. How core to its adoption are the two bundled together, in your sense?
00:36:14 - Anthony Campolo
It's hard for me to say without data, and I don't really know many people in general who use Deno or Fresh. I would say if you're using Deno and you're building a full-stack web app, it'd be very silly not to use Fresh. If you're using Fresh, by default you're using Deno. So I know that the Deno team themselves thought that Fresh was going to be very important for the adoption of Deno, but yeah, I'm not really sure. I would guess that it probably has moved the needle in terms of people who wanted to use Deno and kind of needed an excuse to move their company or their team or whatever to it. Having a batteries-included framework similar to what you would get in the Node ecosystem probably would help move the needle in terms of letting people kind of make the case for the framework. But I don't really have a sense whether, like, 10% of Deno users are on Fresh or 90%, you know. Also, Hillary.
00:37:21 - Ishan Anand
Yeah, I think you've kind of answered the question, which is that at least the thesis was that it was going to be important to adoption to not just give people the server-side runtime of Deno, but to also...
00:37:34 - Jenn (Teach Jenn Tech)
I don't know if that was my cue to come up and say hi, but go ahead, Jenn, I'm gonna take it. Or I just now can't hear people. So if I'm talking over others, I'm sorry, but I just came up here to say yay, Anthony's getting married in a week and a half, and to give Anthony a shout-out because JavaScript Jam...
00:37:59 - Ishan Anand
Wow.
00:38:00 - Jenn (Teach Jenn Tech)
I can't even say what you guys do. JavaScript Jam is super dope. And Anthony, I just launched the [unclear] live stream today.
00:38:12 - Ishan Anand
Whoa.
00:38:13 - Anthony Campolo
Yeah, that's awesome. I can hear you. I can hear you, by the way. That's nice. I can talk to a person. Can you hear each other?
00:38:19 - Jenn (Teach Jenn Tech)
Yeah, I can hear you. I can totally hear you.
00:38:22 - Ishan Anand
I don't think you can hear me.
00:38:25 - Jenn (Teach Jenn Tech)
I just wanted to come and say thank you because this journey started a year ago, a little over a year ago, and it's just bananas. And thank you. And y'all should go follow Anthony because he does dope shit. And then also, I know Sabin left Prisma, but Sabin, we used Prisma as part of the live stream today, so I need to learn to unassociate Prisma with you. It might take me a minute, but I was like, oh, Prisma. Then it makes me think of...
00:38:56 - Anthony Campolo
Sabin.
00:38:57 - Jenn (Teach Jenn Tech)
But anyhow, we used Netlify to deploy a Next.js app with Prisma, Postgres, and Redis.
00:39:16 - Ishan Anand
It was fun.
00:39:18 - Anthony Campolo
That's exciting. The live stream, is it going to be on a schedule, or is it going to be just kind of what you feel like? Also, I realize that because I can hear you, maybe if Ishan leaves and comes back, I would be able to hear him. So you should try that, Ishan, and then continue. Jenn.
00:39:37 - Jenn (Teach Jenn Tech)
Yeah, for sure.
00:39:39 - Anthony Campolo
[unclear]
00:39:40 - Jenn (Teach Jenn Tech)
It's going to be biweekly for now. On Wednesdays at 7am Pacific I'll be hosting it, and then eventually it will be every two weeks, two different time zones. So like 7am Pacific one week and then, like, we'll say 7pm Pacific the following week. So we hit multiple time zones. And then I'm still keeping up with Teach Jenn Tech. And once I get unstuck with this API call that Roy's been trying to help me learn and not give me the answer for, I will have my website.
00:40:19 - Anthony Campolo
What API is it?
00:40:22 - Jenn (Teach Jenn Tech)
It's a Strapi API call. It's not the API itself, it's me not knowing API calls very well, I think is how I say it. The query. Because it needs filtering, and every time I look at it, I never have enough time to actually dig into it.
00:40:42 - Anthony Campolo
So are you using it? Like, what are you... How are you hitting the endpoint? Are you using like a React app?
00:40:52 - Jenn (Teach Jenn Tech)
Next.js.
00:40:53 - Ishan Anand
Okay.
00:40:54 - Anthony Campolo
Yeah, yeah. So you just gotta figure out basically how you do it in Next then.
00:40:59 - Jenn (Teach Jenn Tech)
Yeah. I'm not even getting it in Postman to query it, so it's awesome.
00:41:07 - Anthony Campolo
Interesting. Yeah. Usually you hit the endpoint and it gives you the data.
00:41:11 - Jenn (Teach Jenn Tech)
Well, yeah, I can get all the data from there. I just can't filter it with my call when testing it through Postman.
00:41:17 - Anthony Campolo
If you're using GraphQL, you would just give it the query you want. It would give you the exact data there. You don't need to filter.
00:41:25 - Jenn (Teach Jenn Tech)
You know what? I'm going to learn it all. We're going to get there. But I just, yeah, wanted to come say thank you so much for the encouragement. And y'all, it's just bananas to think that a year ago I didn't even know what Twitter was. A little over a year ago, a year and a half ago, so...
00:41:47 - Anthony Campolo
And now Twitter doesn't even exist anymore.
00:41:50 - Jenn (Teach Jenn Tech)
I'm still gonna call it Twitter.
00:41:54 - Anthony Campolo
Well, thank you for the thanks. And I'm very happy to see where you're at and all the success you've had. I figured that this would happen, so I'm glad to see that. You know, when I give people advice, it is actually good advice, because I tell people that you shouldn't listen to advice. Actually, I think most of the advice they get throughout their life is actually bad advice. And knowing how to tell the difference between good advice and bad advice is actually very, very hard to do. So I try very hard to give good advice when I do give advice.
00:42:31 - Jenn (Teach Jenn Tech)
It's. I would say that it's also more than advice. It's also believing in someone and people saying, hey, here's the advice, but do what you want. Because that reminder will allow people to go back to them even if they didn't follow their advice. Because that, I feel like, brings a lot of shame or a lot of distance from when people are like, well, I told you to do this and you didn't do this, so why am I going to help you in the future? Because we all have to make our own mistakes and learn the way we learn. And I appreciate that. At the same time, you did that too, because sometimes you would tell me to do something and I'd be like, no, I'm going to try it this way. And sometimes it worked, sometimes it didn't work, but we got there. And thank you for the freedom and the ability to make my own mistakes. And for context, for those who don't know, Anthony was the second person on my live stream and also was probably the guest that's been on the show the second most.
00:43:41 - Anthony Campolo
I think both Josh and Laura had me beat.
00:43:44 - Jenn (Teach Jenn Tech)
Oh, yeah, yeah, that's true. I always forget about Laura's because we stopped doing it for so long. But Josh has been on the show quite a bit and is still on the show.
00:43:57 - Anthony Campolo
Yeah. Learning TypeScript is more useful than learning Python, which is a lot because I usually tell people not to learn TypeScript.
00:44:05 - Jenn (Teach Jenn Tech)
Yeah. I'm giving my first talk, a tech talk, at TypeScript Congress, about lessons learned learning live.
00:44:17 - Anthony Campolo
Oh, that's awesome. That's going to be a really good one because TypeScript is so hard to learn. It is very, very challenging. So you'll have a lot of good perspective on that.
00:44:28 - Jenn (Teach Jenn Tech)
Yeah. So thank you, Anthony.
00:44:32 - Anthony Campolo
Ishan, can you try speaking? Can I hear you?
00:44:36 - Ishan Anand
Can you hear me?
00:44:37 - Anthony Campolo
I can hear you. Yes. Okay, so that's the trick. Even though the host can never leave, if everyone else leaves and comes back, it fixes the host connection. So now we know there's...
00:44:47 - Ishan Anand
One of my favorite computer science jokes is basically, you know, a computer scientist, an electrical engineer, and a mechanical engineer are in a car and it stops working. And the mechanical engineer says, it's the engine. Can't fix it. The electrical engineer says, spark plugs. Can't fix it. And they look at the computer scientist, and he says, I don't know, but if we all get out of the car and get back in again, maybe it'll start working.
00:45:13 - Anthony Campolo
I've never heard that one before. That's a great joke.
00:45:15 - Ishan Anand
Yeah. So, I mean, that's basically what we need to do. The car is the Twitter Space. Well, this is great.
00:45:34 - Anthony Campolo
Someone joined. John and Digit, hello? Can you hear us? Can I hear you? Also, you seemed like you kind of cut out there for a second, Ishan. I'm not sure if you're still talking.
00:45:51 - Jenn (Teach Jenn Tech)
Yeah, I was like, where'd he go? He disappeared.
00:45:58 - Ishan Anand
Yeah, I thought it was me. He cut out too, for me.
00:46:03 - Anthony Campolo
I think I can't hear Jason anymore.
00:46:06 - Jenn (Teach Jenn Tech)
I can hear Jason. Hi, Jason.
00:46:11 - Anthony Campolo
Jason, come back because I can't hear you right now. Was John speaking?
00:46:16 - Ishan Anand
I'll drop out and see what happens.
00:46:20 - Jenn (Teach Jenn Tech)
Hey, John, welcome to the stage. Can you hear us? Can you give us a thumbs up or something, letting us know you can hear us?
00:46:30 - Anthony Campolo
I also got Carol up here. All right, do either of the guests or the people who just came up have anything to say, slash can I hear them? Let's see. Carol, can you try speaking?
00:46:53 - Carol
Hi.
00:46:53 - Anthony Campolo
Hi.
00:46:54 - Carol
Hello.
00:46:56 - Anthony Campolo
Hey, what's up, man? You want to introduce yourself to the audience?
00:47:01 - Carol
Yeah, I'm an operations analyst and I'm learning software development. Actually, I do some development at work, but I have a question. I've noticed that you all are experienced guys talking about tools that I don't even know about or haven't had the time yet to learn. Did you ever try to build your own application, your own idea? And probably you did, but when you're doing it, are you using a lot of the ready tools, for example? Because I'm thinking about creating something that will automate some tasks, and I know that I could build my own with Python or JavaScript as well. But my question is, do you use things like Zapier, HubSpot, and other ready products and integrate them with your apps, or are you building from scratch?
00:48:08 - Anthony Campolo
Yeah, that's a good question. And obviously it's always going to depend on a lot of different things. I would say the thing that is most important to balance, in my opinion, when it comes to things like this, especially when you're building something yourself, is the trade-off of time versus cost, along with maintainability. So if you're trying to do something that you could do on Zapier, if you just log in and click a button and that is done, and then it's always going to work exactly the same way, there's always going to be this company that's going to do it, then that could be worth it. If building it yourself might take a while or may involve having to maintain this code in the future, and then if there is a service that does it but say it's like $100 a month and you're like, well, I can code this myself in a couple of days and then I don't have to pay this large monthly charge, then that could be a really good idea. So I would say if you're trying to actually build an app that does a thing, then you have a goal, you know what you're trying to build, you know what it needs to do, and you want to do it as quickly and as cheaply as possible.
00:49:29 - Anthony Campolo
So that is kind of what I would say can guide you in that direction: the trade-off of time, cost, and maintainability. Also, what's up, Sabin?
00:49:39 - Sabin Adams
What's up? I have a pretty strong opinion on this actually. And that is that there seems to be, in the community in general, a lot of fear about using these ready-to-go services, SaaS products out there, because they're kind of a black box. You don't know what they're doing under the hood. You don't know if they're as performant as they could be, stuff like that. There's just a million things to consider. But I mean, over the years working at a bunch of companies big and small, I found that these products are perfectly fine to use. For example, the new company I'm working at right now, Shopmonkey, they have tons of customers. They handle billions of dollars a year in transactions, and they're using Zapier. They're using even small products, newer products and SaaS like that.
00:50:31 - Anthony Campolo
Yeah. For companies, they are very comfortable not coding things themselves.
00:50:36 - Sabin Adams
Right? Yeah. And it goes down to what you said. Is it worth the time to build it on your own, and are you going to do it right? If there's any doubt on either of those things, reach for the product that you don't have to build on your own. Let someone else handle it so you can focus on your core business needs. And then if things are successful and your product starts to take off, that's when you might consider, okay, maybe we could build a custom version of this that fits exactly our needs. But until you reach that point, I don't think it's very necessary at all to reinvent a wheel.
00:51:10 - Carol
Great, guys, thanks. Thanks for the answers. You basically were answering what I was thinking about, but I wanted to have experienced people's opinion, so thanks for that.
00:51:22 - Anthony Campolo
Yeah, for sure. It's always good to get a gut check on those type of things. John, did you have something you wanted to add? Not sure if they have access to their mic or whatnot. So, Sabin, you're at a new company now. How'd that happen?
00:51:48 - Sabin Adams
Yeah, I was just looking to get back into full-time, full-stack development. It's where my passion is. I really enjoyed developer advocacy and I still plan on doing all that kind of stuff sort of on my own, but I missed the day to day of just working on a team, working on a product on the engineering side of things. So that's where I went back.
00:52:13 - Anthony Campolo
That's cool. Yeah, I mean I definitely always saw you as like a DevRel kind of person, but I know you and I have talked before and I think you had told me that you were doing more kind of straight engineering beforehand.
00:52:29 - Sabin Adams
Yeah, yeah, I've been working in engineering.
00:52:50 - Ishan Anand
[unclear]
00:53:28 - Anthony Campolo
I lost all my sound. I can't hear anybody. People are dropping off and joining. I have no idea what's happening right now.
00:53:36 - Sabin Adams
I couldn't hear anyone as well.
00:53:40 - Anthony Campolo
There we go. Now I can hear you guys.
00:53:42 - Ishan Anand
Yeah, I think I consistently will get audio back and then I'll be unable to hear people or people will be unable to hear me. I think we've had, like, I don't know, one incident every 10 minutes. I'm ready to call it a day for today. Something with Spaces is particularly ineffective today.
00:54:07 - Anthony Campolo
Yeah, I think I agree. Yeah, I had to drop and rejoin because I lost audio.
00:54:16 - Ishan Anand
Yeah, yeah.
00:54:17 - Anthony Campolo
Then here we go. Sabin's coming back. Now we're all getting...
00:54:20 - Ishan Anand
out of the car and getting back in again, but, like,
00:54:25 - Anthony Campolo
Eventually the driver is gonna get out and the car...
00:54:27 - Ishan Anand
is gonna keep going, keep rolling down the hill. But let's see if we get him back and then I think we should maybe wrap it up before it... Yeah.
00:54:42 - Anthony Campolo
Sabin, can you hear us?
00:54:43 - Sabin Adams
Yeah, now I can.
00:54:45 - Anthony Campolo
All right, cool. Yeah, you were talking about doing engineering before Devrel. That was last I heard.
00:54:54 - Sabin Adams
I think that was pretty much where I left off, unless I cut off mid sentence.
00:54:59 - Anthony Campolo
Okay, cool. Oh, I did have a question. So if you do DevRel in your own time for your own kind of interests, what would that look like? I'm sure you don't have a super fleshed-out plan yet, but what's your kind of gut in terms of, would you focus on just streaming and bring on guests? Would you write? Would you build stuff? Do you have an idea of, if you could just do DevRel however you wanted, and not have the company dictating your kind of goals, what do you think you would do?
00:55:30 - Sabin Adams
Yeah, I think probably mostly writing. That's what I enjoy doing the most. Also, just, I mean, the number one thing about being in DevRel is just being in tune with the community, which I think a lot of people in the community take for granted. The majority of the people actually in the workforce working have no clue that there's such a healthy, thriving community, especially on Twitter, X, whatever you want to call it. So just making sure to stay involved here and continue to grow sort of my roots, that's what I'll be focusing on.
00:56:03 - Anthony Campolo
That's awesome. Such a good answer and very Sabin. You are someone who I think of as being very present in the community, and I like that you say how a lot of people don't really appreciate how many people are out here talking about tech every single day and are very, very engaged. So that's awesome. That's very cool. Yeah, great. I think we could close it out here. I'm very done with this Space. You want to lead us out, Ishan?
00:56:36 - Ishan Anand
Yeah. So, well, thank you everybody who stuck with us through all the technical difficulties we had here on Twitter Spaces, or should I say X Spaces. Sometimes that happens. Today was probably pretty notable. Usually we don't usually have one or two. But thank you for sticking with us. If you got any value out of any of our speakers today, click on their face and follow them. I'd encourage you as well to tune into a future or even past episode of JavaScript Jam. Just go to the website. You can see some of our other episodes in the past. Usually we don't have as many of these, and the discussion gets to flow a little more naturally than we had to deal with today. But either way, go to the website javascriptjam.com and subscribe and you'll get the newsletter, which is a great way to keep up to date on everything that's happened in web dev and JavaScript land. With that, we look forward to talking with you guys all next week, hopefully in a glitch-free Twitter Space, 12pm on Wednesdays Pacific Standard Time. With that, thank you everybody, and we'll see you next week.
00:57:53 - Anthony Campolo
Thanks everyone. Have a good one. We'll catch you next time.