SlideShare a Scribd company logo
1 of 31
Download to read offline
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
2022/02/26

JavaScript LT会 〜 React.js / Node.js歓迎 



虎の穴ラボ

奥谷 一陽

Deno でやってみる WEB開発

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
自己紹介

奥谷 一陽

所属:虎の穴ラボ株式会社

担当:とらコインSHOPなど新規事業系の開発

興味:TypeScript、Deno

おすすめコンテンツ:

  『プラネテス』

  『機界戦隊ゼンカイジャー』



Twitter:@okutann88

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
「Deno」 使ってますか?

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Deno とは? 

JavaScriptとTypeScript のシンプルで安全なランタイム

シンプル:インストールは単一のバイナリだけ

     テストツール等を本体のインストールで使える

安全:  リソースアクセスへのパーミッション

     ファイルアクセスやネットワークの利用には、

     明示的なオプションの付与が必要 など

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Deno とは?

そして、Node.js の作者 Ryan Dahl 氏がメインで開発。

- Node.js の反省

- package.json

- モジュールインポートの拡張子の省略 他

参考:https://yosuke-furukawa.hatenablog.com/entry/2018/06/07/080335
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Denoの特徴/いいところ 

- ノンセットアップで TypeScript を書き始められる

- テストツールも付属している(テストとの関係が近い)  標準モ
ジュールがテスト用の関数群を提供してくれる 

- パッケージ管理にnpmを採用しない         npm(及び
node_modules) での管理は複雑

  参考: https://kt3k.github.io/talk_devsumi_2022_deno/#1


Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
今回は、

「Denoそのもの」ではなく、

「Denoで開発」どのくらいできるだろう?

というお話です

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
アジェンダ

話すこと

- 現在の「Denoで開発」ってどのくらいできるだろう?

- Reactを書きたい!

- リッチにReactを書きたい!!

- もっとリッチにReactを書きたい!!!

- それでも足りていないものは?

話さないこと

- Node.js 互換モードについて



Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Reactを書きたい!

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
https://github.com/kt3k/packup
https://github.com/kt3k/packup
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
packup

概要

- Parcel インスパイア の

js(ts)/css(scss)をビルドしてくれるバンドラー

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Deno は、Node.js におけるnpmにあたるもの が無い

npmパッケージをESM(ES Modules)で配信するCDNから、

URLを使ってimportします。

- esm.sh <= 今回はコチラ

- Skypack

- JSPM



Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
デモ - packup で React を動かす -

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
packupを使えば

- ビルドしたファイルを置くだけで良いアプリの場合、

十分要件を満たせそう

- scss -> css への変換もやってくれる

注意事項

- parcel や、vite 、webpack-dev-server

にあるような API proxy 機能が無いので、

APIも準備したい場合には工夫が必要



Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
リッチにReactを書きたい!!

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
https://github.com/exhibitionist-digital/ultra
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Ultra
概要

- React アプリケーションフレームワーク

- SSRに対応

packup との使い分け

- SSR を使いたい!

- APIも準備したい!

場合、Ultra をオススメ



Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
デモ - Ultra で 「twitter でログイン」 -

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
デモアプリ - ツイッタータイムライン - 

アプリを公開済みです。

https://github.com/Octo8080/Twitter-Timeline-app

Deno で Twitter 連携ログインをするアプリの検証として作成

https://test001.deruta3.net/
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Ultra を使えば

SSR 機能付きのReact アプリケーションを       Denoで動かせ
る

注意事項

- 最近公開された Ultra 0.7 で大きく変更が入った

APIの拡張など0.6のノウハウが一部生かせないかも



Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
もっとリッチにReact書きたい!!!

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
https://github.com/alephjs/aleph.js
https://github.com/alephjs/aleph.js
Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
Aleph.js

概要

- Next.js インスパイアのフルスタックフレームワーク

- SSR/SSG対応

- ファイルシステムルーティング対応

Ultra との使い分け

- SSGや、ファイルシステムルーティングを使いたい!

- 現在Next.jsを使っている

場合、コチラをオススメ

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
デモ - Aleph.js を導入-

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
それでも足りないものは?

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
それでも足りないものは?

ORMの選定

Node.js で使われるORMのいくつかは、         Deno 対応
の issue がありPrisma は          モジュールの登録が済
んでいる、注視したい

