Open1

Deno Festイベント メモ

Yuba4Yuba4

https://deno-fest-2023.deno.dev/

https://www.youtube.com/watch?v=dAt-r7-Imgk

  • 気になった公園を3つほどピックアップして書きます

Ryan Dahlの基調講演

npm Bridging the gap between Node and Deno

  • DenoでnpmのライブラリやNode.jsのモジュールをどのように使うか

  • Denoの紹介

    • Secure by default
    • JSX TypeScriptのネイティブサポート
    • テスト linter fomatterのデフォルトでの装備
    • Node.js npmのライブラリのサポート
  • Javascriptの立ち位置

    • Rubyは美しい言語だけどブラウザでサポートされていない
    • Webブラウザでサポートをしてるという点でJavaScriptは特別

実行する場合

Deno run hoge.ts 

//URLもサポート
Deno run <URL>
import chalk from "npm:chalk"

上記のような形でnodeの標準ライブラリも使える

JavaScriptは

Ryan Dahlもcoilotに助けられる

JavaScript Server Runtime History

  • JavaScriptのランタイムの歴史について

  • 1996年

    • NetSpace Livewireという技術がありhtmlを同じところにSERVERタグを書き

      その中でJavaScriptをサーバーサイドで書く技術

    • JavaScript自体も若かったので流行らなかった

  • 2009年 Node.jsの誕生

    • Chrome V8 Event駆動 ノンブロッキングI
  • 2010年 npmの誕生

  • 2014年.Node.jsの停滞

  • 2015年 io.jsがNode.jsをForkしてリリース

    • コミッターもio.jsに異動
  • その後 TypeScriptのメジャー化 Reactなどのフロントエンドブーム

  • 流行と競争

    • 健全な競争が生まれユーザーにとって利益になるものが増えてきた
    • Node.js でもTestのサポートやWeb Starndardとの親和性など
    • DenoはNode.jsとの親和性を上げつつNode.jsからユーザーを引っ張りたい方針
  • ここ5-6年ぐらいの進化は誰かが仕組んでたんじゃないかというくらいすごい

https://speakerdeck.com/yosuke_furukawa/javascript-server-runtime-history

The States of webfamework in Deno

@ yusukebe

https://speakerdeck.com/yusukebe/the-power-of-web-standards

Web-standartsとは

  • Javascriptのライブラリで使われるようになってきているWeb系のAPI

    • fetch
    • Request/Response
    • Blob

    など

Hono

  • 上記のWeb-starndardsのAPIのみを使ったWebフレームワーク

  • Web-standardsのいいところ

    • ほとんどのランタイムででサポートされている
    • テストがしやすい
      • Request Responseを書いて大体のケースが書ける
  • Web-standardsのみで作っているので各種CDNやランタイム上でほぼ変化が無いコードで

    ロジックがかける

  • スタンダードでは無いもの

    • env 環境変数
    • Honoでは各種Runtimeでのenvが扱えるようにAdapterを実装
  • ブラウザでのDeno

    • ServiceWorkerでもHonoは動く(Web標準でJavaScriptなので)

開発チームに聞くコーナー 1

  • Denoの良いポイントは

    • シンプル
    • TypeScriptサポート
    • ビルトインのツール
  • npmのサポートについて

    • ユーザーは気にする必要はないけど色々大変
  • Denoの教育的なコンテンツについて

    • youtube発信など
    • ハッカソンでも使ってほしい
    • 最近Jupyter Notebookをサポートした
  • Deno Deployのインフラ

    • GCPを使っている

開発チームに聞くコーナー2

  • WebAssenbleyのサポートする予定は

  • WebAssenbleyは仕様上importできない

    • fetchする必要がある
  • TC39でプロポーサルを出してみて解決する予定

  • おすすめのバンドラーは

    • ESbuild