Native apps written in TypeScript and CSS
51 points by arbayi 3 hours ago | 12 comments
bertili 3 hours ago
Not apparent at first, but this is a TypeScript to c++ compiler at the core (https://github.com/geastack/compiler), with bindings for various platforms.
replyzerr 3 hours ago
What do they use for graphics and audio?
replyzero_shift 30 minutes ago
It's not clear at first glance, but given (1) the apps are written in JavaScript (2) the project has repos for different OS native bindings, my bet is some kind of embedded JavaScript engine that just calls through to OS native widets
replydashersw 2 hours ago
Each platform has its native bindings. For graphics, you write CSS and HTML canvas API as well as JSX, it renders to native components and their alignments, the canvas API is converted to native surfaces, whatever the platform uses.
replyzerr 2 hours ago
I mean, is it OpenGL, Vulkan, Metal? etc...
replydashersw 2 minutes ago
It defers to platform defaults, Android compositor, UIKit/AppKit native views or CoreGraphics for the canvas on Apple platforms, GDI/GDI+ on Windows, whatever SDL2 chooses on Linux. If you have a Three.js app, it uses Metal on iOS and macOS, Direct3D 11 (open) and 12 (commercial license) on Windows and XBox.
replysublinear 3 hours ago
Ah this is for embedded apps. Pretty neat!
replydashersw 2 hours ago
It also supports iOS, macOS, Android, Windows, Linux, XBox for Three.js games, as well as (some) Node.js apps.
replyjr3592 2 hours ago
could you throw a react project (WEB) at it and get a native macos project out of it?
replydashersw 9 minutes ago
It supports Gea frontends (https://geajs.com). Technically it could compile React with a plugin, but that is left to the community as an exercise :)
replyletrix 2 hours ago
It loosk more like React Native: https://github.com/geastack/examples/tree/main/apps/notes-na...
replytarcon 2 hours ago
"The earlier implementation could not be driven to zero of them, because boxing was load-bearing in its emitter"
replyIn the docs of the repo of their TS to C++ compiler. https://github.com/geastack/compiler