Luca Casonato, a Software Engineer on the Deno project, discusses Deno's design, the new Deno KV database, and the future of the JavaScript ecosystem. They explore topics such as using queues as a cron alternative, integrating JavaScript with Jupyter notebooks, the trend towards all-in-one JavaScript tools, coordination issues in JavaScript execution, advantages of multiple tools and open-source contributions, and strategies for open source funding and project stewardship.
Deno is a free and open source JavaScript runtime created to address the shortcomings of Node.js.
DenoKV is a built-in database for Deno that offers features such as atomicity, strong consistency, global replication, and scalability.
Deep dives
Deno and its Growth
Deno is a free and open source JavaScript runtime created by Ryan Dahl, the creator of Node.js. It was built to address the shortcomings of Node.js. Since its announcement in 2018, Deno has gained significant popularity. The team recently introduced DinoKV, a built-in database for Deno. Luca Kazanato, a software engineer on the Deno project, joined the podcast to discuss Deno's design, the new database, and the future of the JavaScript ecosystem.
DinoKV: A Database Built into Deno
DinoKV is a key-value store database that is built directly into Deno. It addresses the challenges developers face when setting up an external database for their applications. DinoKV offers features such as atomicity, strong consistency, global replication, and scalability. With a simple function call, developers can integrate DinoKV into their applications. The feedback for DinoKV has been positive, as it provides a seamless database solution within Deno's ecosystem.
Deno Deploy and Cron Jobs
Deno Deploy is a serverless hosting platform for Deno applications. While the current deployment method involves synchronous HTTP requests, Deno recently introduced support for cron jobs. This feature allows developers to schedule background tasks and automate processes, such as sending emails or performing periodic data processing. Deno's implementation of cron jobs simplifies the scheduling process and comes with an easy-to-use JavaScript API. This addition enhances the functionality of Deno Deploy, making it more versatile for a range of use cases.
Jupyter Notebooks and JavaScript
Jupyter Notebooks are an interactive environment for writing and executing code. While traditionally associated with Python, Deno now supports Jupyter Notebooks for JavaScript code. This integration allows developers to combine data processing and visualization capabilities of JavaScript with the interactive notebook format. With Jupyter support, Deno enhances the REPL experience, providing visual interfaces, auto-completion, Markdown support, and code visualization. This feature expands the capabilities of Deno in the data science and interactive coding realm.
Deno is a free and open source JavaScript runtime built on Google’s V8 engine, Rust, and Tokio. The project was announced by Ryan Dahl in 2018 with the goal of addressing shortcomings of Node.js, which Ryan also created. Since then, the Deno project has grown tremendously in popularity, and they recently announced Deno KV which is a database built into Deno.
Luca Casonato is a Software Engineer on the Deno project and joins the show to talk about Deno’s design, its new database, and the future of the JavaScript ecosystem.
Josh Goldberg is an independent full time open source developer in the TypeScript ecosystem. He works on projects that help developers write better TypeScript more easily, most notably on typescript-eslint: the tooling that enables ESLint and Prettier to run on TypeScript code. Josh regularly contributes to open source projects in the ecosystem such as ESLint and TypeScript. Josh is a Microsoft MVP for developer technologies and the author of the acclaimed Learning TypeScript (O’Reilly), a cherished resource for any developer seeking to learn TypeScript without any prior experience outside of JavaScript. Josh regularly presents talks and workshops at bootcamps, conferences, and meetups to share knowledge on TypeScript, static analysis, open source, and general frontend and web development.