Leveling up JavaScript with Deno 2 (JS Party #340)
Sep 26, 2024
auto_awesome
Ryan Dahl, the creator of Deno and a key figure in the JavaScript community, dives into his vision for the future of JavaScript development. He discusses why he chose to create Deno rather than fixing Node, and highlights exciting new features in Deno 2, including support for npm and the JavaScript Registry (JSR). The conversation also touches on Deno's innovative key-value store and SQLite integration, along with a bold appeal to free the 'JavaScript' trademark from Oracle. Dahl shares insights into the evolution of open-source projects and the balance between ideals and practicality.
Deno 2 aims to enhance JavaScript usability by introducing a seamless module system and improved security features, addressing past Node.js limitations.
The new JSR package registry simplifies the publication of JavaScript and TypeScript code, promoting compatibility and ease of use across environments.
An ongoing initiative challenges Oracle's trademark on 'JavaScript', advocating for community ownership to foster growth and collaboration in development.
Deep dives
Simplifying Bug Reporting with Jam
Jam is a tool designed to streamline the bug reporting process by enabling users to capture screenshots and technical details with just one click. This eliminates the common miscommunication that occurs during traditional bug reporting, where information might be vague or incomplete. By compiling all necessary data, including console logs and session metadata, Jam allows engineers to receive precise information in a single link, significantly reducing the time spent on follow-up questions. The tool reportedly saves engineers an average of one hour per bug issue, enhancing overall productivity for development teams.
The Evolution of Deno
Deno, a secure runtime for JavaScript and TypeScript, has undergone significant development since its inception in 2019, with the official release of Deno 2 on the horizon. The creator, Brian Dahl, shared insights into the foundational philosophy behind Deno, which stemmed from lessons learned during the development of Node.js. Deno aims to address previous shortcomings by introducing a more seamless module system, enhancing security features, and ensuring compatibility with popular Node.js libraries. Dahl emphasizes a commitment to leveling up JavaScript for broader accessibility and usability across various projects.
Introducing the JSR Package Registry
With Deno 2, the introduction of JSR, a new package registry, aims to simplify the process of sharing JavaScript and TypeScript code while providing a better alternative to NPM. JSR is designed to make package publication easy, allowing developers to publish TypeScript directly without navigating the complexities traditionally associated with NPM. This initiative aims to facilitate cross-platform compatibility, supporting Deno, Node.js, and other environments. Emphasizing ease of use, JSR incorporates features like auto-generated documentation and scoring to encourage best practices among developers.
Balancing Open Source with Commercial Goals
Deno is not only an open-source project but also a startup, navigating the landscape of providing commercial services while maintaining its open-source roots. The project is structured to separate its revenue-generating services from the core runtime, ensuring that the open-source community can use Deno without restrictions. Brian Dahl reflects on the challenges of balancing community expectations with the need for sustainability in funding development efforts. The team's goal is to create a robust open-source project that can thrive in a competitive landscape without compromising its ideals.
The Call for JavaScript to Be Free
An ongoing effort to challenge Oracle's trademark on the term 'JavaScript' is gaining momentum, led by key figures in the JavaScript community. The trademark, initially a result of historical partnerships, is viewed as a hindrance to the broader usage and branding of JavaScript. The open letter advocating for this change, signed by notable contributors to the ecosystem, highlights that JavaScript should belong to the community rather than a single corporation. Through legal channels, the push aims to release the trademark, facilitating growth and collaboration within the JavaScript development community.
Jerod is joined by Ryan Dahl to discuss his second take on leveling up JavaScript developers all around the world. Jerod asks Ryan why not try to fix or fork Node instead of starting fresh, how Deno (the open source project) can avoid the all too common rug pull (not cool) scenario, what’s new in Deno 2 & their pragmatic decision to support npm, they talk JSR, they talk Deno KV & SQLite, they even talk about Ryan’s open letter to Oracle in an attempt to free the unused “JavaScript” trademark from the giant’s clutches.
Changelog++ members save 3 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Jam.dev – One click bug reports developers love — Never explain another bug report again. Jam auto-captures all the info engineers need to debug and repro.