<![CDATA[JavaScript Jam]]>http://www.javascriptjam.com/http://www.javascriptjam.com/favicon.pngJavaScript Jamhttp://www.javascriptjam.com/Ghost 5.79Mon, 26 Feb 2024 07:45:14 GMT60<![CDATA[Million v3]]>http://www.javascriptjam.com/february-14-2024/65c705a38571100001d6def3Wed, 14 Feb 2024 15:00:43 GMTJSJam Live, Wednesday at 12pm PTMillion v3

Join us today at 12pm PT for another open mic episode of Javascript Jam Live. Last time on JavaScript Jam Live, we were joined by Nick Taylor and Bekah HW from Open Sauced to discuss getting into open source and being respectful of open source maintainers.

Story of the Week

Million v3

Million v3, developed by Aiden Bai and team, introduces several updates aimed at improving React application development efficiency and performance. Installing Million v3 in projects using React or frameworks like Next, Astro, Vite, Remix, or Gatsby can be done with npx million@latest.

The update from version 2.x.x to 3.x.x is designed to require no changes to existing code. The release of Million v3 is part of ongoing efforts to address web application performance issues. Key features of Million v3 include:

  • Hydration and Performance Improvements: Million v3 introduces a new hydration system that targets dynamic nodes, reducing time complexity from O(n) to O(d), where d represents the number of dynamic nodes. This change is intended to improve the speed of initial page loads and interaction responsiveness in complex applications.
  • Compiler Rewrite: The compiler in Million v3 has been completely rewritten to address stability and reliability. The update includes improved TypeScript support, better handling of multiple return statements, conditional logic, and nested React components. Future updates are expected to further enhance the compiler's performance.
  • Internationalization (i18n): The documentation and website for Million now support multiple languages, including Spanish and French, with ongoing efforts to add Chinese. This is part of an effort to make Million more accessible to a wider audience.
  • Million Wrapped: A new feature introduced with v3, though details are limited, aims to provide developers with a tool to showcase performance improvements in their applications.

The team behind Million is seeking to expand, inviting applications from frontend developers and engineers with experience in dev tools and machine learning, based in the Bay Area. The Million project encourages feedback and participation from the development community. Developers are invited to share their experiences, join discussions on Discord, and contribute to the project on GitHub.

In summary, Million v3 offers updates focused on improving performance and developer experience in React application development. The introduction of a new hydration system, a rewritten compiler, expanded internationalization, and the preliminary launch of Million Wrapped are central to this release.

New Podcasts

One More Thing

Theo gives his thoughts on LLRT, the new JavaScript runtime from AWS.

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[The AHA Stack]]>http://www.javascriptjam.com/january-31-2024/65b9f281cac23400011eebdfWed, 31 Jan 2024 14:00:22 GMTJSJam Live, Wednesday at 12pm PTThe AHA Stack

Join us today at 12pm PT for another episode of Javascript Jam Live. This week we'll be joined by the Open Sauced team including Nicky T from New Jersey, Canada.

Last time on JavaScript Jam Live, we were joined by Ishan Anand, Rishi Raj Jain, and Bro Nifty to discuss the JavaScript news of the week.

Story of the Week

The AHA Stack

In the ever-evolving landscape of web development a new player has emerged, dubbed the "AHA Stack," this approach combines Astro, htmx, and Alpine.js to offer a streamlined and efficient way to develop web apps. The philosophy of the AHA Stack is to simplify web development by sending HTML over the wire instead of relying on heavy JavaScript SPAs.

It embraces the foundational technologies of the web (HTTP, HTML, CSS, JavaScript) along with other web standards to build upon them without overcomplicating the process. For frontend developers familiar with React/JSX, the AHA Stack offers a similar DX but with a reduction in complexity.

The stack shifts the focus towards generating HTML on the server side and minimizes the reliance on client-side JavaScript. This approach not only simplifies the development process but also enhances performance by reducing the load on the client side. The approach is declarative, favoring minimal JavaScript usage.

It emphasizes using HTML for UI updates and employs HTML partials to refresh specific parts of the page without needing a full page reload. It represents a shift back to the basics of web development, leveraging the server's power to handle most of the heavy lifting. The stack allows developers to build multi-page applications (MPAs) efficiently, with the server responsible for rendering HTML pages.

