Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

͜ͷରஊͷૂ͍ • ʮ஌Βͳ͍͠ɺͲͬͪΛબΜͩΒྑ͍͔Θ͔Βͳ͍ʯ ͱ͍͏ঢ়گΛݮΒ͢ɻ ஌্ͬͨͰ/PEFKTΛ࢖͏ ஌্ͬͨͰٕज़બ୒ͱͯ͠ਖ਼ ͍͠ํΛέʔεʹ߹Θͤͯऔ ࣺબ୒Ͱ͖Δ ஌Βͳ͍͠ɺͲͪΒΛબΜͩ Βྑ͍͔Θ͔Βͳ͍ ஌্ͬͨͰ%FOPΛ࢖͏

Slide 3

Slide 3 text

Node.js ͷྑ͍ͱ͜Ζ deno ͷྑ͍ͱ͜Ζ

Slide 4

Slide 4 text

Α͍ͱ͜Ζ • Node.js: αϙʔτମ੍ɺಛʹLTS͕͋Γɺ2೥ؒαϙʔτ͞ΕΔ • deno: πʔϧ͕ຊମʹϏϧτΠϯͰؚ·Ε͍ͯͯɺೖΕͨ͋ͱ͍͖ͳ Γ։ൃ͕ਐΊΒΕΔ • ಛʹܕ͸ඇৗʹڧ͍

Slide 5

Slide 5 text

Node.js ͷѱ͍ͱ͜Ζ deno ͷѱ͍ͱ͜Ζ

Slide 6

Slide 6 text

ΘΔ͍ͱ͜Ζ • deno: αϙʔτମ੍͕ऑ͍ • deno: ࠷৽ʹ্͛ͯ͘Εͱ͍͏ݴ͍ํʹͳΔ • ͪΐͬͱલͷϚΠφʔόʔδϣϯΛαϙʔτͯ͠΄͍͠ͱ͍͏࿩ʹͳΓ͕ͪ • ࠷৽ʹ͍ͭͯདྷΕΔମྗ͕ඞཁʹͳΔ • Node.js: ܕͷαϙʔτ • Node.js: ϞδϡʔϧγεςϜ͕ΰλΰλ • CJS / ESM ͷରԠʹ͍ͭͯ

Slide 7

Slide 7 text

Node.js ͷվળ఺ deno ͷվળ఺

Slide 8

Slide 8 text

վળ఺ • 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 Ϟδϡʔϧͷޓ׵ੑʹ͸൓ରҙݟͩͬͨɻͰ΋Ϧʔμʔ͸ޓ׵ ੑΛਪਐͨ͠ɻͻͷ͞Θ͞Μͷҙݟ͸͸͖ͬΓ۠ผ͢ΔϥΠϯ͕͋Ε͹ྑ͍ͱࢥ͍ͬͯΔ

Slide 9

Slide 9 text

Web Standard ΁ͷऔΓ૊Έ ํ

Slide 10

Slide 10 text

Web Standard ΁ͷऔΓ૊Έํ • Deno: Web Standard ΛੵۃతʹऔΓೖΕΑ͏ͱ͢Δɻ • ੵۃతʹऔΓೖΕա͗ͳͷͰ͸ʁ • ·ͩWICGͷϨϕϧͰऔΓೖΕΔͷ͸͍ͩͿૣ͗͢Δؾ͕͢Δ •

Slide 11

Slide 11 text

Tooling ʹ͍ͭͯ

Slide 12

Slide 12 text

tooling • deno: deno task ͱ͍͏ͷ͕ೖͬͨ (npm run Έ͍ͨͳ΍ͭ) • deno.json ʹίϚϯυΛॻ͘ͱ࣮ߦ͞ΕΔ

Slide 13

Slide 13 text

Permission ʹ͍ͭͯ

Slide 14

Slide 14 text