https://github.com/sequelize/sequelize/issues/12836

https://github.com/typeorm/typeorm/issues/6123

https://github.com/prisma/prisma/issues/2452

要件次第では「アレがない」は起こりうる

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
最後に 

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
これからのDeno

Deno 2 が、2022年前半にやってくる!

- もうすぐロードマップも公開されそう

- Deno は、最近Node.jsとの互換性に重きを置いている

- NPMエコシステムとの互換性向上と、         代わりになる
パッケージ管理ソリューションにも言及されていてよりNode.jsの
既存資産を活かし易くなりそう

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
で、結局 虎の穴ラボ は開発に使っているの?

- 社内向けのアプリの開発で使用中

- ノウハウが得られれば(+要件とマッチすれば)

社外向けのサービスに使うことも検討できる見込み



Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
宣伝

Denoに関することであればなんでもOKでのLT会やってます

Copyright  (C) 2021 Toranoana Inc. All Rights Reserved.
ご静聴ありがとうございました


More Related Content

What's hot

Deno で始めるフロントエンド
Deno で始めるフロントエンドDeno で始めるフロントエンド
Deno で始めるフロントエンド虎の穴 開発室
 
サーバサイドKotlinへの入門 Ktor編
サーバサイドKotlinへの入門 Ktor編サーバサイドKotlinへの入門 Ktor編
サーバサイドKotlinへの入門 Ktor編虎の穴 開発室
 
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴 開発室
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3虎の穴 開発室
 
Kotlinではじめる Webアプリケーション入門
Kotlinではじめる Webアプリケーション入門Kotlinではじめる Webアプリケーション入門
Kotlinではじめる Webアプリケーション入門虎の穴 開発室
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる虎の穴 開発室
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング虎の穴 開発室
 
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用虎の穴 開発室
 
【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた
【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた
【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた虎の穴 開発室
 
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴 開発室
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴 開発室
 
Deno の node 互換モードと ソケット
Deno の node 互換モードと ソケットDeno の node 互換モードと ソケット
Deno の node 互換モードと ソケット虎の穴 開発室
 
Tech day#2 オープニングトーク
Tech day#2 オープニングトークTech day#2 オープニングトーク
Tech day#2 オープニングトーク虎の穴 開発室
 
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechconYosaku Toyama
 
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜Kentaro Matsumae
 
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokaiGo Sueyoshi (a.k.a sue445)
 
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1虎の穴 開発室
 
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ虎の穴 開発室
 

What's hot (20)

Deno で始めるフロントエンド
Deno で始めるフロントエンドDeno で始めるフロントエンド
Deno で始めるフロントエンド
 
サーバサイドKotlinへの入門 Ktor編
サーバサイドKotlinへの入門 Ktor編サーバサイドKotlinへの入門 Ktor編
サーバサイドKotlinへの入門 Ktor編
 
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
 
GCPの画像認識APIの紹介
GCPの画像認識APIの紹介 GCPの画像認識APIの紹介
GCPの画像認識APIの紹介
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
 
Kotlinではじめる Webアプリケーション入門
Kotlinではじめる Webアプリケーション入門Kotlinではじめる Webアプリケーション入門
Kotlinではじめる Webアプリケーション入門
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
 
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
0から1へ、1からその先の未来へ!とらのあなラボのエンジニア採用
 
【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた
【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた
【とらラボLT】アニメ視聴状況を管理するWebページを作ってみた
 
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
虎の穴ラボ Tech day#3 チームで戦う!とらのあな通販冬の大感謝祭でのフロント開発について
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料
 
20210528 aws arm_ugokasitemita
20210528 aws arm_ugokasitemita20210528 aws arm_ugokasitemita
20210528 aws arm_ugokasitemita
 
Deno の node 互換モードと ソケット
Deno の node 互換モードと ソケットDeno の node 互換モードと ソケット
Deno の node 互換モードと ソケット
 
Tech day#2 オープニングトーク
Tech day#2 オープニングトークTech day#2 オープニングトーク
Tech day#2 オープニングトーク
 
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
 
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
iOSレガシーコード改善ガイド〜マンガボックス開発における事例〜
 
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
 
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
はじめようVue3!ハンズオンでとらのあなラボのフロントエンドを学ぶ_20210611_TechDay#1
 
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
【LT「超」募集中!】リモートワークTips 超LT会 - vol.3 スタンディングデスクと、 雑談のススメ
 

