7 ms·
I'm interrested in the WebGPU feature. With Slint [1] we're working on a framework which allow to make a desktop GUI in Javascript/Typescript, without bringing
by ogoffart 3y ago
I'm interrested in the WebGPU feature.
With Slint [1] we're working on a framework which allow to make a desktop GUI in Javascript/Typescript, without bringing a browser/webview.
Currently, we do it by using binaries through napi-rs so we can bring in a window using the platform native API. And then we do some hack to merge the event loops.
But if Deno supports bringing up a window directly, this means we can just ship wasm instead of native binary for all platform. And also I hope event loop integration will be simplified.
Although we'd also need more API than just showing a window (mouse and keyboard input, accessibility, popup window, system tray, ...)
[1] https://slint.dev https://slint.dev
Edit: I got excited a bit too early. The WebGPU feature doesn't include the API to launch a Window. One still need to rely on an extra library binary.
- FrostKiwi 3y agoBig fan of custom rendering approaches, but wouldn't such a Design system sidestep any and accessibility tools? Nothing for screenreader to hook into. Text and interfaces would be neither native nor DOM based.
- pygy_ 3y agoSlint uses https://github.com/AccessKit/accesskit https://github.com/AccessKit/accesskit to provide cross-platform a11y.
- landr0id 3y ago> a11y I apologize for this being so besides the point of your post, but I hate this trend so much.
- pests 3y agoIt has to be going on at least a decade right? Is it really a trend?
- landr0id 3y agoi18n has been around for ever and makes sense since in code it’s a bit long. Then k8s, which never made sense to me. I don’t know if it’s appropriate to call it a trend, but I’ve seen people doing it more frequently. The irony with this example is people with screen readers will hear something like “aEleveny” and it looks like “ally”.
- refulgentis 3y agoPeople with screen readers are aware of acronyms even if they have poor vision, and it's unclear to me what the problem is, a11y has been around forever and in code it's a bit long. Reading again, is the trend you detest...abbreviations that have a number representing letter count? Based on the existence of k8s and a11y?
- landr0id 3y agoI’m just stating my opinion that I find these abbreviations annoying, yes. They are so unintuitive that unless someone explicitly calls out what it’s abbreviating, you probably wouldn’t pick up on it (e.g. the MDN page for Accessibility) and just leaves people confused (like me!). I suspect there’s a reason AccessKit isn’t named `a11yKit`
- pests 3y agoAren't a lot of abbreviations unintuitive until you learn what they mean? Didn't we just have a thread the other day about the meaning of "MDN" - which also many people didn't know. I see on this site "IMO" "FWIW" "IANAL" "TLDR" all the time. You generally can't tell what these mean either without looking them up or just knowing already because of them being so engrained in culture.
- archerx 3y agoNo it’s not the same, a11y creates a dissonance in the mind because part if it wants to see it as “ally”, the other part wants to see it as “A eleven Y” and the other part cringes and thinks its stupid.
- pokle 3y agoHypocritically 'a11y' isn't very accessible for those of us who don't use the jargon. Also, the first thing the project website (https://www.a11yproject.com https://www.a11yproject.com) has to do is explain what the '11' stands for. So they must have some awareness of how inaccessible their name is.
- archerx 3y agoYes it’s awful, “A eleven Y” or is it “A one one Y” Is stupid, inaccessible and the people who use it and came up with it should feel bad.
- NoobSaibot135 3y agoa11y is similar to Andreessen Horowitz => a16z in that there’s exactly 16 letters in between the first letter and the last. Seems like good acronym semantics no?
- CyberDildonics 3y agoThat's not what semantics or acronym mean, this is more of an inside joke, which isn't great.
- CyberDildonics 3y agoThis doesn't really seem related, it seems like you're saying "maybe we will use this, here is a link to our commercial GUI library". Also why would you want to make a GUI even more bloated by integrating a browser to get webgpu and webasm (and why webgpu instead of just webGL?). That might be easy for library makers but why would someone want a giant library to make a GUI when they already have electron if they don't care about 350MB binaries to pop up a window.
- themerone 3y agoThey are talking about using webgpu for rendering to screen without going through a browser. Webgpu and wasm without a web browser would be a nice way to distribute portable sandboxed code. The reason for Webgpu is that it it has semantics closer to modern modern apis like Metal or Direct X.
- CyberDildonics 3y agoWhat does it have to do with Deno and why do any of that to draw boxes and text on the screen? FLTK could do GUIs that took almost no CPU power starting with 100KB binaries 30 years ago. People doing hardware accelerated GUIs have been using openGL for almost as long. This doesn't need to be a science project or a rabbit hole, drawing a GUI quickly is well worn territory.
- dwmbt 3y agoedit: i will not be taking this comment in good faith, i had a look through parents comments and it looks like they simply do not agree with Slint's approach to GUI programming: https://news.ycombinator.com/item?id=39223499#39229382 https://news.ycombinator.com/item?id=39223499#39229382 > What does it have to do with Deno can we at least try to give people the benefit of the doubt instead of pretending like everyone is out to get you? if you read the change-log, it spells it out well: > Our goal is to provide a windowing solution for WebGPU without linking to native windowing systems like X11 > This is a low level API that can be used by FFI windowing libraries like sdl2, glfw, raylib, winit and more to create a WebGPU surface using native window and display handles. do you get it yet? > People doing hardware accelerated GUIs have been using openGL for almost as long. This doesn't need to be a science project or a rabbit hole, drawing a GUI quickly is well worn territory. i suggest talking to other graphics professionals to get a better understanding of why opengl is not _the_ solution. for a tldr[0]: > regular OpenGL on desktops had Problems. So the browser people eventually realized that if you wanted to ship an OpenGL compatibility layer on Windows, it was actually easier to write an OpenGL emulator in DirectX than it was to use OpenGL directly and have to negotiate the various incompatibilities between OpenGL implementations of different video card drivers. The browser people also realized that if slight compatibility differences between different OpenGL drivers was hell, slight incompatibility differences between four different browsers times three OSes times different graphics card drivers would be the worst thing ever. From what I can only assume was desperation, the most successful example I've ever seen of true cross-company open source collaboration emerged: ANGLE, a BSD-licensed OpenGL emulator originally written by Google but with honest-to-goodness contributions from both Firefox and Apple, which is used for WebGL support in literally every web browser. also, openGL is deprecated on macOS. [0]: https://cohost.org/mcc/post/1406157-i-want-to-talk-about-webgpu https://cohost.org/mcc/post/1406157-i-want-to-talk-about-web...
- user3939382 3y agoI totally get the idea of bringing JS into new environments because it is so ubiquitous. On the other hand, I hate the language and wish we could replace it in the browser, the opposite direction. I'd be much happier with ClojureScript or PureScript or something being the standard with the ecosystem to go with it.
- kybishop 3y agoTypescript takes away a significant amount of the pain for me; the only hold up after that was getting an environment set up to compile it. Deno supporting typescript without any configuration is incredible.
- int_19h 3y agoTypeScript is mostly additive, so all the footguns are still there if you aren't careful to avoid them. It also doesn't do anything about the extremely meager standard library that is inferior to what other mainstream PLs had 20+ years ago.
- tracker1 3y agoSo use WASM with the language of your choice and best of luck to you with that.
- user3939382 3y agoThat's why I mentioned ecosystem, it's not just about syntax.
- crowlKats 3y agoit actually does: its not part of the WebGPU API directly itself, but its separate: https://deno.com/blog/v1.40#webgpu-windowing--bring-your-own-window https://deno.com/blog/v1.40#webgpu-windowing--bring-your-own...
- tmiku 3y agoI poked around your website because I was curious if the name was a band reference. Love the Spiderland photo of the staff!
- PoignardAzur 3y agoHave you talked to the Dioxus people recently? They're working on a project called Dioxus Blitz; from what I'm told, they're trying to implement a minimal browser target, that provides some basic DOM-like features and renders with wgpu. It's not exactly what you're hoping for, but you might find common ground. https://github.com/DioxusLabs/blitz https://github.com/DioxusLabs/blitz (Also, the Linebender project is working on Masonry, with FFI as a medium-term goal.)
- jkelleyrtp 3y agoOur v2 of blitz is using firefox itself to resolve CSS and google's advanced WGPU renderer for high-speed text and vector graphics. https://github.com/jkelleyrtp/stylo-dioxus https://github.com/jkelleyrtp/stylo-dioxus