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
Next.js で Ruby をプログラミング&実行できるアプリを作る
Search
uutan1108
January 18, 2024
Programming
0
860
Next.js で Ruby をプログラミング&実行できるアプリを作る
エンジニアの自由研究発表会vol.9
https://tech-street.connpass.com/event/305362/
uutan1108
January 18, 2024
Tweet
Share
More Decks by uutan1108
See All by uutan1108
OpenAPI を守るのは難しい
ohmori_yusuke
2
890
コミュニティに参加したことで起きた変化
ohmori_yusuke
3
150
Laravel を学ぶ前に書いていた require と Laravel 使い始めてから躓いた use 宣言と namespace
ohmori_yusuke
1
290
未来を拓く若手エンジニアの興味関心と目指すキャリア
ohmori_yusuke
1
250
PHPカンファレンス関西2024でLTとスタッフした
ohmori_yusuke
2
440
技書博に参加したら執筆できた
ohmori_yusuke
1
410
PHPを勉強してからプログラミングが好きになった話
ohmori_yusuke
1
610
「石蒜模拟器」にコントリビュートしてみた
ohmori_yusuke
1
440
新卒研修で取り組んだスクラム開発で苦戦したところと学んだこと
ohmori_yusuke
4
1.9k
Other Decks in Programming
See All in Programming
Netty Chicago Java User Group 2024-04-17
sullis
0
200
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
440
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
330
Next.js App Router
quramy
11
1.6k
Polars入門
daikikatsuragawa
1
160
Apache Hive 4 on Treasure Data
ryukobayashi
1
410
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
Try creating your own orderedmap
kazamori
1
170
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
120
Micro Frontends for Java Microservices - Utah JUG 2024
mraible
PRO
1
110
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
400
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1k
Featured
See All Featured
Design by the Numbers
sachag
274
18k
Bash Introduction
62gerente
605
210k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Atom: Resistance is Futile
akmur
260
25k
Debugging Ruby Performance
tmm1
70
11k
Git: the NoSQL Database
bkeepers
PRO
423
63k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Optimising Largest Contentful Paint
csswizardry
12
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
How to name files
jennybc
65
93k
Transcript
Next.js で Ruby を プログラミング&実行できる アプリを作る エンジニアの自由研究発表会vol.9 うーたん
自己紹介 • うーたん • 新卒サーバーサイドエンジニア ◦ 株式会社ゆめみ • 趣味 ◦
アニメを見ること • X ◦ @uutan1108
目次 - 作ったもの - 仕組み - Server Actions - @ruby/wasm-wasi
- 終わりに
作ったもの
None
None
Ruby のコードを Next.js のみで実行できる
仕組み
仕組み ・Server ActionsはNext.js 14でStableになった機能です。 サーバー側で関数を実行できます。 ・サーバー側の実行結果をクエリパラメータに与えリダイ レクト させます。
実行前 実行後
Server Actions
Server Actions and Mutations サーバーアクションは、サーバー上で実行される非同期関数で す。サーバーコンポーネントやクライアントコンポーネントで使 用し、Next.jsアプリケーションのフォーム送信やデータを処理し ます。 https://nextjs.org/docs/app/building-your-application /data-fetching/server-actions-and-mutations
Server Actions ・フォームのsubmitが押 さ れた時にサーバーで 関数 が実行される。 ・フォームの入力内容を 受 け取り処理をでき る。 ・onAction関数にRuby を 実行するコードを書 く 引
用:https://future-architect.github.io/articles/20231130a
wasm
WebAssembly とは何か この機能はウェブプラットフォームにとって大きな意味を持ちま す。ウェブ上で動作するクライアントアプリで従来は実現できな かった、ネイティブ水準の速度で複数の言語で記述されたコー ドをウェブ上で動作させる方法を提供します。 今回はサーバー側でWasmを実行しています。 https://developer.mozilla.org/ja/docs/WebAssembl y/Concepts
@ruby/wasm-wasi ・先ほどのonAction関数内のコー ド。 ・npmでインストールできる。 ・wasmを読み込んでユーザーから 受け取ったコードを実行する。 ・Rubyで標準入力を与え、標準 出 力を取得するコードを追加す る。
終わりに
感想 • 意外と簡単に実装できた • Next.js 14 の新しい機能 Server Actions を使ってみたが、
便利そうな気がする • OHMORIYUSUKE/ruby-web でコードを公開しているので 見てください! • 作ってみると楽しい
ご清聴ありがとうございました🙇