Native apps written in TypeScript and CSS

(github.com)

55 points | by arbayi 2 hours ago

6 comments

  • bertili 2 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.
  • slopinthebag 4 minutes ago
    the amount of ai used in this makes me think its pure vaporware. has anyone actually confirmed any of this is real or works?
  • zerr 2 hours ago
    What do they use for graphics and audio?
    • trelliscoded 1 minute ago
      They mention OpenGL for the bigger targets, but I was wondering how this worked for the ESP32. Turns out they wrote a custom 2D rasterizer specifically for this target, basically a miniature version of a browser layout engine: https://geastack.com/blog-we-taught-a-chip-to-run-css
    • zero_shift 43 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
    • dashersw 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.
      • zerr 1 hour ago
        I mean, is it OpenGL, Vulkan, Metal? etc...
        • dashersw 14 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.
  • sublinear 2 hours ago
    Ah this is for embedded apps. Pretty neat!
  • nuk3 1 hour ago
    [dead]
  • tarcon 2 hours ago
    "The earlier implementation could not be driven to zero of them, because boxing was load-bearing in its emitter"

    In the docs of the repo of their TS to C++ compiler. https://github.com/geastack/compiler