Similar to JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発

Deno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介しますDeno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介します虎の穴 開発室
 
今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --
今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --
今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --虎の穴 開発室
 
Deno を aws fargate で動かす
Deno を aws fargate で動かすDeno を aws fargate で動かす
Deno を aws fargate で動かす虎の穴 開発室
 
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –虎の穴 開発室
 
【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る
【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る
【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る虎の穴 開発室
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術kazuya noshiro
 
Quiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasiaQuiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasiaYosuke Furukawa
 
THETA プラグインで WebRTC やってみた
THETA プラグインでWebRTC やってみたTHETA プラグインでWebRTC やってみた
THETA プラグインで WebRTC やってみたHideki Shiro
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform CloudWataru Unno
 
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf虎の穴 開発室
 
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後Shingo Sasaki
 
WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)Lorenzo Miniero
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門cch-robo
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向Ryosuke Otsuya
 

Similar to JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発 (20)

Deno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介しますDeno 向け WEB 開発用のツールを作ったので 紹介します
Deno 向け WEB 開発用のツールを作ったので 紹介します
 
今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --
今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --
今まで公開してきた Deno Third Party Modules -- Deno での WebAssembly の利用の話 --
 
Deno を aws fargate で動かす
Deno を aws fargate で動かすDeno を aws fargate で動かす
Deno を aws fargate で動かす
 
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
 
【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る
【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る
【20220120 toranoana.deno#4】deno を使って「ログイン」するサービスを作る
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
React vtecx20170822
React vtecx20170822React vtecx20170822
React vtecx20170822
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術
 
Quiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasiaQuiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasia
 
THETA プラグインで WebRTC やってみた
THETA プラグインでWebRTC やってみたTHETA プラグインでWebRTC やってみた
THETA プラグインで WebRTC やってみた
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
 
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdfDeno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
Deno Deployと組み合わせるのに Upstashをおすすめしたい.pdf
 
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後
 
WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
オタク×Node.js勉強会
オタク×Node.js勉強会オタク×Node.js勉強会
オタク×Node.js勉強会
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向
 

More from 虎の穴 開発室

Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する虎の穴 開発室
 
虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴 開発室
 
toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明虎の穴 開発室
 
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと虎の穴 開発室
 
セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説虎の穴 開発室
 
Amplify Studioを使ってみた
Amplify Studioを使ってみたAmplify Studioを使ってみた
Amplify Studioを使ってみた虎の穴 開発室
 
いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!虎の穴 開発室
 
【20220120 toranoana.deno#4】denoでffiの続き
【20220120 toranoana.deno#4】denoでffiの続き【20220120 toranoana.deno#4】denoでffiの続き
【20220120 toranoana.deno#4】denoでffiの続き虎の穴 開発室
 
虎の穴ラボにおけるリモートワークの働き方
虎の穴ラボにおけるリモートワークの働き方虎の穴ラボにおけるリモートワークの働き方
虎の穴ラボにおけるリモートワークの働き方虎の穴 開発室
 
【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI虎の穴 開発室
 
【コードレビューLT資料】コード規約の策定会を実施した話
【コードレビューLT資料】コード規約の策定会を実施した話【コードレビューLT資料】コード規約の策定会を実施した話
【コードレビューLT資料】コード規約の策定会を実施した話虎の穴 開発室
 
ワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しました
ワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しましたワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しました
ワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しました虎の穴 開発室
 
はじめてのわーけーしょん
はじめてのわーけーしょんはじめてのわーけーしょん
はじめてのわーけーしょん虎の穴 開発室
 
社員旅行はもう古い! いいことづくめのワーケーション
社員旅行はもう古い! いいことづくめのワーケーション社員旅行はもう古い! いいことづくめのワーケーション
社員旅行はもう古い! いいことづくめのワーケーション虎の穴 開発室
 
CTO実体験!温泉地やサウナをめぐるワーケーション
CTO実体験!温泉地やサウナをめぐるワーケーションCTO実体験!温泉地やサウナをめぐるワーケーション
CTO実体験!温泉地やサウナをめぐるワーケーション虎の穴 開発室
 

More from 虎の穴 開発室 (17)

