Zero-native – Build native desktop apps with web UI

(zero-native.dev)

29 points | by gedy 4 hours ago

10 comments

  • h4ch1 1 hour ago
    > Use the system WebView for lightweight apps, or bundle Chromium via CEF

    so basically a vibe coded Tauri in zig? I don't like calling webview dependent applications "native desktop apps".

    Native desktop apps means using the OS primitives and directives to draw the UI imo; WinForms, SwiftUI, and their ilk.

    • thayne 1 hour ago
      Maybe it's called zero native because that is how native it is.
      • popcorncowboy 30 minutes ago
        "Not native" doesn't roll off the tongue quite so easily (dot com is available for a few grand). Concept is solid, an ingenious name even.
  • aiscoming 1 hour ago
    I love the redefinition of "native desktop app" - a web app which uses the system web-view instead of bundling Chrome.
  • AbuAssar 2 hours ago
    > No borrow checker. No lifetimes. No fighting the compiler for 20 minutes over a string.

    I don’t like this attitude, both zig and rust have their strengths.

    • pmarreck 53 minutes ago
      > "I don't like this attitude"

      Cool, let me know when you have a rational counterargument then, some of us have gotten fed up with Rust (especially at scale) and are very much enjoying Zig (which has no magic, which turns out to be a huge advantage at scale)

      • ramon156 13 minutes ago
        "No borrow checker" id not a reason to switch to Zig, unless you have a reason that borrow checker is limiting you from developing, hence the "I don't like this attitude". Just give the reason, not the "solution"

        Not to mention we're nitpicking over something that an LLM wrote.

      • adastra22 44 minutes ago
        Ok have fun. The rest of us are having no problems.
    • nurettin 1 hour ago
      Rust has bad ergonomics. You will see that "attitude" as long as coding exists, or lifetimes are fixed in a way to allow you to omit them in contexts which are not concurrent or are embarrassingly parallelizable.
    • DeathArrow 1 hour ago
      I would take Zig over Rust any time. It simply fits the way I think much much better.

      And since 0.16/0.17 Zig introduced a very nice async/concurrency system that doesn't require function coloring. While async in Rust still feels strange and not well integrated.

  • iamcalledrob 15 minutes ago
    Using the "system WebView" is not a positive on Linux.

    For some reason that always means WebKitGTK, which is crummy.

    Someone, anyone, please get CEF working with GTK4.

  • iamsaitam 2 minutes ago
    zero examples
  • jerleth 45 minutes ago
    Sounds very similar to webui (zig version: https://github.com/webui-dev/zig-webui)

    What is the difference?

  • norskeld 1 hour ago
    Given this is from Vercel and most likely vibe coded (hopefully not), I wonder how many zero-day vulnerabilities will be there... :^)
  • vijaybritto 1 hour ago
    Im not sure if people are getting the biggest problem in electron desktop apps.

    Its RAM usage not the disk!!

    Why are they all making the same thing in different ways?! I have never worked on an electron app where the executable size was an impediment to the business. Its always the RAM/CPU usage. If we are going to work on the same webviews like electron and others, how will this make any difference?

    • cosmotic 1 hour ago
      Using the system webview theoretically saves memory. Though it's still not great.
    • Bolwin 1 hour ago
      Cause they all share one webview. Electron apps each run their own version of chromium
  • DeathArrow 1 hour ago
    Still, using system's native GUI should be more performant and use less memory.

    I would rather see existing Zig GUI libraries using system's GUI primitives improving. With LLM GUI stuff should be simple enough and we don't need to rely on people web expertise to build desktop apps.

    • thayne 43 minutes ago
      Unfortunately, all the native "system" GUI frameworks are all terrible in their own unique ways.

      Unless you mean drawing the gui directly to a graphics surface, which often results in even poor accessibility and system integration unless the developer cares a lot about that and puts a lot of effort into it.

  • boxed 1 hour ago
    No screenshot examples even? :/