This contrasts starkly with traditional SPAs, where JavaScript frameworks dictate the page content. By incorporating "JavaScript sprinkles of interactivity," the AHA Stack aligns with the original purpose of JavaScript. By adding interactivity to web pages without being the core driver of content and structure, the stack is a call to embrace the foundational technologies of the web and use them to our advantage.

New Podcasts

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Moving Beyond the Website vs. Web App Dichotomy]]>http://www.javascriptjam.com/january-17-2023/65a7fbdb7704160001f91307Wed, 17 Jan 2024 16:57:11 GMTJSJam Live, Wednesday at 12pm PTMoving Beyond the Website vs. Web App Dichotomy

Join us today at 12pm PT for another open mic episode of Javascript Jam Live. Last time on JavaScript Jam Live, we were joined by Tobiloba, Fuzzy Bear, and Dan Shappir to discuss our predictions for JavaScript in 2024.

Story of the Week

Does the Website vs. Web App Dichotomy Exist?

The web site versus web app dichotomy has been debated to death and many wish for the distinction to be abandoned entirely. Jake Lazaroff brings a fresh perspective to the topic and offers a new way to think about the landscape of web experiences. He emphasizes a spectrum that exists between two categories: online versus offline and static versus dynamic.

These spectrums are used to determine the appropriate technologies for building a web project. The article argues against a binary categorization of websites or web apps and proposes a more nuanced approach with four quadrants containing distinct characteristics and technological needs: informational, transactional, realtime, and local websites.

  • Informational Websites: These are static and can function offline, primarily containing text and images with limited user interaction. They are often built using HTML and CSS, with JavaScript used sparingly for enhancements. However, these websites are not commonly designed for offline use, despite their potential for it.
  • Transactional Websites: These websites are static but require an online connection. They involve interactions that are essentially transactions with a server, leading to state changes and page updates. Recent trends in this quadrant include blending client-side and server-side code and a resurgence of using HTML as a hypermedia for interactions.
  • Realtime Websites: Occupying the dynamic and online quadrant, these websites need fast, fine-grained updates beyond what standard HTTP requests provide. Examples include online communication platforms and multiplayer games. These websites heavily rely on technologies like websockets and WebRTC and necessitate client-side JavaScript for their functionality.
  • Local Websites: These are dynamic and function offline, resembling traditional desktop apps but based on web technologies. They are often single-page apps with no need for a web server post-initial load. Examples include apps like Wordle and Photopea. Local websites are related to progressive web apps but have seen limited adoption compared to other categories.
Moving Beyond the Website vs. Web App Dichotomy

The article also discusses the role of JavaScript frameworks in web development, noting their use in creating dynamic aspects of websites. However, there is a growing trend towards more declarative ways to achieve dynamism. Approaches using HTML, CSS, web components, and technologies like HTMX allow for dynamic interactions without fully relying on JavaScript frameworks.

Finally, the article touches on the empowerment and convenience local-first software and asynchronous apps offer. It concludes by expressing hope for the future of web development: better declarative methods for dynamic interactions, more local-first software for real data ownership, and judicious use of JavaScript plus better implementation of service workers for offline use.

New Podcasts

One More Thing

HTMX continues to be having a moment and the video HTMX For React Developers in 10 Minutes by Jack Herrington makes the case for HTMX being a lighter weight alternative to React that makes building simple interactive applications a whole lot easier.

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[JavaScript Jam Live is Back!]]>Join us for another open mic today at 12:00pm PT to discuss our predictions for 2023 and make new ones for 2024.

We’d love to see you there!

]]>
http://www.javascriptjam.com/january-3-2024/6595b1927704160001f91106Wed, 03 Jan 2024 20:00:54 GMTJoin us for another open mic today at 12:00pm PT to discuss our predictions for 2023 and make new ones for 2024.

We’d love to see you there!

]]>
<![CDATA[JSJam Christmas Vacation]]>http://www.javascriptjam.com/december-06-2023/655eaee8c82f620001440ae4Wed, 06 Dec 2023 20:09:19 GMTJSJam Live Returns January 3rdJSJam Christmas Vacation

As 2023 draws to a close, we find ourselves reflecting on how grateful we are for those who joined us and contributed to our discussions this year. In the spirit of the holiday season, and to give our team some well-deserved rest, we'll be taking a break from JSJam Live in December.

