惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
博客园 - Franky
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
博客园 - 司徒正美
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
博客园_首页
S
SegmentFault 最新的问题
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
H
Help Net Security
MongoDB | Blog
MongoDB | Blog

Deno

Deno 2.8 | Deno Claw Patrol: an open-source security firewall for agents | Deno Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno Deno 2.7: Temporal API, Windows ARM, and npm overrides | Deno Build a dinosaur runner game with Deno, pt. 6 | Deno Build a dinosaur runner game with Deno, pt. 5 | Deno Deno Deploy is Generally Available | Deno Introducing Deno Sandbox | Deno Build a dinosaur runner game with Deno, pt. 4 | Deno Build a dinosaur runner game with Deno, pt. 3 | Deno Build a dinosaur runner game with Deno, pt. 2 | Deno React / Next.js Denial-of-Service Vulnerability: Deno Deploy users protected | Deno Deno 2.6: dx is the new npx | Deno Build a dinosaur runner game with Deno, pt. 1 | Deno React Server Functions / Next.js Vulnerability: Deno Deploy users protected | Deno My highlights from the new Deno Deploy | Deno Deno's Other Open Source Projects | Deno How Deno protects against npm exploits | Deno Help Us Raise $200k to Free JavaScript from Oracle | Deno Deno 2.5: Permissions in the config file | Deno Fresh 2.0 Graduates to Beta, Adds Vite Support | Deno Deno 2.4: deno bundle is back | Deno JavaScript™ Trademark Update | Deno What's coming to JavaScript | Deno A brief history of JavaScript | Deno Reports of Deno's Demise Have Been Greatly Exaggerated | Deno An Update on Fresh | Deno How Plaid migrated 100 services to a new database platform 5x faster with Deno | Deno Deno 2.3: Improved deno compile, local npm packages, and more | Deno Add JSR packages with pnpm and Yarn | Deno
Survey Results and Roadmap | Deno
2024-02-28 · via Deno

Earlier this year, we published a survey to help focus our efforts on improving the Deno runtime. With over 700 responses (thank you to those who filled out the form!), we gained some valuable insight into the progress we’re making, as well as identified which areas need improvement.

Here’s the high level summary of the key insights gathered from the survey, as well as where we’re focusing our efforts ahead of Deno 2:

  • Our Node/npm compatibility has come a long way
  • Framework compatibility is also important
  • Host Deno anywhere
  • A major upgrade to dependency management
  • Road to Deno 2

Check out the results in JSON format here.

Our Node/npm compatibility has come a long way

It’s understandable that not being able to access key npm modules or run Node projects can be a non-starter for some folks when it comes to using Deno, which is why we have spent a tremendous effort in improving Node and npm compatibility. The good news is that the majority of respondents in the recent survey indicated that Deno was already well on its way to becoming their default runtime for all projects, based on the existing level of compatibility. However, the results indicated that we have further to go on this front until we’re satisfied.

The current level of npm and Node compatibility enough to make Deno the default runtime.

In the next few months, we’re hyper focused on improving Node and npm compatibility, specifically around:

  • identifying and fixing bugs
  • landing additional Node API polyfills

Our goal is to make any npm module work with Deno, while also eliminating a lot of frustration around using npm with Node. We aim to provide an overall better developer experience, through reducing config files and steps around dependency management.

Framework compatibility is also important

Aside from being able to use Deno to access npm modules, we asked about the importance of running third-party frameworks. Around 80% of respondents indicated that third-party framework compatibility is essential to their work.

How important is third party framework compatibility with Deno

While most expressed no issues with using third-party frameworks with Deno, a subset indicated they ran into friction points, so we’re making third-party framework compatibility a top priority in 2024.

While many frameworks are already supported with Deno (such as React, Express.js, Qwik), we acknowledge that some aren’t fully supported or have a less than ideal developer experience when using with Deno. We’re determined to improve framework compatibility to ensure a best-in-class developer experience ahead of Deno 2, such as supporting Next.js.

Host Deno anywhere

Using Deno to build servers and APIs remain a top use case, so it’s no surprise that many are hosting Deno in the cloud. We’re happy to learn that nearly half of respondents selected “Strongly Agree” when asked whether it was easy to host a Deno project in the cloud.

It was easy to host Deno in the cloud.

So where are most users hosting Deno projects? Over 50% are hosting them with Deno Deploy, our globally distributed v8 isolate cloud, but we also see meaningful usage in other cloud providers.

Top mentioned cloud providers for hosting Deno.

The top cloud providers for hosting Deno projects.

Other cloud hosting providers for Deno mentioned include AWS, Vercel, GCP, and Digital Ocean. While we have tutorials on hosting Deno with deno_docker to VPS hosting providers, we recognize there’s more to do to ensure a smoother end-to-end self-hosting experience.

To that end, we’ve recently added Arm64 Linux support and became active maintainers of deno-lambda to create Docker images for AWS Lambda. In the upcoming months, we’re focused on creating:

  • best practices for building Docker containers for various Deno apps
  • guides for writing Deno services on AWS ECS and Lambda, with CloudFormation/Terraform templates

Running into issues with hosting Deno or need some guidance on how to host Deno for your project? Let us know here.

A major upgrade to dependency management

Deno launched with a radical idea of URL imports, which is how browsers operate. On paper this made sense. But we ran into issues — what if a program contains two modules but of different versions? Reconciling this on the module graph is a complex engineering issue, known as the Duplicate Dependency Problem. We’ve developed patterns like deps.ts to manage remote dependencies. But this is still suboptimal, requiring flattening and re-exporting necessary symbols, leading to a more verbose and cluttered version of package.json.

Many survey respondents agreed that dependency management can be improved, leaving comments asking for best practices around managing dependencies, de-duplicating transitive dependencies, updating dependencies, to name a few.

Dependency management is still painful and we’re working hard on a solution we hope can benefit the entire JavaScript and TypeScript community — a modern registry built on web standards.

Road to Deno 2

We’re grateful for an active community eager to give us feedback and improve Deno to become the default JavaScript and TypeScript runtime. The results from this survey not only indicate strongly that we’re on the right path, but also helps focus our efforts on features important to you.

We’re targeting a major version release this year, which will offer third party framework compatibility, the ability to use any npm module, all while having a best-in-class developer experience.

Questions? Comments? Let us know on Twitter or Discord.