primate icon indicating copy to clipboard operation
primate copied to clipboard

native runtime support for compilation

Open terrablue opened this issue 1 year ago • 9 comments

A meta-issue to track runtime support for compiling Primate projects to native applications, also see https://primatejs.com/modules/runtime-support.

Target Node Deno Bun
Desktop (linux-x64)
Desktop (linux-arm64) (https://github.com/rcompat/rcompat/issues/37)
Desktop (darwin-x64) ✗ (https://github.com/oven-sh/bun/issues/11959)
Desktop (darwin-arm64) ✗ (https://github.com/oven-sh/bun/issues/11959)
Desktop (windows-x64)
Mobile (android)
Mobile (ios)

terrablue avatar Aug 10 '24 14:08 terrablue

@gedw99 fyi

terrablue avatar Aug 10 '24 14:08 terrablue

Upstream Deno blockers

  • Including assets (https://github.com/denoland/deno/issues/17994)
  • Custom conditions exports (https://github.com/denoland/deno/issues/23757)

We need both to reach feature-parity with Bun, and make compilation of Primate apps on Deno possible

terrablue avatar Aug 12 '24 16:08 terrablue

@gedw99 No pressure. I myself am evaluating other webview solutions to see how we can get mobile support in. Just look at it when you have time, leisure and inspiration.

terrablue avatar Aug 13 '24 07:08 terrablue

Oh don't get me wrong. I'd love to use the golang one if it's better than what we have, I just haven't had the time to look at it myself.

I've also considered writing my own wrapper library in Zig, but I also haven't had the time to do that, either. :)

terrablue avatar Aug 13 '24 07:08 terrablue

https://github.com/rcompat/rcompat/tree/master/packages/webview wraps around the webview C library (at https://github.com/webview/webview), which has no mobile support.

I wrote up (partially) about it in this deep dive over here, if you're interested (and have some time -- it's long), https://superarch.org/theanswerisc/primate-native-conditional-exports-debarrelling.html

terrablue avatar Aug 13 '24 07:08 terrablue