FizzBuzzで学ぶJavaの進化
FizzBuzzで学ぶJavaの進化FizzBuzzで学ぶJavaの進化
FizzBuzzで学ぶJavaの進化
 
Railsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認するRailsのデバッグ どうやるかを改めて確認する
Railsのデバッグ どうやるかを改めて確認する
 
虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf虎の穴ラボ エンジニア採用説明資料 .pdf
虎の穴ラボ エンジニア採用説明資料 .pdf
 
toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明toranoana.deno #6 アジェンダ 採用説明
toranoana.deno #6 アジェンダ 採用説明
 
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
【エンジニアの勉強法ハックLT- vol.7】ゲームから学んだ勉強のこと
 
GitHub APIとfreshで遊ぼう
GitHub APIとfreshで遊ぼうGitHub APIとfreshで遊ぼう
GitHub APIとfreshで遊ぼう
 
セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説セキュリティを強化しよう!CloudArmorの機能解説
セキュリティを強化しよう!CloudArmorの機能解説
 
Amplify Studioを使ってみた
Amplify Studioを使ってみたAmplify Studioを使ってみた
Amplify Studioを使ってみた
 
いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!いいテスト会 (スプリントレビュー) をやろう!
いいテスト会 (スプリントレビュー) をやろう!
 
【20220120 toranoana.deno#4】denoでffiの続き
【20220120 toranoana.deno#4】denoでffiの続き【20220120 toranoana.deno#4】denoでffiの続き
【20220120 toranoana.deno#4】denoでffiの続き
 
虎の穴ラボにおけるリモートワークの働き方
虎の穴ラボにおけるリモートワークの働き方虎の穴ラボにおけるリモートワークの働き方
虎の穴ラボにおけるリモートワークの働き方
 
【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI
 
【コードレビューLT資料】コード規約の策定会を実施した話
【コードレビューLT資料】コード規約の策定会を実施した話【コードレビューLT資料】コード規約の策定会を実施した話
【コードレビューLT資料】コード規約の策定会を実施した話
 
ワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しました
ワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しましたワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しました
ワーケーションを 体験してみて〜富山 ワーケーションモニターツアーに参加しました
 
はじめてのわーけーしょん
はじめてのわーけーしょんはじめてのわーけーしょん
はじめてのわーけーしょん
 
社員旅行はもう古い! いいことづくめのワーケーション
社員旅行はもう古い! いいことづくめのワーケーション社員旅行はもう古い! いいことづくめのワーケーション
社員旅行はもう古い! いいことづくめのワーケーション
 
CTO実体験!温泉地やサウナをめぐるワーケーション
CTO実体験!温泉地やサウナをめぐるワーケーションCTO実体験!温泉地やサウナをめぐるワーケーション
CTO実体験!温泉地やサウナをめぐるワーケーション
 

