class: middle, center

Deno入門

コネヒト技術目標マルシェ(2022-03-28)

もりやひろゆき


はじめに


Deno って何?

A modern runtime for JavaScript and TypeScript.

https://deno.land/

JavaScript と TypeScript のモダンな実行環境です。

競合する環境としては Node.js があります。


Deno の特徴 (1)

ライアン・ダール (Ryan Dahl) 氏が Node.js の反省を元に作られています。

DenoはJSConf EU 2018でのライアン・ダールによる講演「Node.jsに関する10の反省点」で発表された。ライアン・ダールはこの講演において、後悔しているNode.jsの初期設計での決定について言及し、以下の点を挙げている。

・APIの設計でpromiseを使用しないという選択をしたこと

・古いGYPビルドシステムを使用するようにしたこと

・node_modulesとpackage.jsonの採用

・拡張子を除外したこと

・index.jsによる魔法のようなモジュールの依存関係の解決

・V8のサンドボックス環境の破壊

https://ja.wikipedia.org/wiki/Deno


Deno の特徴 (2)

開発に便利なツールが最初から揃っている。

コマンドの例


Deno の特徴 (3)

TypeScript がサポートされている


Deno の特徴 (4)

Node.js と同じく V8 エンジンを使っている


Deno の特徴 (5)

セキュアである


Deno の特徴 (6)

ECMAScript 準拠やブラウザ互換API


Deno の採用例(Slack SDK)

新しい SDK は TypeScript を使って構築され、Deno ランタイムをターゲットにしています。

https://slack.com/intl/ja-jp/blog/developers/faster-simpler-way-build-apps

https://deno.com/blog/slack


Deno の課題

まだ周辺エコシステムが充実していない


小ネタ: Deno の読み方


小ネタ2: Deno の名前の由来?

Tweet

https://twitter.com/deno_land/status/1262517004159913985


Deno Deploy (1)

Deno Deploy の話 - toranoana.deno がわかりやすいので、そこから抜粋します。

--

→GitHub 連携を使うとめちゃくちゃ便利!


Deno Deploy (2)


フロントエンド開発はどこまで使える?


Deno のこれから


class: middle, center

おわり

ありがとうございました!

;