5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Deno 使ってみないか?

Last updated at Posted at 2023-09-15

Denoとは

RustとV8エンジンをベースに実装されたJS/TSランタイムです
作者はNode.jsの開発者でもある Ryan Dahlさん
Node.jsにおける反省点等を改良するために開発されました

https://github.com/denoland/deno
https://deno.com/

image.png

Topic

  • Nodejsと違って標準モジュールが豊富
  • モジュール機構がDenoだとESMオンリーになっていて綺麗
  • TSを標準サポート!
  • Denoの組み込みのテスト機能が充実
  • DenoDeployが便利!
  • 標準のリンター、フォーマッター
  • 組み込みKeyValue Store搭載

Upgrade from Node.js to Deno

image.png

Nodejs と異なり標準モジュールが充実している

Node.jsには標準モジュールに相当する公式のライブラリという概念はありません。Node.js本体に含まれる機能だけが公式のAPIで、それ以外はすべて3rdパーティという関係です。そのため3rdパーティに頼る比重が必然的に多くなります。

それに対してDenoは、本体のAPIがまずあって、次にカバー範囲の広い標準モジュールがあり、それ以外が3rdパーティという構造になっています。

たとえば、Node.jsではテスト関連の3rdパーティのモジュール群は選択肢が非常に豊富にあります。Denoの場合は本体にbuiltinされたテストランナー(Deno.test)とstd/testingから提供されるアサーションでほとんど事足りてしまうため、選択肢が狭まっていると言えます(選択肢が少ないことをデメリットと取るかメリットと取るか、人や場合によるかもしれませんが⁠)⁠。

標準モジュールが豊富

めっちゃ便利です。

TS標準サポート

Native TypeScript support with zero config
Use bleeding edge JavaScript features
Intellisense and auto-complete in Visual Studio Code
Publish and distribute modules as TypeScript source code

煩わしいOptionの設定などから解放されます!
TSそのままで実行可能

Deno Deploy

Deno の開発元 Deno Land 社が提供しているホスティングサービス

Globally distributed
Deploy in seconds
Built-in key/value database
Integrate with GitHub for CI/CD
Run static sites, apps, and edge functions

簡単にデプロイできて、現在Beta版の組み込みのキーバリューDBを使うことができます!
早くFireStoreをわざわざ立ち上げたりしていた時代とおさらばしたい!
Denoで動く新しいWebFrameworkです(今回割愛)

Deno Land Inc.

会社になってまふ🦕
https://deno.com/company

まとめ

現在はまだ破壊的変更が入ったりしますが、個人開発でちょっとしたプロトタイプを作る際に快適さを味わってみてはどうでしょう…?
Topicsで挙げた項目を網羅できてないですが、残りはまたの機会に・・・

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?