JSJam Live will return on Wednesday, January 3rd at our normal time, 12:00 pm PT. We encourage everyone to use this time to unplug and enjoy the company of loved ones. We're excited to continue exploring the world of JavaScript with you and look forward to bringing you even more engaging and valuable content in 2024!

Podcasts

One More Thing

If you need more content while we're away you can checkout some of our favorite 2023 episodes from the JSJam Video backlog including:

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Vite 5.0 Deprecates CJS and Announces Rolldown]]>http://www.javascriptjam.com/november-22-2023/6541523afea6420001e328c7Wed, 22 Nov 2023 15:00:45 GMTJSJam Live, Wednesday at 12pm PT
  • Next week on JSJam Live, we'll be having another open mic discussing the JavaScript news on the week. In addition to JS news, we'll likely spend a bit of time explaining the still ongoing historic meltdown at OpenAI.
  • Last time on JSJam Live, Dev Agrawal and Rishi Raj Jain joined us to give a debrief on all the news announced during Next.js Conf. The conversation included a deep dive on the new experimental Partial Prerendering feature.

Story of the Week - Vite 5.0 Release

Vite 5.0 Deprecates CJS and Announces Rolldown
Vite 5.0 Deprecates CJS and Announces Rolldown

Vite, the popular JavaScript build tool and development server for web applications recently released their 5th major version a year after the release Vite 4.

The project has been seeing increasingly more npm downloads and overall growth in the ecosystem. The list of frameworks that have adopted Vite now includes Astro, Nuxt, SvelteKit, Solid Start, Qwik City, RedwoodJS, and Remix.

Rolldown Ports Rollup to Rust

Evan You's presentation at ViteConf introduced the long-term plan to work on Rolldown, a Rust-port of Rollup with compatible APIs. This initiative aims to enhance build performance and reduce inconsistencies between development and production environments. Rolldown is currently in the early stages of development, with plans to open source the codebase.

Migration Guide

Some of the key changes in Vite 5 that are highlighted in the Migration Guide include:

  • Node.js Support: Vite 5 drops support for Node.js versions below 18, requiring Node.js 18 or higher.
  • Performance: Vite 5 brings build performance improvements through the upgrade to Rollup 4. There is also a new server.warmup option to improve dev server startup time by pre-transforming commonly used modules.
  • Migration: Most projects should have a smooth migration path to Vite 5. But the article advises reviewing the migration guide as there are some breaking changes like the removal of deprecated APIs.
  • Rollup 4 Upgrade: The upgrade brings breaking changes from Rollup 4 itself like import assertions rename and removal of support for Acorn plugins.
  • Deprecation of CJS Node API: The CommonJS API to import Vite is now deprecated in favor of ESM syntax. Projects will have to update to use ESM imports.

Join the Vite Community

In the release announcement, users are encouraged to get involved in the Vite community, contribute to the project, and provides resources for contributing, such as:

Podcasts of the Week

One More Thing

Dylan Pierce from Pipedream (who previously dropped in as a guest on JSJam Live) joined the show to explain how to use Pipedream's AI plugin to scrape and analyze web data:

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Docusaurus 3.0]]>http://www.javascriptjam.com/october-31-2023/65400b62fea6420001e327caTue, 31 Oct 2023 19:23:37 GMTJSJam Live, Wednesday at 12pm PTDocusaurus 3.0

This week, we'll be discussing the recent Next.js Conf and talking with attendees and speakers from the event. You can also listen to the previous episode of JSJam Live on X/Twitter.

Story of the Week

Docusaurus 3.0

Meta Open Source has unveiled Docusaurus 3.0, a new major release that streamlines the creation of premier documentation websites. One of the most salient features of this release is its array of new capabilities and dependency updates. Sites of a simpler nature may only require updates to a handful of dependencies, but there are some breaking changes to take note of. See the v3 upgrade guide for users for a comprehensive list of breaking changes.

The transitions from Node.js v16 to v18, React v17 to v18, and MDX v1 to v3 all emerge as central challenges for those looking to adopt Docusaurus v3. The good news is that the majority of breaking changes arise from updates addressed internally. However, users with complex sites should consider the official recommendations in the upgrade guide such as visual regression tests.

React 18's inclusion in Docusaurus 3.0 paves the way for a phased adoption of capabilities such as build-time React Server Components. The platform has also broadened its horizons by extending support to ES Modules, TypeScript configuration files, and TypeScript 5.0. Users can also anticipate a more enriched visual experience, thanks to the enhancements in code block syntax highlighting.

