8 ms·
Wails – Electron Alternative Powered by Go
- capableweb 4y agoSeems 1.0 was released a good while ago (and currently under a feature/patch freeze) and 2.0 is soon to be released. Not sure the version should be in the submission title.
- therufa 4y agobecause it seems go and rust are in a competition, and a rust library of similar fashion just made it to front page. takes off tinfoil hat
- prophesi 4y agoAnd it mysteriously dropped off the front page pretty quickly; tauri's 1.0 was just released which should make the post more attention-worthy in my mind.
- wener 4y agosorry, copied from `Tauri 1.0 – Electron Alternative Powered by Rust`, I'm a gopher, so I prefer wails. 2.0 is about to release, but beta works as promised.
- capableweb 4y agoNo harm done :) The "1.0" was in that title because Tauri just released 1.0, not because it just happened to be 1.0 when submitted.
- phase7 4y agowent to github link to be amazed, but felt almost like a clickbait
- kitd 4y agoLove the logo, and quite appropriate given the name and the lead is obviously Welsh! https://github.com/leaanthony https://github.com/leaanthony Cymru am byth!
- dotancohen 4y ago> Cymru am byth! Plzeh nz olgu!
- Aeolun 4y agoWelsh sounds like something Cthulhu worshippers would use.
- olddustytrail 4y agoThat's not Welsh. It's the rot13 of the Welsh phrase in the comment replied to.
- dotancohen 4y agoThat's pretty much the point that I was making. When I see text that looks like a rot13 encoded string, it's usually Welsh. Other than one unlucky vowelless word, neither the original Welsh nor my reply look more plausibly real than the other. Aeolun phrased it well!
- hogyncymraeg 4y agoInteresting fact: despite the common jibes about lack of vowels, Welsh has 7 vowels whilst English has 5! Like WiFi, just because you can't see it doesn't mean it doesn't exist.
- olddustytrail 4y agoI don't speak any Welsh. I've never even been to Wales. I still knew what that phrase meant and was able to identify you had rot13d it. Failing to understand languages isn't as impressive as you think.
- throwaway2016a 4y agoThis looks interesting. I'ma fan of Go for backend and command line tool dev but haven't been able to find good front-end solutions. I'll have to keep an eye out for v2 of this since it is supposedly nearing release. In a similar vein: I've been experimenting a lot with Flutter and while I don't like Dart that much, the tooling around it (being able to use the IDE and quickly test my apps in different mobile devices and desktop for instance) is really good.
- jchw 4y agoThe lead Wails developer has contributed a good deal of functionality and improvements to go-webview2, a library I wrote for interfacing with Windows WebView2 without needing CGo. While not a whole lot of people use go-webview2 directly (indeed, most people use it via Wails 2,) I am still glad that so many improvements made it upstream for whoever just wants direct bindings rather than a cross platform framework.
- tmp_anon_22 4y agoWhat happened to go-webview1?
- mftb 4y agoIt's just called webview/webview[0]. The fact is a little obscured now because it's been used from so many other languages, but Go/C/C++ were the original targets. [0]https://github.com/webview/webview https://github.com/webview/webview
- jchw 4y agoWebview2 is the name of the Windows component that go-webview2 wraps. It’s a little bit confusing, because go-webview2 also happens to export an interface compatible with webview/webview, which is another library (although not Go-specific.) edit: if you’re wondering why Webview2 is webview2, the reason for that is because Webview2 is based off of Chromium Edge and webview from WinRT is based off of MSHTML Edge. And if you are wondering why not support that, I considered it, but it’s somewhat harder to do, because while Webview2 is mostly pure COM interfaces, WinRT Webview uses… WinRT. Which is a bit more complicated. Avoiding CGo for that would probably involve worse blackmagic, possibly requiring some assembler to mimic what’s going on in WinRT.
- hogyncymraeg 4y agoHey there :-) Thanks for making both go-webview2 and winloader, and taking the time to review the PRs. That reminds me, I need to diff where we are at as I think we got out of sync.
- nobleach 4y agoInteresting that the authors chose to commit their .vscode directory... given that this project was donated licenses by JetBrains. Maybe it's just a convenience thing. On another tangent, I love seeing what music the authors were listening to while coding. Some might argue that it has no place in a README but... it's a nice touch.
- toastal 4y agoI disagree and maybe I'm not 'fun', but to me there's a lot of garbage in this README. Scrolling through the plaintext document with lists of badges, manually managed table of contents, photos of contributors, miscellaneous HTML, you can see that there's so much content that isn't helping you understand the project—things that should be I a homepage or separate dedicated file. I can't read this without rendering it. The music while somewhat interesting, I don't think has a place in this document—especially linking out a proprietary music streaming platform.
- dimitrios1 4y agoEase up on the high expectations. It's just a fun project on github, not a publication in an academic journal.
- dgb23 4y agoPeople love shitting on OSS projects. Tech choices, docs, tooling, testing, number of contributors (both "Too many!" and "Bus factor!"), choice of license, there is already X, why not use Y, we already did that in the 80's... Basically anything. As if other people writing and sharing code freely is a huge problem. I think it is different when a project is part of a commercial offering, or funded by something you participate in.
- Aeolun 4y ago> People love shitting on OSS projects People love shitting on closed source projects too, but the circle of people you can reasonably do that in is fairly limited. Everyone can see this code, so you can shout it to the world.
- londons_explore 4y agoElectron has a reputation for poor performance and slurping RAM... But most of that is down to the architecture choice (using an HTML renderer) rather than the implementation. I assume that means Wails has the same disadvantage?
- francisl 4y agoYou must break down the part that led to that reputation. Electron uses its own renderer (chrome). Meaning it can't share memory with the os browser and make download size way bigger. It bundles nodejs. Again make download size bigger Nodejs needs to create multiple processes which each of them can use a lot of memory. It use a bridge between the UI and backend (to do os stuff) while JS is nowaday fast, Go/Java/C#/etc are still faster Wails on the other hand. Uses the os browser. (Download size is reduce and can share memory) Go is compiled to native, no runtime needed. (Download size is reduce, lower on memory, run faster) Same bridge performance bottleneck, but you can perform critical stuff in Go and get an advantage. HTML renderers are fast. Code your UI with performance in mind, use a library like svelte or solidjs combine with something like wails (or anything that will do the same thing in java/c#/swift) and you won't see a difference between any native apps in most cases. Also you gain the ability to share your UI code with the web.
- _8j50 4y agoSpent some time learning this and playing with this till I ran into a roadblock that it doesn't support multiple windows which was a deal breaker for my idea. Wish I had the time to learn and contribute a PR. It was a great tool otherwise. I needed to do electron without the bloat and backend JS. There are no good solutions from what I researched, things like QT are still king in this area it seems.
- gaws 4y agoAre tabs an option?
- wener 4y agoAsked for the same thing, but it's impossible or too hard to do it. - https://github.com/wailsapp/wails/discussions/1452 https://github.com/wailsapp/wails/discussions/1452 - https://github.com/tauri-apps/tauri/issues/2709 https://github.com/tauri-apps/tauri/issues/2709
- u1tron 4y agoThese days any apps or framework written rust seems exotic. Atleast both are better than electron.
- 4y ago
- rvz 4y agoThis is basically the same thing as Tauri but once again, the difference is the language used. I don't know what the selling point is other than it is using Go FFI to talk to the Desktop APIs. The reason why Electron exists is that it is able to directly turn existing web apps or anything using the Chrome APIs into desktop apps and being compatible with the wider Javascript ecosystem as well with little effort other than adapting to the desktop. I don't think that it is possible with this or Tauri unless you want to rewrite the whole thing and not depend on Chromium APIs. A great alternative would be compatible with these Chromium APIs and allow an easy migration off of Electron but that is not going to happen anytime soon. Either way, I'd rather see Flutter Desktop as a suitable competitor and a possible alternative to Electron desktop apps rather than these webview-based alternatives.
- appveyor 4y agoHere you are: https://flet.dev https://flet.dev - Electron alternative with Flutter-powered UI. We decided to focus on Python first to polish the idea, but Go and C# support are coming!
- mlboss 4y agoNice! How does the packaging works ? Is it through pyinstaller ?
- appveyor 4y agoPyInstaller should work. Will look into that and write a guide.
- coding123 4y ago<3
- bodge5000 4y agoThis is fantastic, been meaning to learn Flutter for a long time (and probably still should), but having it in a language I already know and use is a whole other level
- _verandaguy 4y agoNamed after the wails of developers maintaining Electron code bases?
- fmajid 4y agoTenth circle of Hell?
- DFHippie 4y agoJudging from the logo, it's named after both the country Wales and the application framework Rails. Awesome logo.
- hogyncymraeg 4y agoThis is 100% accurate!
- krapp 4y agoToday must be "Electron Alternative Day" on HN: Tauri 1.0 – Electron Alternative Powered by Rust[0] Sciter – Multiplatform HTML/CSS/JavaScript UI Engine for Applications[1] [0]https://news.ycombinator.com/item?shownew&id=31764015 https://news.ycombinator.com/item?shownew&id=31764015 [1]https://news.ycombinator.com/item?shownew&id=31765566 https://news.ycombinator.com/item?shownew&id=31765566
- masklinn 4y agoThis and Sciter were clearly posted in response to (or to ride on the coattails of) Tauri's 1.0. Sciter was specifically mentioned in tauri's thread, it's the subject of the top comment. Wener both mentioned wails in response to tauri's announcement, and posted this.
- the__alchemist 4y agoWould there be interest in a cross-platform GUI written in C++ or Rust that uses HTML/CSS/JS as its layout and animation language, but runs natively on CPU/GPU without a browser layer?
- 42e6e8c8-f7b8-4 4y agoI think you're looking for https://www.areweguiyet.com/ https://www.areweguiyet.com/ click "webrenderer"
- ducktective 4y agoI hope not. HTML/CSS were supposed to be used for "hyper text" and "magazine-like" content
- ironmagma 4y agoComputers were supposed to be used for computing and printing solutions to polynomial equations. Is that really relevant to what computers are needed for anymore?
- ducktective 4y agobad comparison. HTML encoding inherently is incompatible with dynamic presentation of data.
- ironmagma 4y agoNot true considering how you don't need JavaScript to display several dynamic elements such as forms, checkboxes, details boxes, or videos. Also proven to be compatible through schemes like QML. It's kind of like saying a soft, meatlike human body is inherently incompatible with hard, metal electronics. True, it wasn't invented to do that, and problems arise from that interaction, but it doesn't mean they are incompatible.
- wolframhempel 4y agoCould you elaborate on what you mean by "without a browser layer"? Would there still be a webview / blink etc. implementation?
- SPBS 4y agoI was excited to prototype a HTML-template driven application using Wails, but found out that you're basically forced into making a SPA i.e. URL routing doesn't exist, you have to handle page transitions using JavaScript. Also there's no native back button, so one more thing to reimplement using JavaScript.
- iamflimflam1 4y agoMight be worth having a look at this as well: https://github.com/fyne-io/fyne https://github.com/fyne-io/fyne is an easy-to-use UI toolkit and app API written in Go. It is designed to build applications that run on desktop and mobile devices with a single codebase.
- password4321 4y agoRelated: https://github.com/fyne-io/fyne https://github.com/fyne-io/fyne - Cross platform GUI in Go
- rschachte 4y agoWould be good to add screenshots to README