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

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
H
Help Net Security
腾讯CDC
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
美团技术团队
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
博客园_首页
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
Docker
博客园 - Franky
Jina AI
Jina AI

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.