Deno Icon

Deno

A secure runtime for JavaScript and TypeScript built with V8, Rust, and Tokio
21 Stories
All Topics

JavaScript deno.com

You don't need a build step

Andy Jiang and Deno’s content team are really speaking my language lately:

Sites take time to build these days. A large Next.js 11 site will take several minutes to build. This is wasted time in the development cycle. Build tools like Vite or Turbopack highlight their ability to get this number down.

But the deeper question hasn’t been considered:

Why do we even need a build step?

Deno fresh.deno.dev

Fresh - a next-gen web framework for Deno

Fresh is in the “SSR with client-side progressive enhancement” camp. I have to admit their list of ‘stand out’ features are quite appealing:

  • No JS is shipped to the client by default
  • No build step
  • No configuration required
  • TypeScript support out of the box

If you’re feeling some JavaScript and/or Framework Fatigue, this won’t help. But competition pushes everyone (Next, Remix, etc) to improve. So, whether you check Fresh out or not, hopefully it’ll have a positive impact on your work.

Deno deno.com

Deno joins TC39

We will be working with other ECMA members and the wider JS community on the next iterations of JavaScript, in the TC39 working group. We will be pushing for features and improvements to the language that benefit everyone, but especially users of server-side JavaScript.

Specific features they plan to push forward are better support for non-JS assets in the ES module graph, better support for explicit resource management, and more extensive standard library functions for async iteration. Oh, and this:

As TypeScript is a core part of the Deno ecosystem, we are also very interested in pushing for even closer alignment of TypeScript and JavaScript in the future.

Ryan Dahl deno.com

Deno Deploy Beta 2

Big news from Deno today.

Today we are releasing Deploy Beta 2. This is the second in a series of beta releases that will be made over the coming months. Each release will add features and refine the programming model. The releases will culminate in a General Availability announcement that we estimate will happen in Q4 2021.

Over the past eight months, we have been quietly designing this hosted service to supplement workflows with the open source Deno CLI. Deploy does not run on AWS Lambda nor does it use Cloudflare Workers; this is a new system with a unique design. We encourage people to look past the rough initial UI and explore this new JavaScript runtime.

What’s next: A general availability (GA) release is expected Q4 2021.

Deno github.com

Deno gets an ORM

DenoDB has a fully-typed API (which is great for editor integration) and supports a whole host of backends: MySQL/Maria, SQLite, Postgres, and MongoDB.

Broad database support is great for library adoption, but as a user I’d prefer something that leans in to a specific ecosystem, which usually lets you squeeze more out of it.

Regardless of that, it’s great to see the Deno community building foundational tools like this.

Deno deno.com

The Deno team takes funding and starts a company around the project

Ryan Dahl and Bert Belder announcing the Deno Company:

Deno is not a monolithic system, but rather a set of technologies that we believe can be repurposed to a variety of needs. Not every use-case of server-side JavaScript needs to access the file system; our infrastructure makes it possible to compile out unnecessary bindings. This allows us to create custom runtimes for different applications: Electron-style GUIs, Cloudflare Worker-style Serverless Functions, embedded scripting for databases, etc.

In order to vigorously pursue these ideas, we have raised 4.9 million dollars of seed capital… This investment means we will have a staff of full-time expert engineers working to improving Deno. We will ensure that issues are addressed, bugs are fixed, timely releases are made; we will ensure Deno is a platform others can build on with trust.

Deno will remain MIT licensed: no open core. It appears they will commercialize through infrastructure and other offerings. Maybe deploy is the first of these?

Deno github.com

Deno 1.6 lets you compile TypeScript to a single executable

A (potentially) landmark feature landed in Deno 1.6:

deno compile --unstable https://deno.land/std@0.79.0/examples/cat.ts will make you an executable version of the module.

This puts Deno-based TypeScript projects in the same league as Go and Rust by providing a way to distribute software without the pain of dynamically linking multiple files. (This single-binary distribution has made Go a popular choice for projects such as the GitHub CLI and Stripe CLI.)

Node has had a similar capability by way of Vercel’s pkg project, but Deno sets itself apart by supporting the feature as part of the runtime itself.

Deno github.com

Aleph.js is a React Framework in Deno

Aleph.js doesn’t need webpack or other bundler since it uses the ESM imports syntax. Every module only needs to be compiled once and then cached on the disk. When a module changes, Aleph.js just needs to re-compile that single module, there’s no time wasted to re-bundle every changes, and instantly updates in the browser by HMR (Hot Module Replacement) with React Fast Refresh.

The “$X but for Deno” meta trend is starting to pick up steam. Expect more like this in 2021 and beyond.

Angie Rojas stackbuilders.com

Does Deno mean goodbye to Node.js?

Angie Rojas shared some insights into what Deno brings to the TypeScript ecosystem and whether or not it will “render Node.js obsolete.”

During the last 10 years, Node.js has become a big player in the backend framework market, powering several large scale applications across the globe. Meanwhile, JavaScript has also evolved greatly, not only because of the efforts of its development team, but also based on community feedback. However, integrating some of these new language features into a 10-year-old framework is not really straightforward, and has a high level of complexity.

Therefore we could say that Node.js’ architecture hasn’t evolved as fast as the language. As a basic example, Node.js is still based on callbacks, while there are far better ways to deal with asynchronicity in modern JavaScript. This is something that its creator, Ryan Dahl, has acknowledged in the past few years, and it has moved him to work on a new framework that addresses some of these issues. It is called Deno, and in the following article, we would like to explore some of its concepts to determine if it will render Node.js obsolete.

  0:00 / 0:00