Skip to content

First-class support for full-stack web development #19335

@mattvr

Description

@mattvr

Deno, despite being marketed as a modern runtime built around web technology and standards, is not well suited for deploying full-stack websites, e.g. using common ingredients like React, Server-side Rendering (SSR), and Hot Module Reloading (HMR) – features expected from modern web frameworks especially when building with JavaScript.

I'm a strong advocate for Deno, and see lots of promise in the current Deno-first web frameworks, however, given the current state, I can't confidently recommend Deno for building websites due to the lack of well-supported, easy-to-use, and actively developed frameworks that meet 2023 web development requirements.

Looking at the top 3 frameworks:

1/ Fresh (https://fresh.deno.dev/)
Though Fresh is the premier Deno web framework, it has significant drawbacks:

  • Islands architecture, while a great feature, can confuse beginners and prevents complex use-cases.
  • Preact-only, which limits portability and integrations.
  • Lacks some basic features like nested islands, configurable middleware and routing, and struggles with state sharing (ref)
  • Discrepancies between Deno Deploy and the standard runtime causes simple pages to break in my experience
  • It's largely a solo project with limited active investment.

2/ Aleph (https://alephjs.org/)
Aleph is promising as a Next.js alternative supporting React, SSR, and HMR, but has issues:

  • Frequently errors occur out of the box, even causing crashes during bundling with basic imports.
  • It's not yet stable or recommended for production. The sole dev currently lacks the time for active project investment (ref)
  • (Note that Aleph also used to support Solid, Vue, etc. but was removed recently.)

3/ Ultra (https://ultrajs.dev/)
Ultra, though the most reliable and flexible of the bunch, also struggles:

  • It's not beginner-friendly due to low documentation and the need for rolling everything yourself.
  • It lacks a live development feedback loop (e.g. HMR) and shows similar dev activity to the above two projects.

The main takeaway is that these frameworks are experimental side projects led by solo developers, making them less viable for building substantial projects or businesses with Deno.


While compatibility is in progress for NextJS (#16679) & Remix (#18326), the timeline and extent of this support is unclear.

I think getting to either (1) a stable, fully featured Deno web framework or (2) full compatibility for NextJS/Remix, may be one of the most impactful improvement to Deno today. This would significantly broaden the appeal of Deno, attract more web apps, and support a top use case for JavaScript server runtimes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions