Electrobun: Cross-platform desktop applications written in TypeScript

285 points - last Wednesday at 11:58 PM

Source
  • zephraph

    today at 1:08 AM

    This is awesome! I built a similar tool as an experiment while at Recurse: https://github.com/zephraph/webview. Didn’t really do any heavy lifting though, just reused some of Tauri’s crates. Does Bun run on the same process as the GUI binding? OSX steals the main thread when rendering a native window which made me lean towards separating the processes. Still wonder if there’s a better way.

    • veidr

      yesterday at 3:03 AM

      So this aspires to be something like Tauri, but with Zig for the fast/native bits, and leaning harder on and more opinionated about the frontend/UI part?

      That's a pretty interesting proposal, but also a staggeringly huge amount of work.

        • yoav

          yesterday at 3:08 AM

          It’s only been a few months but yes it’s a huge undertaking.

          I’m only picking up steam though and my whole career has been taking on these kinds of huge projects so it’s just getting started.

            • veidr

              yesterday at 3:16 AM

              Awesome. :) Good luck.

              I think it's a really attractive package for an early-stage one-person project. Nice docs, and cute bunny.

              FWIW, it also seems super-sensible to focus on Mac only for now, and get the basics working well there — a good Mac DX could provide the traction/momentum to get more contributors to help build out the obvious cross-platform promise.

                • klabb3

                  yesterday at 5:00 AM

                  > it also seems super-sensible to focus on Mac only for now

                  I’m the first guy to agree to reduced scope, but unfortunately the reality of cross platform is that the subtle details affect the APIs, and once you add more platforms, you can realize issues too late. As a simple example, MacOS has a concept of “showing/activating the app” whereas Windows has… well individual windows. They add up, especially if you add mobile to the mix.

                  I think the most sensible is to keep the api surface small, and also to peek at electron, tauri etc to learn and try not making expensive mistakes.

                  • brailsafe

                    yesterday at 5:06 AM

                    Ya, I kind of hate to say it, but it feels like because of Window's backwards compatibility and variation in UI styles over the years, people expect Mac apps to be comparatively pretty consistent, and consistently good. There's some wiggle room, but usually it's some niche open source app that's just too generally useful to prioritize mac

        • cageface

          today at 1:11 AM

          One of my favorite things about Tauri is that I can write all the "back end" code in Rust. I think this has a lot of advantages for performance and correctness. For that reason alone I'm more inclined to reach for it than Electron or something like this when I have options.

          • yoav

            yesterday at 1:20 PM

            Hey hn! Author here:

            Thanks to whoever submitted.

            Electrobun is in the very early stages. The roadmap is a bit out of date. Here are some highlights:

            - it’s like Tauri in that it uses the system webview and does not bundle chromium

            - it’s like Electron in that it bundles Bun instead of Node for the main process so you just write typescript for both the main and browser contexts

            - native bindings written in c/objc with a zig wrapper that the bun process runs

            - it will be cross platform, but working on stability first

            - the cli handles updates code signing and everything else you need and outputs build artifacts that you just need to upload to S3 or any static file host.

            - it has a custom optimized bsdiff implementation in zig that autogenerates updates for your app as small as 4KB

            - it has a custom zig self extracting mechanism that uses zstd so your initial download is also as small as can be.

            - it has a custom encrypted easy to use RPC mechanism between bun and browser processes where you just write method signatures and handlers.

            - it has a custom OOPIF implementation so you can embed isolated browser contexts with your html <electrobun-webview> element that are performant and easy to use so you could build a multi tab web browser with it if you wanted.

              • pmuk

                yesterday at 6:46 PM

                Do you have any examples apps built on electrobun?

              • jacobgorm

                yesterday at 2:32 PM

                Tauri also uses the system webview and does not bundle Chromium, right?

                  • davidmurdoch

                    yesterday at 11:49 PM

                    "it’s like Tauri in that it uses the system webview and does not bundle chromium"

                • bsimpson

                  yesterday at 2:24 PM

                  [flagged]

                    • joshmanders

                      yesterday at 3:26 PM

                      > You should pick a different name.

                      Can we please stop telling people to change their names because something else exists with a similar name?

                      If we take this stance seriously, then Google would have to change their name as San Diego Colab has existed for a year before Jupyter was created, therefore existed before Google Colab.

                        • benatkin

                          today at 1:52 AM

                          These comments don't solve the annoyance of false assumptions on HN, because they often contain a false assumption of their own.

                          Google didn't have the same issue with confusion because of San Diego Colab that colab.sh will have if they keep their name and get popular. That's because San Diego Colab wasn't nearly as well known as Google Colab is now.

                          So I can say "Can we please stop" to your comment, and I'm sure you can find something with my comment and get in a loop of "can we please stop".

                            • joshmanders

                              today at 1:57 AM

                              And then when this project explodes and becomes as well known as Electron is eclipsing Google Colab (I never heard of it until today) then your argument is invalid.

                              And you're right, we can keep getting into this loops, so lets nip it in the bud where it all begins and shocker, not tell people to change the name of their stuff because something else exists with a similar name but completely unrelated.

              • sshine

                yesterday at 1:31 AM

                How do they manage the OS-specific stuff with pure TypeScript? How does it compare in benchmarks against Tauri for size and speed?

                  • c0wb0yc0d3r

                    yesterday at 1:48 AM

                    I dug through it a tiny bit because I was curious as well. To me it looks like OS-specifics aren't dealt with in the project. It uses bun to run the TypeScript. From the getting started docs the project just opens a browser window for the UI. I didn't look to see if this meant the user's default browser or a bundled browser.

                      • yoav

                        yesterday at 3:00 AM

                        Native bindings written in c/objc and a zig binary that bun spawns.

                    • semireg

                      yesterday at 1:45 AM

                      A: native bindings written in zig

                  • ivanjermakov

                    yesterday at 12:52 PM

                    What rendering engine does it use? Project name suggests Electron, but they never mention it

                    > The current Electrobun Playground app is 50.4MB in size (most of this is the bun runtime)

                    Seems to be more than just bun runtime.

                      • klabb3

                        yesterday at 2:59 PM

                        Electron is not a rendering engine. It’s an application bundler, which itself bundles Chromium and NodeJS.

                        This project uses native web views, like Tauri. They wrote that they might provide the option of bundling your own engine, ie like Electron, which I personally think it’s a bad idea. Tauri proved that you don’t need it.

                        But now that you mention it, agreed that 50MB is a lot.. maybe just standard JS dep bloat? That could be clarified.

                          • Wytwwww

                            yesterday at 8:14 PM

                            > Tauri proved that you don’t need it

                            Are there any major cross-platform apps based on it?

                              • klabb3

                                yesterday at 8:31 PM

                                Last I checked they did a pretty bad job showcasing the apps. But search for “awesome-tauri”, it’s pretty standard these days. Way past the initial hipster phase, almost boring.

                                A bit of self promo: you can also check out https://payload.app/ which is the project I’ve been working on for way too long now.

                    • schneehertz

                      yesterday at 8:06 AM

                      Basically, this is an Electron that replaces Node.js with Bun and Chromium with WebView?

                    • AlfredBarnes

                      yesterday at 4:12 PM

                      Interesting to watch it grow. I'm not going to jump in right away, but this is a great project!

                      • barbequeer

                        yesterday at 1:30 PM

                        I love to see projects like this, the more alternatives we have for creating cross-platform apps, the better.

                        • niutech

                          yesterday at 2:32 PM

                          So is it a yet another webview-based framework like NeutralinoJS (https://neutralino.js.org), Electrino (https://github.com/pojala/electrino) or DeskGap (https://deskgap.com)? What's their advantage apart from using Bun instead of Node?

                          For relly lightweight cross-platform desktop apps better use a non-webview-based native framework like Qt, GTK, wxWidgets or even recently released FLTK 1.4.

                            • yayoohooyahoo

                              yesterday at 11:53 PM

                              Modern apps these days often end up needing to render complex layouts and rich text, so you end up needing QWebview anyway. At least that's been my experience creating desktop apps lately.

                              • rubymamis

                                yesterday at 3:44 PM

                                Couldn't agree more, QML with C++ for the logic (or Rust or whatever other bindings you want to use), is the best imo.

                            • bobajeff

                              yesterday at 3:18 AM

                              >Security and Performance with isolation between the main and webview processes

                              That's one of the performance characteristics I'm afraid will hinder certain applications.

                              It sounds like you need to use a IPC bridge to share data between the main process and renderor. Which means copying all the shared data. Like if I wanted to use ffmpeg for decoding video then each frame I'm waiting for a the decoded image to be copied before rendering it.

                                • yoav

                                  yesterday at 3:42 AM

                                  Originally I had it going via browser -> postmessage -> zig -> bun via named pipes and then bun -> zig via named pipe -> js via evaluate js.

                                  I’m building https://colab.sh/ with electrobun and that rpc was pretty slow when trying to load multi MB files in the code editor.

                                  Last week I added an encrypted socket rpc option directly between bun and browser.

                                  Loading a 2MB file went from a few seconds to 400ms.

                                  I made it so that in contexts where CORS allows it automatically upgrades to the socket based faster RPC.

                                  That’s via RPC though. electrobun also exposes a custom views:// scheme in the browser context that can load files directly from specific sandboxed places in the file system. More to improve there but for a very big file you’d be better off writing it to the file system that would be much faster.

                                  • afavour

                                    yesterday at 3:20 AM

                                    Eh, it’ll hinder certain applications but very few, really. Assuming the webview is intended for UI and very little else.

                                • bitsandboots

                                  yesterday at 9:16 AM

                                  As an alternative to electron, using bun as a base sounds nice. But being better than electron is a low bar when it's the source of the laziest, most bloated programs on my system.

                                  Also, still waiting for bun to work on freebsd. Patiently! But it's on my xmas wishlist :)

                                  • PittleyDunkin

                                    yesterday at 12:50 PM

                                    Any plan for supporting native toolkit access ala react-native, or is the plan to just rely on web tech?

                                      • c-smile

                                        today at 1:32 AM

                                        You can use my Sciter if you need native widgets.

                                        Sciter is an HTML/CSS/JS engine with the ability to attach native widgets to DOM elements. So you'll benefit from two worlds: HTML/CSS layout richness and native widgets.

                                        The major problem though is Linux family of OSes in this respect. I have version of Sciter that works directly on X11 or Wayland ( https://sciter.com/sciter-glx-generation-4/ ). Windows and MacOS have clear concept of child windows/widgets but no such things on X11 or Wayland realistically speaking.

                                        So react-native is practically iOS/Android only thing.

                                    • dboreham

                                      yesterday at 11:59 AM

                                      Never understood why these things aren't done by running a local http server and use a regular browser.

                                        • whizzter

                                          yesterday at 12:33 PM

                                          Developing for Electron you usually had a regular webpack server in the background to handle hot-reload cases and technically you could have a regular browser.

                                          In production however you don't want a browser for 2 reasons, first should a local app really expose internals to the network(And get mucked up by firewalls)? secondly the deployment is easier the more it's self-contained.

                                          Also since there are internal communication channels between "browser" and native/"server" parts (that are far faster than going over the network) you don't want to diverge the production and development environment to avoid having hard to debug things.

                                          On top of it, in this case bun is also a bundler so you get the typescript transpilation for free.

                                          So to summarize, if your app is really only a plain webapp distributed to desktop then sure you can developer everything with a local webserver and package with whatever is available, but as soon as you involve native off-browser parts you don't want to start exposing everything and using the embedding systems(be it electron or webview2/khtml,etc) built in browser<->native communication is simply the saner choice and the point of these projects is to abstract that from the developer.

                                          • dymk

                                            yesterday at 1:25 PM

                                            Local file system access is one reason, any other native APIs needed for making a desktop app, etc

                                        • yard2010

                                          yesterday at 9:18 AM

                                          Yoav, you are a genius. Keep up the good work.

                                          • yesterday at 8:48 AM

                                            • surfmike

                                              yesterday at 8:25 AM

                                              Which webview does it use?

                                              • golanggeek

                                                yesterday at 2:53 PM

                                                Any similar platforms using Golang?

                                              • jedisct1

                                                yesterday at 2:25 PM

                                                Very promising project!

                                                • Carrok

                                                  yesterday at 5:03 AM

                                                  Why do so many projects fail to include any screenshots at all?

                                                  Maybe the authors don't think it's necessary, but step 3 under `Getting Started` is called `Creating UI`. Why would they not show what the result of the tutorial looks like?

                                                    • Ringz

                                                      yesterday at 5:51 AM

                                                      Not only are screenshots often missing, but I’m also surprised by how many projects fail to describe the purpose and goals of their project in short, simple sentences. Many mistakenly assume that only users and developers visit the website or repository, not decision-makers. More ELI5 ("Explain Like I'm 5") can never hurt.

                                                        • majkinetor

                                                          yesterday at 5:19 PM

                                                          Writing good documentation is extremely hard. Even 10x engeneers can be basically illiterate.

                                                            • metalliqaz

                                                              yesterday at 6:48 PM

                                                              > Even 10x engeneers can be basically illiterate.

                                                              I see what you did there

                                                    • xixixao

                                                      yesterday at 7:53 AM

                                                      Screenshots are harder to produce, maintain and publish.

                                                      I also suspect many technical authors are less “visual” so to speak, putting less emphasis on visual presentation.

                                                        • steve1977

                                                          yesterday at 8:56 AM

                                                          Not the best thing for a desktop application framework maybe.

                                                          • jamager

                                                            yesterday at 11:46 AM

                                                            > Screenshots are harder to produce, maintain and publish

                                                            What, really? What am I missing? If you tell me video, yes, but a screenshot...

                                                              • madeofpalk

                                                                yesterday at 12:10 PM

                                                                I don't think it's that hard, but it's easier for screenshots to drift and become out of date compared to just written text documentation.

                                                                  • conductr

                                                                    yesterday at 7:29 PM

                                                                    You’re just trying to give us the gist of things with images. It’s basically selling your thing to me as something I would want to try out. Usually if I connect with something I see in first few moments then my likelihood of trying the thing out is higher.

                                                                    We don’t need it to be updated on every commit. Or illustrated docs but some idea of what I’m getting myself into is nice to have.

                                                                    • high_na_euv

                                                                      yesterday at 12:35 PM

                                                                      It is literally a few minutes of effort

                                                                      If you cant do such basic thing, which would significantly improve an ability to understand your product, then wtf

                                                              • stiltzkin

                                                                yesterday at 4:41 PM

                                                                [dead]

                                                            • teg4n_

                                                              yesterday at 3:24 PM

                                                              i mean in this case it would be a window with any web app in it… not sure that would be particularly helpful.

                                                                • today at 12:19 AM

                                                              • yesterday at 10:08 PM

                                                            • throwaway888abc

                                                              yesterday at 6:52 AM

                                                              "...and cross-platform desktop applications" the homepage says

                                                              But, Sadly, this is mac only[0] no windows or linux ? Do I understand it correctly ?

                                                              [0] https://electrobun.dev/docs/guides/Compatability

                                                                • NoahKAndrews

                                                                  yesterday at 8:40 AM

                                                                  Looks like they're planning to only ever support building on Mac, but they plan to support running on Windows and Linux in the future

                                                                    • jclulow

                                                                      yesterday at 8:42 AM

                                                                      Wild that one would pick the only platform with a rubbish VMs and CI story as the OS to use for building software!

                                                                        • veidr

                                                                          yesterday at 12:16 PM

                                                                          What's wild about it? It's one person, and they probably mainly use a Mac. If they used Windows, it would be Windows-only at this stage. I have lots of projects that only run on Linux. Clearly, if the project succeeds and gains tractions, the other platforms will come.

                                                                            • gorjusborg

                                                                              yesterday at 2:15 PM

                                                                              It assume it will severely limit its uptake.

                                                                              If I had to pick one platform to build on, it would be linux. Pretty much every platform has the ability to run linux executables (via Docker, among others).

                                                                              If this is a personal project, that's cool, but then I really don't care that much. On the other hand, I think an electron-like with something like Bun could be really useful.

                                                                                • stickfigure

                                                                                  yesterday at 2:42 PM

                                                                                  At least here in the US, the majority of developers daily drive macs on their desktop. Even (especially!) the ones that deploy exclusively on linux.

                                                                                  Having to run a docker container to get the dev env setup would be even more likely to slow adoption. Nobody wants to do that shit.

                                                                                    • nocman

                                                                                      yesterday at 7:41 PM

                                                                                      > At least here in the US, the majority of developers daily drive macs on their desktop.

                                                                                      Not according to statista.com (I am not a registered user, but it looks like you could register for no cost, in order to check the source):

                                                                                      https://www.statista.com/statistics/869211/worldwide-softwar...

                                                                                      Windows is the majority OS for development, with Unix/Linux and Mac being close to equal, but both considerably less than Windows.

                                                                                      This is also consistent with the 2023 Stack Overflow Developer Survey (https://survey.stackoverflow.co/2023/):

                                                                                      Under the "Operating System" heading it says:

                                                                                        "Windows is the most popular operating system for developers, across both personal and professional use."
                                                                                      
                                                                                      [edited to include Stack Overflow survey]

                                                                                        • eyjafjallajokul

                                                                                          yesterday at 9:03 PM

                                                                                          They said "in the US". The data you have provided says "Worldwide" which doesnt prove the point about the US.

                                                                                            • nocman

                                                                                              yesterday at 9:23 PM

                                                                                              fair point, however I suspect that if you narrow the scope of the data to the US (even the data from those surveys) it will not change the results much.

                                                                                              Out of curiosity, I'm looking for data that is limited to the US, and will respond with results if I find them.

                                                                                                • nocman

                                                                                                  yesterday at 10:35 PM

                                                                                                  JetBrains makes their survey data available here ( https://www.jetbrains.com/lp/devecosystem-2023/ ):

                                                                                                  Based on my calculations from that data (extracting only the US responses, based on their entries for 'os_devenv', I get these numbers:

                                                                                                  - Linux: 45% - Windows: 58.9 % - Mac: 51.2 %

                                                                                                  That is conclusive enough for me to say that Windows is still the most common daily driver for developers in the US. I'm not one of those developers, as I don't use Windows as my primary development platform.

                                                                                                  I suspect this may be a case where people tend to think that because most developers they know use a particular OS for development, that must be true everywhere.

                                                                                                  I would not be surprised, for instance, to find out that the numbers of developers primarily using Macs at some big tech companies is much higher.

                                                                                                  [edited for formatting]

                                                                                      • gorjusborg

                                                                                        yesterday at 3:42 PM

                                                                                        But almost nobody uses MacOS to run CI, which is usually how artifacts are built for the field. Having linux support first means people can actually use this for production (this project seems from from ready for that anyway) with some inconvenience for local dev.

                                                                                        MacOS only means I can work with it on my machine, but can't actually build it using CI/CD.

                                                                                          • Klonoar

                                                                                            yesterday at 4:23 PM

                                                                                            I mean, GitHub Runners supports macOS for CI just fine.

                                                                                              • gorjusborg

                                                                                                today at 1:18 AM

                                                                                                Okay, fair.

                                                                                                I don't have metrics, but I bet linux is far and away the CI platform of choice.

                                                                                                I am not trying to bash this, but rather say that mac only is likely to limit usage. Early on that can be okay, but there are many people who will be turned off immediately.

                                                                                        • leptons

                                                                                          yesterday at 6:12 PM

                                                                                          >At least here in the US, the majority of developers daily drive macs on their desktop

                                                                                          Citation needed. This assertion seems very anecdotal.

                                                                                            • kibwen

                                                                                              yesterday at 8:16 PM

                                                                                              Recently I saw someone assert that "almost nobody uses 1080p monitors anymore". Meanwhile the Steam Hardware Survey shows that 1080p is the majority resolution among PC gamers, and almost 2/3 of users have a monitor that is 1080p or smaller.

                                                                                              Humans have shown that we cannot even conceive of a reality outside our bubbles.

                                                                                          • fassssst

                                                                                            yesterday at 4:51 PM

                                                                                            Citation needed, Windows is probably still bigger as Macs are expensive.

                                                                                            • gertop

                                                                                              yesterday at 3:16 PM

                                                                                              > At least here in the US, the majority of developers daily drive macs on their desktop.

                                                                                              The majority of WEB developers.

                                                                                      • rozap

                                                                                        yesterday at 6:10 PM

                                                                                        It's totally fine if it just supports one platform. Just don't say it's cross platform when it's not.

                                                                                          • conductr

                                                                                            yesterday at 7:34 PM

                                                                                            The apps you build are cross-platform apps. The tool itself isn’t. That’s how I read it anyways, nothing misleading that I saw

                                                                                              • jonasdoesthings

                                                                                                yesterday at 9:27 PM

                                                                                                the apps you build will be cross-platform "soon" (no specific timeframe)

                                                                                                https://electrobun.dev/docs/guides/Compatability

                                                                                                  • conductr

                                                                                                    yesterday at 9:39 PM

                                                                                                    It’s the HN link description that’s confusing y’all then? Because the home page, where you clicked before navigating to the compatibility page, says they “aim… to be cross-platform” says nothing of that being the current state

                                                                                        • cardanome

                                                                                          yesterday at 2:01 PM

                                                                                          With Linux you can dockerize it and make available for all all platforms. With Mac you only reach people that have access to Mac.

                                                                                          I mean for a personal project they can use whatever they want. Just and odd choice to start with if you want the project to gain traction.

                                                                                      • ramon156

                                                                                        yesterday at 11:17 AM

                                                                                        If the worst case works, the best case will follow I suppose :P

                                                                                        • yr5teoes7s

                                                                                          yesterday at 12:50 PM

                                                                                          [flagged]

                                                                                      • rozap

                                                                                        yesterday at 5:43 PM

                                                                                        Truly wild. I guess you can just write anything in the title for the upvotes.

                                                                                    • pragma_x

                                                                                      yesterday at 5:57 PM

                                                                                      That is correct. If you install the `electrobun` package via bun or npm, you get a pile of arm64 binaries. These are big enough to ship a web-browser (Electron) so that would explain why they're binaries in the first place.

                                                                                      • veidr

                                                                                        yesterday at 11:24 AM

                                                                                        No, that's not the case — read this whole thread. It's starting with macOS. The cross-platform stuff will come later, if the project goes well.

                                                                                          • rob74

                                                                                            yesterday at 12:04 PM

                                                                                            Quote from the homepage: Electrobun aims to be a complete solution-in-a-box for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript.

                                                                                            Ok, TBF they write "aims to be" and not "is", but still I think most people will get the impression that it's already cross platform and maybe some other stuff ist missing. So it would be more honest to also mention that it's currently MacOS only...

                                                                                              • veidr

                                                                                                yesterday at 12:13 PM

                                                                                                I think the actual website is pretty clear that the project is in the very early stages; I think the HN submitter (not the project author) made the headline sound more like this project is ready (perhaps inadvertently).

                                                                                                For me that first sentence made it obvious that this project isn't complete, but maybe a prominent "Preview release: Mac-only for now" would help some people.

                                                                                                • stevage

                                                                                                  yesterday at 12:51 PM

                                                                                                  "aims to be" is pretty ambiguous wording. It'd be clearer with a "aims to one day be..."

                                                                                              • 7bit

                                                                                                yesterday at 6:16 PM

                                                                                                So it is not Cross-Platform.

                                                                                                It will be.

                                                                                                But it still is not.

                                                                                            • auggierose

                                                                                              yesterday at 8:14 AM

                                                                                              Add what about macOS (intel)?

                                                                                            • yesterday at 10:08 PM

                                                                                          • alkonaut

                                                                                            yesterday at 9:54 AM

                                                                                            So it's a kind of electron apps, packaged for Arm Mac only? Hate to be that guy but that's the least cross platform thing I could imagine. I mean Windows Forms apps and VB6 apps are more cross platform than that (at least supporting one OS but a couple of architectures).

                                                                                              • jopicornell

                                                                                                yesterday at 9:14 PM

                                                                                                Well, it's not like VB6, which never had compatibility on any other OS. They are starting out and they are confortable with that small scope, which I think is good for projects like this. They have Windows and Linux suport on their roadmap.

                                                                                              • yesterday at 10:10 PM

                                                                                            • mdaniel

                                                                                              yesterday at 2:42 AM

                                                                                              Bold choice: https://electrobun.dev/docs/guides/Compatability#:~:text=No%... (that text appears right next to "macOS (arm)")

                                                                                              Given that, I was curious how their workflows folder looked but, well, that answers that question: https://github.com/blackboardsh/electrobun/tree/9ce4ed636100...

                                                                                                • marionauta

                                                                                                  yesterday at 11:39 AM

                                                                                                  The current version is 0.0.13 (on the homepage), it's normal that the author is focusing on their platform at the moment. It probably was too son to post it on here.

                                                                                                  • bearjaws

                                                                                                    yesterday at 3:29 AM

                                                                                                    Not supporting arm is dead on arrival for anyone looking to build cross platform...

                                                                                                  • yoav

                                                                                                    yesterday at 3:06 AM

                                                                                                    It’s still early and it’s just me working on it so I’m trying to get to stability and then building for (distribute apps to) windows and linux before making all the cli stuff work to let you dev on other OSes.

                                                                                                    So “no immediate plans” means check back next year after the 1.0.0 release

                                                                                                      • thayne

                                                                                                        yesterday at 6:17 AM

                                                                                                        What does "not supported" mean?

                                                                                                        Does it mean "you can probably get this to work, but it's not my OS so I won't go out of my way to help you" or "the build process depends on something only available on macs"?

                                                                                                        There isn't an obvious reason it wouldn't be possible to build on linux or WSL at least on windows.

                                                                                                    • progforlyfe

                                                                                                      yesterday at 3:29 PM

                                                                                                      Funny spelling error there, too. Should be "Compatibility".

                                                                                                      • yesterday at 10:10 PM

                                                                                                    • kookamamie

                                                                                                      yesterday at 6:53 AM

                                                                                                      > Ship updates to your users that are tiny

                                                                                                      What about the users that are medium or large?

                                                                                                        • Cruncharoo

                                                                                                          yesterday at 8:23 AM

                                                                                                          You’re gonna need a bigger boat

                                                                                                          • yesterday at 11:39 AM

                                                                                                            • fbn79

                                                                                                              yesterday at 7:49 AM

                                                                                                              I'm quite sure is talking about "low size update packages"

                                                                                                                • user_7832

                                                                                                                  yesterday at 8:05 AM

                                                                                                                  Pretty sure it was a joke on the language used ;)

                                                                                                          • dmazzoni

                                                                                                            yesterday at 4:25 AM

                                                                                                            I'm a fan of more frameworks for desktop apps that wrap system webview rather than embedding Chromium.

                                                                                                            Chromium is awesome and all, but it's just way overkill for many apps, and doesn't make sense for the download size and the need to support auto-update for security features.

                                                                                                              • hresvelgr

                                                                                                                yesterday at 4:49 AM

                                                                                                                I feel the reason the system web-view is eschewed in these frameworks is because you have no choice but to maintain compatibility with 3-4 browsers: Edge/IE on Windows, Safari on Mac, and Firefox on Linux (usually).

                                                                                                                  • thayne

                                                                                                                    yesterday at 5:42 AM

                                                                                                                    > Firefox on Linux (usually).

                                                                                                                    No, linux is usually webkit (which is also what safari is based on). Both Gtk and Qt have webkit-based widgets.

                                                                                                                    I'm not aware of a gecko based webview for desktop. Unfortunately, Firefox's technology is even more poorly suited for embedding than chromium's.

                                                                                                                      • Klonoar

                                                                                                                        yesterday at 4:26 PM

                                                                                                                        WebkitGTK has notoriously lagged behind Webkit on other platforms.

                                                                                                                    • ericwood

                                                                                                                      today at 12:17 AM

                                                                                                                      These days it's really not bad, and it's even easier than shipping a normal web app, where there's a potentially unbounded number of browsers consuming it. Knowing exactly which clients to develop for is a luxury.

                                                                                                                      • yoav

                                                                                                                        yesterday at 4:54 AM

                                                                                                                        The number 1 request I get from people is to add the ability to optionally bundle chromium.

                                                                                                                        I personally prefer the system webview because you don’t have to rush update your app for every chromium security update. And on the web making things cross browser is a normal part of the job and instinct imo.

                                                                                                                        But there are a ton of early startups that only have bandwidth to support chrome/chromium in their complex webapps and want a quick way to port their web app to desktop app. For them taking on the security burden and increasing bundle size is a good tradeoff to getting that consistency.

                                                                                                                        Luckily electrobun has a custom zig bsdiff implementation that generates update diffs as small as 4KB and self extracting executable that uses zstd so at least the file size is less relevant of a concern compared to electron.

                                                                                                                          • lolinder

                                                                                                                            yesterday at 6:07 AM

                                                                                                                            > you don’t have to rush update your app for every chromium security update

                                                                                                                            I'm interested to hear more about this—if you're using security-sensitive features in a WebView, aren't you then at the mercy of the OS to patch them whenever they see fit? And if you're not using features that have security implications, why do you need the latest version of Chromium at all times?

                                                                                                                            • littlestymaar

                                                                                                                              yesterday at 6:48 AM

                                                                                                                              > But there are a ton of early startups that only have bandwidth to support chrome/chromium in their complex webapps and want a quick way to port their web app to desktop app.

                                                                                                                              Ugh!

                                                                                                                              People writing web apps without supporting anything else than Chrome should burn in hell. (And that's a pretty useless decision anyway since “supporting chrome” really means supporting two engines: Chromium and WebKit, because Chrome on iOS uses WebKit internally …)

                                                                                                                                • jamager

                                                                                                                                  yesterday at 11:36 AM

                                                                                                                                  Or email clients that only support Gmail...

                                                                                                                      • yesterday at 10:11 PM

                                                                                                                    • kelvinjps10

                                                                                                                      yesterday at 7:57 PM

                                                                                                                      The other time I was thinking why this hasn't been done, here it is

                                                                                                                        • yesterday at 10:11 PM

                                                                                                                      • Culonavirus

                                                                                                                        yesterday at 8:56 AM

                                                                                                                        [flagged]

                                                                                                                        • KameltoeLLM

                                                                                                                          yesterday at 5:28 PM

                                                                                                                          [flagged]

                                                                                                                            • pluc

                                                                                                                              yesterday at 5:30 PM

                                                                                                                              I would've gone for Node++ or Node#

                                                                                                                          • yr5teoes7s

                                                                                                                            yesterday at 12:50 PM

                                                                                                                            I300$

                                                                                                                            • wilgertvelinga

                                                                                                                              yesterday at 10:59 AM

                                                                                                                              Is there anything Electrobun does to prevent XSS vulnerabilities? The docs actively promote setting .innerHTML, without any warning regarding concatenating user input.

                                                                                                                                • cxr

                                                                                                                                  yesterday at 3:35 PM

                                                                                                                                  What can it do? The only thing that prevents that is the programmer knowing what kinds of inputs they're dealing with and making sure unsafe input is properly escaped into safe input when the context calls for escaped input. There's no getting around this.