A slew of other enhancements pepper this release including the ability to render a new spectrum of diagram types with Mermaid v10, the addition of normalized SEO front matter support, the integration of query-string data attributes, and the roll-out of various new ESLint rules. With the core infrastructure updated, the Docusaurus team is gearing up to release even more user-centric documentation features in the upcoming minor versions.

Podcasts of the Week

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Node and V8 on the JVM with Javet]]>http://www.javascriptjam.com/october-24-2023/65383858ca48ea0001a800c8Tue, 24 Oct 2023 22:14:16 GMTNo JSJam Live This WeekNode and V8 on the JVM with Javet

We'll be scaling back our weekly Twitter Spaces to twice a month for the foreseeable future so there will not be any JS Jam Live this week. However, you can listen to last week's conversation with Rishi Raj Jain, Bronifty, Sabin Adams, and Tobiloba right here.

Story of the Week

Embed Node and V8 into the JVM with Javet

Java always claimed that with the JVM you could, "write once, run anywhere." This was a dubious proposition for most of its lifetime. But now that the JVM officially supports Node and V8, this vision is finally a reality! That's right, your JavaScript code can now run in a JVM!

Who knows, it might even run on a JVM Lambda Handler! You'll need to account for the 15 second cold start but this incredible milestone ensures that no developer with ever again be tasked with the unreasonable and cruel assignment of having to write Java code.

Podcasts of the Week

One More Thing

If you're like me and have heard of React Forget but mostly just smile and nod whenever it's brought up, this video will give you a good overview of what it means for the future of React.

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[SolidJS 1.8 - Bifröst]]>http://www.javascriptjam.com/october-17-2023/652f108a7fe97a0001ba0bf2Tue, 17 Oct 2023 23:32:36 GMTJSJam Live, Wednesday at 12pm PTSolidJS 1.8 - Bifröst

This week on JavaScript Jam Live is another open mic, join us to discuss the JavaScript news of the week. Last week we were joined by Todd Libby to discuss his upcoming talk about deceptive patterns and FAST.

Stories of the Week

SolidJS 1.8 - Bifröst

The latest release from SolidJS emphasizes strengthening foundational elements rather than introducing new features. As the transition from SolidJS 1.x to 2.0 is underway, the team has unveiled their new reactive experiments under @solidjs/signals. This update targets advancing projects like SolidStart by refining core components, notably Async and Resources.

  • Serialization, bridging server-client interactions, received significant attention.
    • Insights from Google Chrome Aurora-backed benchmarks have informed these changes, with a shift towards a more flexible and generic serialization approach, largely credited to @lxsmnsyc.
    • This new approach offers deeper de-duplication of serialized data, benefiting features like Islands and recursive structures.
  • Hydration enhancements in Solid 1.8 focus on resolving historical issues, such as element duplication.
    • The update ensures the DOM's consistency during hydration, even amidst streaming interruptions.
    • Additionally, performance optimizations minimize redundant attribute or prop settings during hydration.
  • On the template front, SolidJS continues its trajectory of compactness initiated in 1.7.
    • The 1.8 release, with contributions from @intrnl, removes unnecessary quotes, leading to more concise templates.

In essence, while this release may not boast a plethora of new features, it fortifies the foundational structure of SolidJS, promising improved efficiency and performance for future iterations.

Podcasts of the Week

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Interop 2024]]>JSJam Live, Wednesday at 12pm PT

On this week's JavaScript Jam Live, we'll have MagnoliaJS conference speaker Todd Libby to discuss the conference and his upcoming talk. Join us tomorrow at the usual time and place on Twitter (ahem X) Spaces.

Last week we had an

]]>
http://www.javascriptjam.com/october-10-2023/650ddad9085cae00013f8861Wed, 11 Oct 2023 02:52:43 GMTJSJam Live, Wednesday at 12pm PTInterop 2024

On this week's JavaScript Jam Live, we'll have MagnoliaJS conference speaker Todd Libby to discuss the conference and his upcoming talk. Join us tomorrow at the usual time and place on Twitter (ahem X) Spaces.

Last week we had an informative conversation about the current hiring market for Devs, accessibility, and the joys of home-baked apps with Kayla Sween, Blake Watson, and Taylor Desseyn from MagnoliaJS. You can listen to it here.

Story of the Week