Permission ʹ͍ͭͯ • mizchi: ࠷ॳ͸ؤு͚ͬͯͭͯΔɺͰ΋ import ͨ͠ઌͰଞͷϝϯόʔ͔Β permission ͕ଞʹඞཁʹͳͬͯ͘Δɻ • ѱҙͷ͋Δϝϯόʔ͕ͦΕΛݴ͖ͬͯͨΒ࣮ࡍ๷͙ͷ͸೉͍͠ • kt3k: mizchi ͞ΜʢίʔυΦʔφʔʣ͕ඞཁͱࢥͬͨ permission ͚ͩ෇༩͢Ε͹ྑ͍ͷͰɺͦΕΛڧݻʹकΔ΂͖ • mizchi: ͦΕ͸Θ͔Δ͕ɺαϓϥΠνΣʔϯΞλοΫΛकΔʹ͸࡞Δଆͱ࢖͏ଆͷ྆ํͰͷέΞ͕ඞཁͳͷͰ͸ͳ͍͔ͱࢥ͍ͬͯ Δ • ݖݶ͕ංେԽ͢Δͷ͸ΤίγεςϜͷதͰΑ͋͘Δ΋ͷɺ Android ͱ͔͸ΞϓϦΛΠϯετʔϧ͢Δͱ͖ʹશͯͷݖݶΛཁ ٻ͖ͯͨ͠Γ͢Δ • martin: Node.js policy ػೳ͕͋ΔɻηΩϡϦςΟ͸ίϛϡχςΟͷ໰୊Ͱ͋ͬͯҰͭͷςʔϚͰ͋Δ • policy.json ͰΞϐʔϧͰ͖ΔͷͰ͋Ε͹ͦΕΛίϯτϦϏϡʔτͯ͠ଞͷਓʹͪΌΜͱηΩϡϦςΟ΁ͷ഑ྀΛΞϐʔϧͨ͠ ͍ • ͨͩ࢒೦ͳ͕Βࠓ͸ policy ͷػೳ͸ͦ͜·Ͱͳ͍ͬͯͳ͍ɻ

Slide 15

Slide 15 text

Node.js ͷਪ͠৽ػೳ deno ͷਪ͠৽ػೳ

Slide 16

Slide 16 text

ਪ͠ػೳ • ݹ઒: Single Executable Application • Martin: webcrypto ͕࣮૷͞ΕͨΑʂ • kt3k: Deno task ͕࣮૷͞ΕͨΑʂ • mizchi: deno fetch ͕ϩʔΧϧʹରͯ͠Ͱ͖Δ wasmpack Λͦͷ·· ಡΈࠐΊͨ

Slide 17

Slide 17 text

Governance ʹ͍ͭͯ

Slide 18

Slide 18 text

Governance ʹ͍ͭͯ • deno: BDFL ϞσϧɺϦʔμʔ͕ܾఆΛ͢Δ • node.js: Open Governance ϞσϧɺϦʔμʔෆࡏɺεςΞϦϯάίϛοςΟʔ͕ ܾΊΔɻ • martin: deno ͸ inc Ͱɺձࣾʹͳ͍ͬͯΔɺϦʔμʔ͕ܾΊΔ͚ͩͰ͸ͳ͓ͯۚ͘ ʹΑͬͯࠨӈ΋͞ΕΔ • kt3k: ͦΕ͸͔ͨ͠ʹͦ͏ɻϢʔβʔ਺Λ্͛ΔΑ͏ʹͯ͠ɺ͓ۚΛՔ͙ඞཁ͕͋Δ • node ͷϞδϡʔϧΛαϙʔτ͢Δͷ͸Ϣʔβʔ਺Λ্͛Δඞཁ͕͋ΔͨΊ

Slide 19

Slide 19 text

Node.js ͷࠓޙ deno ͷࠓޙ

Slide 20

Slide 20 text

ࠓޙ • mizchi: ͓ޓ͍௥Ճ͢Δػೳ͕ࣅ͍ͯΔɺӨڹΛड͚͍͋ͬͯΔɺ޷͖ͳํΛબ΂͹Α͍ͱ͍͏ະདྷʹͳΔɻ • ઈରަΘΒͳ͍ϥΠϯΛMicrosoft͕ʹ͗ͬͯΔɻ • ֦ுࢠͷলུՄ൱ϥΠϯ • kt3k: Node.jsޓ׵͕Ͱ͖ΔΑ͏ʹͳΓɺϢʔβʔ͕denoʹ૿͑Δɺདྷ೥͸΋ͬͱ፰߅͢Δɻ • martin: Node.js ͷະདྷ͸ Web Standard ͷػೳ͕΋ͬͱ૿͍͑ͯ͘ɻfetch ͷଞʹ΋ Event Emitter ͱ͔৭ʑ૿ ͍͑ͯ͘ɻ΋ͬͱϒϥ΢βϓϥοτϑΥʔϜؒͷޓ׵ੑ͕ߴ͘ͳΔ͸ͣɻ • test runner ͕ Node.js ʹೖΔ • deno ͷ࡞ઓ => deno inc ͕ microsoft ʹങΘΕΔ • furukawa: