正在加载视频...

视频加载失败

We compiled reactive JavaScript into a cartridge. The same Vue component now runs on a 2KB RAM NES and a Game Boy Advance. No JavaScript engine. No GC. The computed values and UI effects are compiled directly into bare-metal C. This is Pocket Vapor. ⚡️

73,071 次观看 • 3 个月前 •via X (Twitter)

12 条评论

PocketJS 的头像
PocketJS3 个月前

The Pocket Vapor experiment is now in the PocketJS repo under vapor/. It’s still early, not a release yet. But the compiler, console targets, and cross-runtime parity tests are already here:

PocketJS 的头像
PocketJS3 个月前

How do you run Vue reactivity on a machine with 2 KB of RAM? The full technical writeup:

DannyW 的头像
DannyW3 个月前

Love the work you are doing. It’s awesome seeing all these updates, keep them coming

PocketJS 的头像
PocketJS3 个月前

Thanks!

StonedModder 的头像
StonedModder3 个月前

If yall can add support for switch and Wii U as well eventually you win Pocket js is sick !

PocketJS 的头像
PocketJS3 个月前

They’re definitely in scope. PocketJS aims to cover a very broad hardware spectrum!

Sree 的头像
Sree3 个月前

this is sick!

EA-18G Growler Enjoyer 的头像
EA-18G Growler Enjoyer3 个月前

Super cool project

0xbogan 的头像
0xbogan3 个月前

If I'm reading the numbers right, it means you can have a form with about twice as many elements before you run the NES out of RAM

PocketJS 的头像
PocketJS3 个月前

Not quite. The ~940 B number is app state on the GBA, not the NES’s total footprint. The NES’s 2 KB must also hold the record pool, computed views, shadow screen grid, and C stack, so this demo is currently capped at 8 todos. There isn’t a generic elements-to-RAM ratio yet; the compiler derives and checks a static memory plan for each component and target.

Garrett Walker 的头像
Garrett Walker3 个月前

@evanyou That is insane!

harold 的头像
harold2 个月前

But no canvas support or way to draw to gba screen instead of canvas?

相关视频