If you like laws and web standards you should watch them being made

Last week, an important but underreported clarion call went out to the web community for participation in Interop 2024. No, it's not the latest developer survey nor a hot new conference. It's a joint project between Apple, Bocoup, Google, Igalia, Microsoft, and Mozilla to ensure interoperability between browsers.

Ironically, it's only when a browser implements something new (and by definition) non-standard, that it tends to make headlines. So it's extremely easy to take the standards work of the Interop group for granted. You might think that once something is a "standard" everyone just follows it. But like laws, web standards are words on a piece of paper unless we give them teeth through action. In the case of Interop, that action is a series of automated tests to ensure the implementation of these standards behaves uniformly across different browsers. By moving beyond the basic "can-i-use" Feature X in Browser Y checkbox, the Interop group assures that when developers deploy Feature X in a browser, they're spared from confronting unpredictable variations or unexpected edge cases.

For those of us old enough to remember, the rise of jQuery and similar libraries of that era was partly to spare us from these differences. As browsers continue to advance and add new features, differences in implementation continue to pop up without the checks and balances of the Interop project. To illustrate both the problem and the progress, in the past nine months, the number of passing Interop 2023 tests has gone from 48% to 75% in all major browsers (with experimental versions passing 87% of the tests).

Interop 2024

You can review the proposed focus areas for Interop 2024 in Github. Note that this isn't the right forum to propose a brand new Browser feature but rather if you have a thorny issue with a defined web standard not behaving properly across browsers.

  • Sneak Peak at State of the HTML Survey Results - We've covered this survey in past issues, but buried in the Interop discussions was a sneak peek at the early results of the State of the HTML survey. It's very raw and this is the kind of usage data that either makes your eyes glaze over or your mouth drool. Or maybe both.
  • Next.js 13 vs Remix: An In-depth case study - An extensive comparison of Remix vs Next.js covering routing, mutations, data fetching, and more. If you haven't made up your mind between these two frameworks (and maybe if you already have) it's worth a read.
  • The Angular Renaissance: Why Frontend Devs Should Revisit It - Speaking of giving frameworks a second chance, developer advocate Alyssa Nicoll argues that Angular is having a renaissance and web devs should give it another look.
  • Astro 3.2 - The latest version of Astro rolled out last week with improvements for View Transitions. View Transitions gives you the flashy interactivity of a single-page app but the development simplicity of a multi-page app. If you haven't explored it, a nice tutorial is here.

One More Thing

Last week we released our interview with Matija Sosic and Martin Sosic about wasp-lang, an innovative declarative language for building apps with Node.js, React, and Prisma. Check it out here.

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[The Nuejs Kid on the Block]]>JSJam Live, Wednesday at 12 pm PT

This week we're back live on X (formerly Twitter) Spaces with special guests from from the MagnoliaJS conference, a software development conference in Jackson, Mississippi. Organizer Kayla Sween and speakers Blake Watson and Taylor Desseyn will be joining us to discuss

]]>
http://www.javascriptjam.com/october-3-2023/64fb73fe6a5eea000180bdbaTue, 03 Oct 2023 19:25:32 GMTJSJam Live, Wednesday at 12 pm PTThe Nuejs Kid on the Block

This week we're back live on X (formerly Twitter) Spaces with special guests from from the MagnoliaJS conference, a software development conference in Jackson, Mississippi. Organizer Kayla Sween and speakers Blake Watson and Taylor Desseyn will be joining us to discuss the conference and their upcoming talks. Tune in tomorrow, at the same time as always.

Stories of the Week

The Nuejs Kid on the Block

The JavaScript ecosystem can be like the weather. If you don't like your current framework, just wait a minute and there will be a new framework to try.

The Nuejs Kid on the Block

This past week saw a bunch of discussion around Nuejs, a new framework that's kind of like if Htmx and Vue had a baby. It combines the ease of use and reactivity of Vue with the HTML-first development model of Htmx. As is de rigueur for a new framework, Nuejs promised not just a simpler approach but also a much smaller and faster library compared to {insert your favorite framework}.

Knives quickly came out against some of the triggering statements, including being anti-Typescript and anti-Tailwind. Until Ryan Carniato publishes an analysis, the best level-headed take on Nuejs was from Ben Holmes. Meanwhile, a vibrant discussion broke out on Hacker News, with users pointing out how it repeats past design mistakes other frameworks have learned and moved on from.

