Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Deno に Web 標準 API を実装する / Implementing Web stan...
Search
petamoriken / 森建
March 14, 2024
Programming
0
630
Deno に Web 標準 API を実装する / Implementing Web standards API to Deno
OSS Drink Up
https://engineercafe.connpass.com/event/312812/
petamoriken / 森建
March 14, 2024
Tweet
Share
More Decks by petamoriken / 森建
See All by petamoriken / 森建
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
460
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
200
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
4
1.7k
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
500
DOM Observable
petamoriken
1
220
Contributing to Deno is fun!
petamoriken
0
320
Stage 2 Decorators の変遷 / Stage 2 Decorators history
petamoriken
0
6.6k
linaria: Zero-Runtime CSS in JS
petamoriken
2
2.3k
ESNext の議論に参加しよう / Join the ESNext discussion
petamoriken
3
820
Other Decks in Programming
See All in Programming
Honoとフロントエンドの 型安全性について
yodaka
7
1.2k
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
370
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
120
CI改善もDatadogとともに
taumu
0
120
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
2024年のWebフロントエンドのふりかえりと2025年
sakito
3
250
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
47
17k
Domain-Driven Transformation
hschwentner
2
1.9k
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
720
Featured
See All Featured
Designing for Performance
lara
604
68k
Thoughts on Productivity
jonyablonski
69
4.5k
How STYLIGHT went responsive
nonsquared
98
5.4k
Designing for humans not robots
tammielis
250
25k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
The Pragmatic Product Professional
lauravandoore
32
6.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
A Modern Web Designer's Workflow
chriscoyier
693
190k
GitHub's CSS Performance
jonrohan
1030
460k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Visualization
eitanlees
146
15k
Transcript
Deno に Web 標準 API を実装する OSS Drink Up at Engineer Cafe pixiv Inc. 森内建太
petamoriken 2024.3.14
2 自己紹介 • Web エンジニア • ECMAScript や WHATWG を追うのが好き • Deno へのコミット数ランキング27位らしい petamoriken カスタマーオペレーション
&セーフティ本部 オペレーション開発部
3 目次 • Deno とは • Deno 内部の JavaScript • AbortSignal.any の例 • 今実装しているもの
4 Deno とは • 2018年に Node.js 作者 Ryan Dahl さんによって発表された • JavaScript/TypeScript ランタイム ◦ Web 標準 API、Node.js 互換レイヤーを持つ ◦
ファイル、ネットワークアクセスなどに権限機能がついており安全 ◦ Lint, Format そして LSP 機能などを標準で搭載
5 Deno 内部の JavaScript • Deno API のインターフェースは JavaScript で実装されている ◦ Web 標準 API、Node.js 互換レイヤーなど ◦ ファイルシステム、ネットワークなど外界とのやり取りは Rust •
実行時に都度テキストとして読み込むと時間がかかる 👉 V8 スナップショット機能で JavaScript と ops の初期化処理を高速化
6 JavaScript がかければ コントリビュート可能
7 AbortSignal.any の例 • 中止について扱う AbortSignal に新しい Web 標準 API が追加された
8 AbortSignal.any の例 • まず WebIDL を見ながら引数の処理を書く
9 AbortSignal.any の例 • 仕様の差分を見てどうやら Iterable な WeakSet が必要らしい
10
11 AbortSignal.any の例 • なんやかんや実装して、レビューに対応して ……
12 AbortSignal.any の例 • 承認されて Deno に取り込まれた 🎉
13 AbortSignal.any の例 • わいわい 🎉
14 今実装しているもの • Web 標準 API にアフィン変換を扱う DOMMatrix などの API が存在する 👉 Deno に experimental な WebGPU があるため、便利かもと提案し実装中