Deno
https://gyazo.com/4975b8c07c018c49b6ed2dcf60a728c0
発音は「でぃの」
雨の中、エンジニアリングの闇に立ち向かう恐竜
Slackもある
deno coreのトリセツ
coreの構成の話
APIの実装方法
記事とか
動かす
helloworld
Code Readingをする
構成
ユーザーが触れる部分
APIのインターフェース
TSコンパイラを含む
TS→JSにコンパイルしてV8で処理をする
V8はTSを実行できないのでmrsekut.icon
Privilegedなレイヤー
どゆいみ?
oak
memo
TSファイルをそのまま実行できる
TSもJSもfirst class language
$ deno run hoge.ts
内部で同じことをしているわけだが、プログラマは自分でコンパイルしなくていい
なんこれ
TSのモジュールを直接importできるというのはつまりどういうことだ?
今のnpmみたいに、(Deno用の)jsライブラリと別の型定義ファイルも使えるのか?
Deno ships with integrated type definitions for itself
ってどういうこと?
Secure Modelである
OSのカーネルと同じように特権モードとユーザ空間を分けている
普通に$ denoで実行できるが、デフォルトでは以下のことなどができない ref ファイル書き込み
環境変数参照
サブプロセスの起動
ネットワークアクセス
オプションを指定するこで、実行できる
module system
importは相対パスか絶対パスかURL
拡張子は必須
node.jsのモジュールは使えない(?)
package.jsonは不要になる
import URLでやるから?mrsekut.icon
versionの指定もURLに含まれる?
goもコレだっけ?mrsekut.icon
https://deno.land/x/hogehogeでimportできる
オフライン時もキャッシュで耐える
単一実行ファイル
軽量
他のライブラリから独立している
このファイル一つさえあれば実行できる
ランタイムが不要とか言う意味ではないよな?
Promiseがある
deno fmt
あるんか!
JS,TS,Rust,Wasmの移行をシームレスに行うVisionがある
つまりどういうことだってばよmrsekut.icon
top level await実装済み
なにかわからん
deno bundleとは
参考
がいよう
TS実装をやめて、JS実装にするらしい
2021