It's worth remembering of course that the biggest framework at the moment, React, met a hostile reception when it was first launched and questioned the existing best practices at the time. But technical issues aside, the biggest challenge any new framework faces is simply getting attention amongst all the noise. In that sense, maybe the controversy is actually marketing strategy.

  • ViteConf (Oct 5-6, Virtual) — The virtual conference for the Vite ecosystem is happening this week and boasts an impressive lineup of speakers.
  • State of HTML Survey — Now is your chance to contribute to the cousin of the successful State of JS and State of CSS surveys.
  • Web Push is almost usable with iOS 17 — One of the web development highlights of iOS 17 is the support for Web Push. Unfortunately, the author describes the challenges of getting a workable implementation.

One More Thing

Okay, I lied. We actually have two more things!

The first is our video interview with Brian Douglas, an early influencer in the Jamstack community and now founder of Open Sauced.

The second is our interview with Ryan Magoon from Paypal, where he discusses accessibility and cultivating empathy for disabled users.

JavaScript Jam | Accessibility and Cultivating Empathy with Ryan Magoon
Scott Steinlage, Anthony Campolo, and Ishan Anand host JavaScript Jam, a podcast and weekly Twitter Space for frontend and full-stack developers focusing on web performance, Jamstack, and the future of the Web.
The Nuejs Kid on the Block

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Safari 17.0]]>JSJam Live

As we mentioned last week, we're taking this week off so there won't be a JavaScriptJam Live space on Wednesday. But don't worry, your favorite JavaScript Twitter (X) space will be back next week (October 4) at our regular time with a

]]>
http://www.javascriptjam.com/september-26-2023/64fb73f56a5eea000180bdb2Wed, 27 Sep 2023 05:01:25 GMTJSJam LiveSafari 17.0

As we mentioned last week, we're taking this week off so there won't be a JavaScriptJam Live space on Wednesday. But don't worry, your favorite JavaScript Twitter (X) space will be back next week (October 4) at our regular time with a special guest from the MagnoliaJS conference. Tune in next week to find out who!

Last week, we discussed WordPress's new 100 year pricing tier (only $38,000), the implications of Chrome 118 Beta for the web, and using feature flags in React applications. You can listen to the recording here.

Stories of the Week

Safari 17.0 Release

At last week's JavaScriptJam Live we discussed the implications of Chrome 118 beta, and this week it was Safari's turn with the release of Safari 17.0.

Unlike Android, iPhone users rapidly adopt the latest iOS updates with 80-90% of devices running the latest version. Combined with Apple's large market share in many markets this means that when Safari rolls out a new version you suddenly have a sizable addressable market for the latest features.

As befitting a design-focused company like Apple, many of the latest Safari features relate to new CSS and appearance options. Notable updates include:

  • A new native <search> HTML element that makes it easier to implement search dialogs on sites. As they note in their post, it's rare when we get a new HTML element, but given how often search is used on the web you would be forgiven for thinking this is a problem we should have solved ages ago.
  • A new attribute that makes it easier to implement popovers.
  • New options for managing how fonts are displayed and text is transformed.
  • Full support for the Storage API and a new method for calculating the storage quota that
  • A new URL API that makes it easier to parse URLs.
  • Improvements to the developer tools including a redesigned responsive mode and web inspector
  • And a ton of fixes!

While Safari has been sometimes accused of moving slower, the team shows they're picking up the pace.

One More Thing

A friend of the pod, Dev Agarwal, recently covered the JS ecosystem's perennial "What is Jamstack" topic with a new video "Jamstack Is Dead... Or Is It? Architecture In Depth" that also serves as a history lesson in how we got here.

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Chrome 118 Beta]]>http://www.javascriptjam.com/september-19-2023/64fb73ea6a5eea000180bdaaWed, 20 Sep 2023 00:24:59 GMTJSJam Live, Wednesday at 12pm PT Chrome 118 Beta

This week is another open mic to discuss the JavaScript news of the week. We'll be taking next week off, so don't miss your chance to hang out and get your fill of JSJam!

Last week, we discussed the release of Bun 1.0, the demise of Rome, and the upcoming Strange Loop conference. You can listen to the recording here.

Story of the Week

Chrome 118 Beta - Scoped Styles, Media Features, Accessibility, and More

