4 ms·
Quite frankly, I need to see a reason why one would use WASM. Figma is a fully justified implementation. If you don’t like JavaScript, like get over yourself a
by runawaybottle 6y ago
Quite frankly, I need to see a reason why one would use WASM. Figma is a fully justified implementation.
If you don’t like JavaScript, like get over yourself already. Enough is enough.
It’s a a simple language, you will still have to deal with browser apis and UI development patterns no matter what language you pick, and no, type checking isn’t going to magically solve your shitty UI codebase.
WebAssembly is going to be the new Tensorflow on people’s LinkedIn unfortunately, a small word to signal ‘hey, I’m more than just a web developer’.
Unless you are compiling a video encoder or a video game, like please, just give a rest. Solve the fact that your simple app is more than 3-4 files and over abstracted first.
- emteycz 6y agoThis is like suggesting PHP to C# or Java developers because "everyone uses it". Today the web (just like the server) supports any language - get over yourself, people have moved beyond JavaScript.
- runawaybottle 6y agoThey haven’t. This is all deferred anger coming from non-ui developers. It kills them inside that ui development is a field within software development that has it’s own nuances. They blamed the closest thing they could and that was, literally, the simplest shittiest language on planet earth (it doesn’t deserve all the hate). You will still have take time and think through your app flows, your async user interactivity, your transitions, state, templates, etc, no matter what language you pick. Type checking, compiling, the greatest language, will not solve the hard problems for you. Your all pissed UI development isn’t a ‘if I know backend, then I must surely know frontend, and if I don’t, then surely somethings wrong with frontend’. Nope. Trust me, I know a thing or two about deferred anger, I’m a serial offender when it comes to that so I can spot it easy.
- emteycz 6y agoI am a TypeScript developer for the past 6 years. I am not at all angry and definitely not expecting issues I have with SPA development to be magically solved, I am simply excited about being able to use languages with type systems similar to TS but without the JS under it - not that I care much about it, but it would be nice to go a step further with the type system-language integration, which TypeScript is unwilling to do. WebAssembly is a done deal, all browsers support it, now we're waiting for reference types and GC, once that lands (ref types are already available in some browsers), the web will not be tied to JS in any way. I think it's fair to say that the world has moved beyond JS. Btw I think people doing UI apps in C# (Blazor is probably second largest Wasm community after Rust) are fully aware of the hurdles of UI development.
- pjmlp 6y agoApparently someone has mistaken UI development with HTML. I am more than happy with Forms, Qt/Qml, WPF, Android, VCL, Win32, WinUI, WebGL, GL, DirectX, LibGNM, GX,Cocoa,.... Now HTML, with <li> customized via CSS to simulate a menubar, nuke it!
- runawaybottle 6y agoSo the modern web is not first class ui development, and JavaScript is not a real language, and the browser is not a real platform. Classism has no bounds. It’s entirely possible you’ve written bad UIs with all of those technologies too you know. Afterall, no one has eeever seen a bad desktop application before. All those compiled type safe languages with native rendering got you some amazing UIs like Microsoft Office suite for decades, right?. All those beautiful java apps for example, right? Everyone’s so full of shit. You guys couldn’t solve it with the exact technologies you are pushing for the web for literally decades.
- read_if_gay_ 6y agoDo you feel like you're worth less because you do frontend webdev? Because you're giving off that vibe hard. (immediately concluding GP is just shitting on webdev, saying "you guys", etc. - btw, do you not think that's classist as well?)
- runawaybottle 6y agoThe commenter pretty clearly made a distinction between those technologies and HTML, I don’t know, inference is often taught early in life in reading comprehension classes. I’m also happy you picked up on the vibes, wasn’t sure if I was being overt enough.
- read_if_gay_ 6y agoIf you feel like that then it's on you though, and basically demotes your posts to merely some insecure person's rambling.
- dmitriid 6y agoNo idea why you're getting downvoted, but it's the truth. The current state of WebAssembly is an MVP as a compilation target for a C/C++. There's still a long road ahead [1] and various browsers are in various stages along that road. And yup. It has nothing to do with UI. That one you'll have to solve that yourself, regardless. And it doesn't help that WASM is its own sandbox with a tiny little window into the rest of the browser.
- saagarjha 6y agoPeople are shipping WebAssembly applications, though.
- wayneftw 6y agoCan you cite some examples? I see a couple in this thread, but none of them target the browser environment.
- esrauch 6y agoProbably most cases you wouldn't even notice. One case is if you make a drawing on keep.google.com
- phailhaus 6y agoFigma, squoosh.app (experimental proof-of-concept, but demonstrates a legitimate use-case), Autodesk. Fastly and Cloudflare has edge cloud-compute solutions that only support wasm/javascript.
- saagarjha 6y agoAnother interesting one is iWork on the web, which is Objective-C compiled to WebAssembly.
- dmitriid 6y agoIs it? Wasn't it built with SproutCore [1]? [1] https://en.wikipedia.org/wiki/SproutCore?wprov=sfti1 https://en.wikipedia.org/wiki/SproutCore?wprov=sfti1
- pjmlp 6y agoThe reason is the revenge of plugins. I can have all my plugins back, and this time there is no turning back or someone claiming how insecure it is, despite lack of bounds checking inside linear memory segments.
- arethuza 6y agoIt does look like using webasm for plugins does have some risks - precisely from the lack of memory accessing checking you mention. Mind you - I'm hopeful these can be overcome with careful design of the surrounding application - I'm currently looking at using webasm as a plugin extension mechanism for an application.
- tjpnz 6y agoI've ported a number of apps to WASM that weren't video encoders or games. The Golang toolchain support has made the process relatively painless and it's getting better all the time. I'm not going to rewrite my hobby projects in JavaScript.
- fulafel 6y agoAnd there is no need to program in JS even if you target it, as a compile target it has a lot of advantages over wasm for high level languages.
- nsm 6y agoTo me WASM is interesting because it provides a way to distribute _non-JavaScript_ applications that _already exists_ over an easy to access platform that is the web browser. It provides a much simpler target than transpiling to JS. For example, I'd really like to see interactive Smalltalk environments like Pharo be available as WASM websites instead of a separate VM. They already implement their own rendering stack within a Window, so they could switch to WebGL/Canvas and not have to even interact with the DOM directly. (That may not be the best long-term solution, I don't know enough to decide, but it is definitely a good short term solution than not doing it at all).