Recently uploaded

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Recently uploaded (7)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発

  • 1. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 2022/02/26
 JavaScript LT会 〜 React.js / Node.js歓迎 
 
 虎の穴ラボ
 奥谷 一陽
 Deno でやってみる WEB開発

  • 2. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 自己紹介
 奥谷 一陽
 所属:虎の穴ラボ株式会社
 担当:とらコインSHOPなど新規事業系の開発
 興味:TypeScript、Deno
 おすすめコンテンツ:
   『プラネテス』
   『機界戦隊ゼンカイジャー』
 
 Twitter:@okutann88

  • 3. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 「Deno」 使ってますか?

  • 4. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Deno とは? 
 JavaScriptとTypeScript のシンプルで安全なランタイム
 シンプル:インストールは単一のバイナリだけ
      テストツール等を本体のインストールで使える
 安全:  リソースアクセスへのパーミッション
      ファイルアクセスやネットワークの利用には、
      明示的なオプションの付与が必要 など

  • 5. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Deno とは?
 そして、Node.js の作者 Ryan Dahl 氏がメインで開発。
 - Node.js の反省
 - package.json
 - モジュールインポートの拡張子の省略 他
 参考:https://yosuke-furukawa.hatenablog.com/entry/2018/06/07/080335
  • 6. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Denoの特徴/いいところ 
 - ノンセットアップで TypeScript を書き始められる
 - テストツールも付属している(テストとの関係が近い)  標準モ ジュールがテスト用の関数群を提供してくれる 
 - パッケージ管理にnpmを採用しない         npm(及び node_modules) での管理は複雑
   参考: https://kt3k.github.io/talk_devsumi_2022_deno/#1 

  • 7. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 今回は、
 「Denoそのもの」ではなく、
 「Denoで開発」どのくらいできるだろう?
 というお話です

  • 8. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. アジェンダ
 話すこと
 - 現在の「Denoで開発」ってどのくらいできるだろう?
 - Reactを書きたい!
 - リッチにReactを書きたい!!
 - もっとリッチにReactを書きたい!!!
 - それでも足りていないものは?
 話さないこと
 - Node.js 互換モードについて
 

  • 9. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Reactを書きたい!

  • 10. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. https://github.com/kt3k/packup https://github.com/kt3k/packup
  • 11. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. packup
 概要
 - Parcel インスパイア の
 js(ts)/css(scss)をビルドしてくれるバンドラー

  • 12. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Deno は、Node.js におけるnpmにあたるもの が無い
 npmパッケージをESM(ES Modules)で配信するCDNから、
 URLを使ってimportします。
 - esm.sh <= 今回はコチラ
 - Skypack
 - JSPM
 

  • 13. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. デモ - packup で React を動かす -

  • 14. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. packupを使えば
 - ビルドしたファイルを置くだけで良いアプリの場合、
 十分要件を満たせそう
 - scss -> css への変換もやってくれる
 注意事項
 - parcel や、vite 、webpack-dev-server
 にあるような API proxy 機能が無いので、
 APIも準備したい場合には工夫が必要
 

  • 15. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. リッチにReactを書きたい!!

  • 16. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. https://github.com/exhibitionist-digital/ultra
  • 17. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Ultra 概要
 - React アプリケーションフレームワーク
 - SSRに対応
 packup との使い分け
 - SSR を使いたい!
 - APIも準備したい!
 場合、Ultra をオススメ
 

  • 18. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. デモ - Ultra で 「twitter でログイン」 -

  • 19. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. デモアプリ - ツイッタータイムライン - 
 アプリを公開済みです。
 https://github.com/Octo8080/Twitter-Timeline-app
 Deno で Twitter 連携ログインをするアプリの検証として作成
 https://test001.deruta3.net/
  • 20. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Ultra を使えば
 SSR 機能付きのReact アプリケーションを       Denoで動かせ る
 注意事項
 - 最近公開された Ultra 0.7 で大きく変更が入った
 APIの拡張など0.6のノウハウが一部生かせないかも
 

  • 21. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. もっとリッチにReact書きたい!!!

  • 22. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. https://github.com/alephjs/aleph.js https://github.com/alephjs/aleph.js
  • 23. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. Aleph.js
 概要
 - Next.js インスパイアのフルスタックフレームワーク
 - SSR/SSG対応
 - ファイルシステムルーティング対応
 Ultra との使い分け
 - SSGや、ファイルシステムルーティングを使いたい!
 - 現在Next.jsを使っている
 場合、コチラをオススメ

  • 24. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. デモ - Aleph.js を導入-

  • 25. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. それでも足りないものは?

  • 26. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. それでも足りないものは?
 ORMの選定
 Node.js で使われるORMのいくつかは、         Deno 対応 の issue がありPrisma は          モジュールの登録が済 んでいる、注視したい
 https://github.com/sequelize/sequelize/issues/12836
 https://github.com/typeorm/typeorm/issues/6123
 https://github.com/prisma/prisma/issues/2452
 要件次第では「アレがない」は起こりうる

  • 27. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 最後に 

  • 28. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. これからのDeno
 Deno 2 が、2022年前半にやってくる!
 - もうすぐロードマップも公開されそう
 - Deno は、最近Node.jsとの互換性に重きを置いている
 - NPMエコシステムとの互換性向上と、         代わりになる パッケージ管理ソリューションにも言及されていてよりNode.jsの 既存資産を活かし易くなりそう

  • 29. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. で、結局 虎の穴ラボ は開発に使っているの?
 - 社内向けのアプリの開発で使用中
 - ノウハウが得られれば(+要件とマッチすれば)
 社外向けのサービスに使うことも検討できる見込み
 

  • 30. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. 宣伝
 Denoに関することであればなんでもOKでのLT会やってます

  • 31. Copyright  (C) 2021 Toranoana Inc. All Rights Reserved. ご静聴ありがとうございました