Released on Wednesday, September 13, 2023, the Chrome 118 beta brings a plethora of enhancements across platforms including Android, ChromeOS, Linux, macOS, and Windows. This version is built with user experience and developer convenience in mind. Here's a rundown of all the new additions:

  • Scoped styles: Lets developers define style rules based on the proximity of a scoping root.
  • CSS logical flow-relative values: New values that adjust according to the writing mode or direction of an element.
  • Media Queries enhancements: Adaptations for reduced transparency preferences and querying scripting language support.
  • Transform-box property expansion: Influences how reference boxes for transform properties are computed.
  • Keyboard-focusable scroll containers: Making scroll containers naturally accessible through keyboard navigation.
  • Consistent use of option label attribute: Ensuring the label attribute is used uniformly across different modes.
  • Privacy Sandbox Developer Enrollment: A new procedure for Privacy Sandbox relevance and measurement APIs.
  • Modified cookie handling via JavaScript: Enhanced security through control character handling.
  • Uniform minimum font size across languages: Promoting interoperability and accessibility.
  • Smooth UA transitions during navigation: An API to guarantee fluid visual transitions.
  • URL parser refinement: Preservation of percent-encoded ASCII characters in URLs.
  • Protected Audiences negative targeting: Extending audience targeting capabilities for online ads.
  • Streamlined Payment Request flows: Removing the user activation requirement for smoother transactions.
  • WebUSB API in Extension Service Workers: Extending WebUSB API accessibility.
  • XML CDATA section handling: Addressing libxml bug by merging consecutive CDATA sections.
  • beforeunload handler dialog update: Refining cancel dialog conditions.
  • WebRTC encoded transform: Allowing metadata manipulation in audio and video frames.
  • Deprecation of non-standard appearance keywords: Deactivating low usage, non-standard keywords to streamline user experience.

Podcasts of the Week

One More Thing

Ryan Carniato had Pooya Parsa from the Nuxt team on his stream and he made a big announcement related to SolidStart! They will no longer be pursuing the Astro integration and will instead be using Nitro as their underlying server for the SolidStart metaframework. Check out the video to learn why:

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[Bun 1.0, Rome Becomes Biome, and Legend of the Lambdragon]]>http://www.javascriptjam.com/september-12-2023/64fb73df6a5eea000180bda2Wed, 13 Sep 2023 00:27:17 GMTJSJam Live, Wednesday at 12pm PT Bun 1.0, Rome Becomes Biome, and Legend of the Lambdragon

We took last week off for a much needed summer vacation, but this week we'll be covering the final year of the legendary Strange Loop conference! Historically hosted in St. Louis, Missouri, the multi-disciplinary conference brings together developers and thinkers building tomorrow's technology. Join us tomorrow, same time as always.

Stories of the Week

Bun v1 Consolidates Entire JS/TS Toolchain

Bun 1.0, the all-inclusive toolkit for JavaScript and TypeScript, has now officially launched, declaring that it is ready for production use. The announcement post highlights that the JavaScript tooling ecosystem has grown very complex over the years.

Bun aims to eliminate this complexity while retaining JavaScript's strengths. It provides a voluminous list of stalwart JavaScript and TypeScript tools it aims to replace and how it plans to replace them. The release includes the following headline features:

  1. Replacement for Numerous Tools:
    • Node.js: Bun replaces node, npx, nodemon, dotenv, and cross-env.
    • Transpilers: Can run various file types without requiring tools like tsc, babel, and tsx.
    • Bundlers: Serves as a bundler, making esbuild, webpack, parcel, and rollup unnecessary.
    • Package Managers: Replaces npm, yarn, pnpm, and lerna.
    • Testing Libraries: Acts as a Jest-compatible test runner, eliminating the need for tools like jest and vitest.
  2. Integrated Toolkit: Instead of relying on various disjointed tools, Bun offers an integrated toolkit for an optimal developer experience.
  3. Fast JavaScript Runtime: Utilizes Apple's WebKit engine for better speed and efficiency. Notably, it starts up to 4x faster than Node.js.
  4. Built-in Transpiler: Supports JavaScript, TypeScript, and JSX/TSX files.
  5. Module Compatibility and Hot Reloading: Supports both ESM and CommonJS without any configuration hassles. Enhances developer productivity by reloading applications as files change.
  6. Browser-Like APIs and High-Performance Native APIs: Includes built-in support for web standard APIs available in browsers. Bun-native APIs are quick and user-friendly.
  7. Plugin Support: Highly customizable through an esbuild-inspired Plugin API.
  8. Test Runner: Comes with a fully Jest-compatible built-in testing module for easier migration.
  9. Bundling and Macros: Acts as a rapid JavaScript and TypeScript bundler and minifier, performing significantly faster than competitors like esbuild and webpack. The bundler introduces a novel approach to bundling using JavaScript macros.
  10. Native Builds: Bun now supports an experimental, native build for Windows, alongside its production-ready builds for macOS and Linux.

