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
Node.js / Deno 徹底討論の時のスライド
Search
Yosuke Furukawa
PRO
March 31, 2022
Programming
8.9k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Node.js / Deno 徹底討論の時のスライド
2022/3/17 Node学園38時限目のスライドです。
Yosuke Furukawa
PRO
March 31, 2022
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
250
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
240
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
5.3k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.8k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
350
Removing Corepack
yosuke_furukawa
PRO
9
2k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
3.1k
Strip Types と Storage
yosuke_furukawa
PRO
4
520
Module Harmony について
yosuke_furukawa
PRO
4
1.9k
Other Decks in Programming
See All in Programming
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
140
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
120
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
620
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
180
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
180
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
0
110
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
510
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
400
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
350
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
150
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
240
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
The SEO Collaboration Effect
kristinabergwall1
1
510
Are puppies a ranking factor?
jonoalderson
1
3.7k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
Typedesign – Prime Four
hannesfritz
42
3.1k
The Spectacular Lies of Maps
axbom
PRO
1
870
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
500
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Accessibility Awareness
sabderemane
1
160
Transcript
None
͜ͷରஊͷૂ͍ • ʮΒͳ͍͠ɺͲͬͪΛબΜͩΒྑ͍͔Θ͔Βͳ͍ʯ ͱ͍͏ঢ়گΛݮΒ͢ɻ ্ͬͨͰ/PEFKTΛ͏ ্ͬͨͰٕज़બͱͯ͠ਖ਼ ͍͠ํΛέʔεʹ߹Θͤͯऔ ࣺબͰ͖Δ Βͳ͍͠ɺͲͪΒΛબΜͩ Βྑ͍͔Θ͔Βͳ͍
্ͬͨͰ%FOPΛ͏
Node.js ͷྑ͍ͱ͜Ζ deno ͷྑ͍ͱ͜Ζ
Α͍ͱ͜Ζ • Node.js: αϙʔτମ੍ɺಛʹLTS͕͋Γɺ2ؒαϙʔτ͞ΕΔ • deno: πʔϧ͕ຊମʹϏϧτΠϯͰؚ·Ε͍ͯͯɺೖΕͨ͋ͱ͍͖ͳ Γ։ൃ͕ਐΊΒΕΔ • ಛʹܕඇৗʹڧ͍
Node.js ͷѱ͍ͱ͜Ζ deno ͷѱ͍ͱ͜Ζ
ΘΔ͍ͱ͜Ζ • deno: αϙʔτମ੍͕ऑ͍ • deno: ࠷৽ʹ্͛ͯ͘Εͱ͍͏ݴ͍ํʹͳΔ • ͪΐͬͱલͷϚΠφʔόʔδϣϯΛαϙʔτͯ͠΄͍͠ͱ͍͏ʹͳΓ͕ͪ •
࠷৽ʹ͍ͭͯདྷΕΔମྗ͕ඞཁʹͳΔ • Node.js: ܕͷαϙʔτ • Node.js: ϞδϡʔϧγεςϜ͕ΰλΰλ • CJS / ESM ͷରԠʹ͍ͭͯ
Node.js ͷվળ deno ͷվળ
վળ • Node.js => Deno : Deno ͬͯ npm ϞδϡʔϧΛαϙʔτ͢Δͬͯݴ͚ͬͯͨͲɺΰλΰλ
Ͳ͏͢Δͷ͔ʁ • Deno: ΰλΰλ͝ͱड͚ೖΕͯΔ • Node.js: ͦͨ͠ΒͲͬͪΰλΰλʹͳΔͷͰɾɾɾʁ • import fs from "node:fs"; ͜Μͳײ͡ʁ • import fs from "https://deno.land/std/fs/mod.ts"; • Deno: ίϛϡχςΟଆ npm ϞδϡʔϧͷޓੑʹରҙݟͩͬͨɻͰϦʔμʔޓ ੑΛਪਐͨ͠ɻͻͷ͞Θ͞Μͷҙݟ͖ͬΓ۠ผ͢ΔϥΠϯ͕͋Εྑ͍ͱࢥ͍ͬͯΔ
Web Standard ͷऔΓΈ ํ
Web Standard ͷऔΓΈํ • Deno: Web Standard ΛੵۃతʹऔΓೖΕΑ͏ͱ͢Δɻ • ੵۃతʹऔΓೖΕա͗ͳͷͰʁ
• ·ͩWICGͷϨϕϧͰऔΓೖΕΔͷ͍ͩͿૣ͗͢Δؾ͕͢Δ •
Tooling ʹ͍ͭͯ
tooling • deno: deno task ͱ͍͏ͷ͕ೖͬͨ (npm run Έ͍ͨͳͭ) •
deno.json ʹίϚϯυΛॻ͘ͱ࣮ߦ͞ΕΔ
Permission ʹ͍ͭͯ
Permission ʹ͍ͭͯ • mizchi: ࠷ॳؤு͚ͬͯͭͯΔɺͰ import ͨ͠ઌͰଞͷϝϯόʔ͔Β permission ͕ଞʹඞཁʹͳͬͯ͘Δɻ •
ѱҙͷ͋Δϝϯόʔ͕ͦΕΛݴ͖ͬͯͨΒ࣮ࡍ͙ͷ͍͠ • kt3k: mizchi ͞ΜʢίʔυΦʔφʔʣ͕ඞཁͱࢥͬͨ permission ͚ͩ༩͢Εྑ͍ͷͰɺͦΕΛڧݻʹकΔ͖ • mizchi: ͦΕΘ͔Δ͕ɺαϓϥΠνΣʔϯΞλοΫΛकΔʹ࡞Δଆͱ͏ଆͷ྆ํͰͷέΞ͕ඞཁͳͷͰͳ͍͔ͱࢥ͍ͬͯ Δ • ݖݶ͕ංେԽ͢ΔͷΤίγεςϜͷதͰΑ͋͘Δͷɺ Android ͱ͔ΞϓϦΛΠϯετʔϧ͢Δͱ͖ʹશͯͷݖݶΛཁ ٻ͖ͯͨ͠Γ͢Δ • martin: Node.js policy ػೳ͕͋ΔɻηΩϡϦςΟίϛϡχςΟͷͰ͋ͬͯҰͭͷςʔϚͰ͋Δ • policy.json ͰΞϐʔϧͰ͖ΔͷͰ͋ΕͦΕΛίϯτϦϏϡʔτͯ͠ଞͷਓʹͪΌΜͱηΩϡϦςΟͷྀΛΞϐʔϧͨ͠ ͍ • ͨͩ೦ͳ͕Βࠓ policy ͷػೳͦ͜·Ͱͳ͍ͬͯͳ͍ɻ
Node.js ͷਪ͠৽ػೳ deno ͷਪ͠৽ػೳ
ਪ͠ػೳ • ݹ: Single Executable Application • Martin: webcrypto ͕࣮͞ΕͨΑʂ
• kt3k: Deno task ͕࣮͞ΕͨΑʂ • mizchi: deno fetch ͕ϩʔΧϧʹରͯ͠Ͱ͖Δ wasmpack Λͦͷ·· ಡΈࠐΊͨ
Governance ʹ͍ͭͯ
Governance ʹ͍ͭͯ • deno: BDFL ϞσϧɺϦʔμʔ͕ܾఆΛ͢Δ • node.js: Open Governance
ϞσϧɺϦʔμʔෆࡏɺεςΞϦϯάίϛοςΟʔ͕ ܾΊΔɻ • martin: deno inc Ͱɺձࣾʹͳ͍ͬͯΔɺϦʔμʔ͕ܾΊΔ͚ͩͰͳ͓ͯۚ͘ ʹΑͬͯࠨӈ͞ΕΔ • kt3k: ͦΕ͔ͨ͠ʹͦ͏ɻϢʔβʔΛ্͛ΔΑ͏ʹͯ͠ɺ͓ۚΛՔ͙ඞཁ͕͋Δ • node ͷϞδϡʔϧΛαϙʔτ͢ΔͷϢʔβʔΛ্͛Δඞཁ͕͋ΔͨΊ
Node.js ͷࠓޙ deno ͷࠓޙ
ࠓޙ • mizchi: ͓ޓ͍Ճ͢Δػೳ͕ࣅ͍ͯΔɺӨڹΛड͚͍͋ͬͯΔɺ͖ͳํΛબΑ͍ͱ͍͏ະདྷʹͳΔɻ • ઈରަΘΒͳ͍ϥΠϯΛMicrosoft͕ʹ͗ͬͯΔɻ • ֦ுࢠͷলུՄ൱ϥΠϯ • kt3k:
Node.jsޓ͕Ͱ͖ΔΑ͏ʹͳΓɺϢʔβʔ͕denoʹ૿͑Δɺདྷͬͱ፰߅͢Δɻ • martin: Node.js ͷະདྷ Web Standard ͷػೳ͕ͬͱ૿͍͑ͯ͘ɻfetch ͷଞʹ Event Emitter ͱ͔৭ʑ૿ ͍͑ͯ͘ɻͬͱϒϥβϓϥοτϑΥʔϜؒͷޓੑ͕ߴ͘ͳΔͣɻ • test runner ͕ Node.js ʹೖΔ • deno ͷ࡞ઓ => deno inc ͕ microsoft ʹങΘΕΔ • furukawa: