Svelte Radio

Kevin Åberg Kultalahti

Things about Svelte. Sometimes weekly, sometimes not.

  1. FEB 10

    How did Svelte do in the State of JavaScript 2025?!

    Kev and Jeppe, discuss the cold weather in Denmark and Sweden compared to Hawaii. They highlight that "Svelte Radio" has ranked number 13 (effectively number 12) in the podcast section of the State of JS 2025 survey, placing them among the "mainstream" podcasts and slightly increasing the pressure to produce relevant content. State of JS: FrameworksThe hosts analyze the survey results for JavaScript frameworks: Svelte: Usage increased slightly to 27% (up from 26%). It maintains the highest interest rating for the sixth consecutive year, though interest is slightly declining—a trend seen across most frameworks. Satisfaction remains high at number two (86%), just behind Solid.React: Continues to dominate with 70 million weekly downloads, but interest and satisfaction are declining. The hosts discuss the complexity of React Server Components (RSC) and the risks of framework developers losing touch with practical usage ("dogfooding").Solid: Rising in interest and taking the number one spot for satisfaction.HTMX: Saw a significant drop in interest, described as a "meme" that has cooled down.Web Components: Chatter is growing (e.g., Lit), but usage remains relatively low compared to the push from DevRel teams.State of JS: Meta-Frameworks Next.js: Leads usage significantly at 59% but has low satisfaction, barely beating out Gatsby.Astro: Growing rapidly (27% usage) and ranked number one in satisfaction. Its strength lies in supporting multiple frameworks (React, Vue, Svelte).SvelteKit: Ranked number two in satisfaction. Interest is declining, likely due to the framework maturing.TanStack Start: Noted as a popular write-in option and a strong new alternative to Next.js.Analog: Mentioned as an Angular meta-framework powered by Vite.Libraries & Developer Tools The hosts discuss various libraries and tools featured in the survey:Validation: Zod is the most used, but Valibot is recommended as a smaller, tree-shakable alternative. Both libraries support the new "Standard Schema" initiative.Linting: Oxlint is highlighted as a much faster, Rust-based alternative to ESLint.Package Management: The tool ni is recommended for running package manager commands (install, run scripts) agnostically without needing to remember if a project uses npm, yarn, or pnpm.Date Libraries: Day.js, date-fns, and Luxon remain popular. The hosts anticipate the upcoming JavaScript Temporal API may eventually replace these.jQuery: A new version was released that drops Internet Explorer 11 support and migrates to ES modules.Picks & Actionable ItemsThe hosts conclude with their picks for the week: Kev's Pick: The TV show "A Knight of the Seven Kingdoms" (Game of Thrones universe).Jeppes's Pick: npmx.dev, a modern, interactive interface for the NPM registry that includes vulnerability alerts and dependency graphs.Actionable Items: Try ni: Use the ni CLI tool to handle package manager commands automatically across different projects.Contribute to npmx.dev: The project is looking for contributors. It is described as a friendly community for those wanting to get into open source.Avoid AI Spam PRs: If contributing to npmx.dev or other projects, ensure contributions are genuine and not low-effort, AI-generated pull requests.

    53 min
  2. 12/11/2025

    Custom Renderers for Svelte with Paolo Ricciuti

    In this episode of Svelte Radio, we welcome Jeppe as a new permanent host and sit down with Paolo Ricciuti, Svelte maintainer and Senior Software Developer at Mainmatter, to dive deep into Svelte custom renderers. Paolo walks us through how custom renderers work (using React's approach with React DOM, Ink, and React Native as context), explains the technical challenges of bringing this capability to Svelte 5—including the template element trick, CSP issues, and runtime modifications—and shares his proof-of-concept work enabling Svelte to render to non-DOM targets like terminals and native mobile apps via Lynx.js. The discussion touches on potential use cases like Threlte for 3D graphics, the importance of this feature for Svelte adoption, and wraps up with picks including Screen Studio, TMCP, and Advent of Svelte. Guest Paolo Ricciuti — Svelte maintainer and ambassador, Senior Software Developer at MainmatterNew Host Jeppe joins as a permanent co-host!Topics Discussed Custom Renderers Overview Svelte Custom Renderers websiteWhat custom renderers are and why they matterHow React separates React (the diffing library) from React DOM (the renderer)Examples of React custom renderers: Ink — React for terminal/CLI applicationsReact Native — React for iOS/Android native appsRemotion — React for programmatic video creationReact PDF renderer for generating documentsSvelte's Technical Approach How Svelte 5 uses the element and innerHTML for fast renderingThe CSP (Content Security Policy) challenges with innerHTMLPaolo's compiler option contribution to enable programmatic element creationThe custom renderer API: defining operations like createElement, setText, setAttribute, appendChild, etc.Separating the Svelte runtime from DOM-specific codeLynx.js Integration Lynx.js — ByteDance's cross-platform framework (powers parts of TikTok)Why Lynx was the catalyst for custom renderer workCSS support in Lynx including Flexbox, Grid, and even TailwindThe difference between Lynx's element approach vs React Native's component importsRelated Projects & Discussions Threlte — Three.js for Svelte (created by Grisha)React Three Fiber — Three.js React rendererSvelte Native — Existing (but limited) Svelte native solutionLiveView Native (Elixir/Phoenix) as a comparison for multi-target templatingDiscussion with Grisha about mixing renderers in the same componentFunding & Open Source Mainmatter's sponsorship of Paolo's custom renderer workFirst external sponsor for this initiativeDiscussion about using Svelte Open Collective funds for this featureWhy custom renderers matter for Svelte adoption in enterprisePaolo's Recent Contributions to Svelte onChange callback for $state (PR in progress)from action utilityCSP-friendly compiler option (foundational for custom renderers)Picks Screen Studio — screen.studio — Mac screen recording app with automatic zoom animations (Kevin's pick, used for Advent of Svelte recordings)TMCP — github.com/paoloricciuti/tmcp — Paolo's TypeScript MCP (Model Context Protocol) framework, praised for being much better than the official SDK (Jeppe's pick)Advent of Svelte — svelte.dev/blog/advent-of-svelte — 24 days of Svelte features and improvements (Brittany's pick)Links SvelteSvelteKitMainmatter — Paolo's employer, specializing in Svelte and Rust consultingInk (React CLI)React NativeRemotionLynx.jsThrelteReact Three FiberScreen StudioTMCPAdvent of SvelteFollow Paolo Ricciuti: GitHub | BlueskySvelte Radio: svelteradio.com

    1h 1m
  3. 12/06/2025

    One Man Svelte for NGOs with Ilja

    GuestIlja - Berlin-based developer specializing in building websites and data visualizations for NGOs. Svelte Ambassador. Topics Discussed Working with NGOs vs. traditional businessesBudget constraints and project-based fundingThe AfroZensus projectSvelte 5 migrationBerlin Svelte Meetup announcementBerlin Svelte Meetup Date: December 9th (Tuesday)Venue: Datawrapper's office in BerlinTalks: Peter from XYFlow presenting SvelteFlow, plus moreRegistration: https://svelte-berlin.de/Links Mentioned Tools & Libraries svelte-render-scan (Visual debugging tool by Stanislav Khromov): https://github.com/khromov/svelte-render-scansvelte-inspect-value (Value inspector component): https://github.com/ampled/svelte-inspect-valueSvelteFlow (Node-based UI library): https://svelteflow.dev/Friendly Captcha (GDPR-compliant captcha): https://friendlycaptcha.com/SparklePost (Native-feeling PWA demo): https://sparklepost.vercel.app/@component documentation: https://svelte.dev/docs/svelte/basic-markupCompanies & Organizations Datawrapper: https://www.datawrapper.de/GitButler: https://gitbutler.com/XYFlow: https://xyflow.com/Projects Academic Freedom Index: https://academic-freedom-index.net/AfroZensus: https://afrozensus.de/AfroZensus Dashboard: https://data.afrozensus.de/Courses Practical Accessibility by Sara Soueidan: https://practical-accessibility.today/Unpopular Opinions Kevin: More people should self-hostBrittney: Lost free Copilot accessAntony: Store states, not effectsIlya: JSDoc is superior to TypeScriptPicks Kevin: SparklePost, "You can just do things", The Hierarchy book series by James IslingtonBrittney: @component documentationAntony: Friendly CaptchaIlya: svelte-render-scan, svelte-inspect-value, Practical Accessibility course

    1h 14m
4.9
out of 5
16 Ratings

About

Things about Svelte. Sometimes weekly, sometimes not.

You Might Also Like