The Sack of Rome and the Ruins of Biome

Bun positions itself as a unified and streamlined solution that creates a holistic development experience. But of course, it's not the first or only attempt at building such a project. On the bird app, I made a comment about the irony of Bun 1.0 being released in quick succession after the dissolution of the Rome project and subsequent funeral/rebrand to Biome.

There's something very poetic about @bunjavascript hitting 1.0 the same week @rometools finally collapsed.

While no one was paying attention, an entirely different person built essentially the exact tool that Rome promised to provide and set out to build in early 2020.

The biggest difference was @jarredsumner lit his own savings on fire to do it instead of everyone else's.

If you're not familiar with Rome's history and the accusations levied against its founder, that message likely doesn't make any sense. I'd recommend reading the excellent account of Rome's history (complete with event timeline) by Bytes. It's the kind of history that can only be told by someone who lived through it in real time.

In a funny coincidence, Bytes covered Rome for their 9th issue in 2020 as well as FSJam (my own podcast) which covered Rome for our 9th episode.

When Rome was announced in 2020, I was one of the many JavaScript developers immediately sold on the vision. I believed there could be a better way to develop our apps by consolidating the many disparate tools and processes we'd been using at the time (and still do today) into a single platform. I became even more personally invested in the mission the following year.

The Lambdragon Fights Hypercomplexity with Fire

I befriended former RedwoodJS contributor, the late, great Aldo Bucchi in 2021. Aldo was multiple years deep into building a unified JavaScript platform that included everything you would need to develop a large scale, high volume application. Sound familiar? Called Decoupled at the time, Aldo later renamed the project to The Lambdragon. Aldo was a very guarded person and it took a lot to earn his trust.

As a consequence, he stayed off Twitter for most of the 2010s and became increasingly disconnected from the wider JavaScript and web development scene. Despite being years ahead of Rome, in timeline and feature development, Aldo had never heard of Rome until I mentioned the project to him off hand one day. Because of his isolation, he was understandably unaware that he'd fallen into the next JS zeitgeist years ahead of schedule.

I'll never forget his excitement when he realized not only was someone else working on this problem, they had been handed a truck load of cash to do so. This was corroborated even further when Swyx's blockbuster post, The Self Provisioning Runtime, gave a name to Aldo's vision. Unfortunately, in a tragic turn of events, in 2022 Aldo passed away in Hawaii where he had been living during the pandemic. The Lambdragon was forever put to rest.

Aldo was convinced that consolidation could stem the rising tide of hypercomplexity and prevent the death of simplicity. Before Rome and the Self Provisioning Runtime, Aldo worried his vision would never be complete. After, he knew at least his vision's spirit had been validated by the excitement of the developers and investors. This validation continues today with the excitement around the first major release of Bun.

Podcasts of the Week

One More Thing

Before passing, Swyx had Aldo on his stream to demo a bit of The Lambdragon. Check it out if the history of the project was interesting to you:

JavaScript Jam on the Web

Find us online at the following links:

]]>
<![CDATA[JavaScript Jam Summer Vacation]]>Hello! We're publishing an abridged issue this week to give our team a much-needed holiday break at the end of the summer season.

JavaScript Jam Live will be back next Wednesday, September 13th, for another open mic discussion.

In the meantime, we encourage you to catch up on

]]>
http://www.javascriptjam.com/september-6-2023/64f8b0bc6a5eea000180bc3eWed, 06 Sep 2023 18:18:33 GMT

Hello! We're publishing an abridged issue this week to give our team a much-needed holiday break at the end of the summer season.

JavaScript Jam Live will be back next Wednesday, September 13th, for another open mic discussion.

In the meantime, we encourage you to catch up on any content you might have missed by exploring the JavaScript Jam back catalog of live episodes and videos.

JavaScript Jam on the Web

Find us online at the following links:

]]>