5 ms·
This attitude seems ignorant of the facts and the unfortunate state of desktop development. Perhaps the cancer is the fact the desktop development community ha
by nilliams 10y ago
This attitude seems ignorant of the facts and the unfortunate state of desktop development.
Perhaps the cancer is the fact the desktop development community has had decades to settle on a decent cross-platform 'native' toolkit and completely failed.
Perhaps the cancer is 'native' developers spouting 'native is better' hyperbole, ignorant of the fact these supposedly better 'native' toolkits have been web-influenced for a long time.
- XAML from C#/WPF land being strongly influenced by HTML and CSS.
- Android XML being strongly influenced by HTML and CSS.
- Qt Quick being strongly influenced by JS and CSS.
- GTK+ embracing JS and CSS3.
- Everything else being awful procedural C++. Good luck maintaining that.
And all have massively inferior developer tools than Chrome devtools and/or far worse abstractions for the scene-graph/tree of elements than the much-derided yet very powerful DOM.
Native desktop is a mess. I'm glad we're seeing Electron expose it for the joke that it is.
You can hate web dev tech, but you can't claim that native desktop options are better. I won't be building apps 3 times or using any of these useless 'cross-platform' dev kits anytime soon, when I can build the same thing in Electron in a fraction of the time, and leverage the undeniably huge JS and CSS communities.
Also very tired of seeing devs use weasel-words like 'bloat' and neglect to put it into any context, like the fact that on the desktop 1. it ain't bloat if filesize is cheap, and 2. said filesize is comparable to the most capable cross-plat options you're supposedly arguing for (see Qt Quick).
Edit: Softened, expanded.
- wslh 10y ago> Perhaps the cancer is the fact the desktop development community has had decades to settle on a decent cross-platform 'native' toolkit and completely failed. Probably you are underestimating how complex is to build a GUI for different platforms and also underestimating how much browser technologies have been improved integrating zillion of years of experience. Also, you can't compare how easy is to develop a desktop UI with Windows Forms in Visual Studio to how difficult is to build an HTML UI.
- nilliams 10y ago>> Probably you are underestimating how complex is to build a GUI for different platforms Presumably you're getting at platform-specific differences. I'd suggest these are no longer as important as once deemed. Pretty much all desktop platforms are currently looking dated with respect to their mobile counterparts. So anything that looks 'modern' across all of them (e.g. good design + Electron) actually feels like sweet relief. (If you meant something else, please correct me). >> ... and also underestimating how much browser technologies have been improved integrating zillion of years of experience. No, that's absolutely the point that I'm making. I'm suggesting browser tech is superior, largely due to the insane amount of engineering effort piled into it by Google et al. >> Also, you can't compare how easy is to develop a desktop UI with Windows Forms in Visual Studio to how difficult is to build an HTML UI. Yes I can, having done both :)
- wslh 10y ago> Yes I can, having done both :) Show me the tool that makes incredible simple to design that UI.
- nilliams 10y agoWindows Forms in not cross-platform. The VS UI to build it is great, but the end result looks dated and only works on Windows. I say the two are comparable because, with talent applied, the HTML version looks better and works everywhere, so there's a net win for devs that embrace web.
- wslh 10y agoSo you agree with me, the current state of UI development for the web requires more tools that makes you doubt about the best option for development. I only mentioned VS as a clear example of a good design tool but QT also has an alternative.
- gaze 10y agoI don't understand why people are so concerned with looks when the result from the alternative FEELS so bad.
- rayiner 10y agoAnd yet, nobody would use an Electron-based app over a native Mac app with similar features.
- proyb2 10y agoI would use Electron which I have developed for music using WebMIDI for Windows, Linux and Mac. It's fast as a native app, low latency.
- iconhacker 10y agoGood luck to the typeless shit that JavaScript brought to us. It is never a revolution since it has been created. I do like or at least can use vscode, though.
- millstone 10y agoWinRT isn't embracing JavaScript because JS is so great, but to make the platform more attractive to web developers. Same with the HTML/CSS-style toolkits. HTML/CSS, and Chrome tools, are definitely the better part of the web. The really terrible stuff are the JavaScript APIs. Of course there's JavaScript itself, which is gross. But there's no APIs for basic questions: where is the mouse pointer now? And is the mouse button down? How many screens does the user have? What is the width and height of this text? [1] Or anything Unicode-related. Or any sort of precise, pixel-accurate drawing. Web programming means resorting to terrible hacks all the time. Maybe Electron has its own JS APIs that fix those issues, I don't know. But compared to making a traditional web app, it's a relief to use a real desktop API that actually has coverage of desktop capabilities. [1] See the ridiculous lengths Atom went to just to figure out how wide a character is: http://blog.atom.io/2015/10/29/atom-1-1-is-out.html http://blog.atom.io/2015/10/29/atom-1-1-is-out.html
- nilliams 10y ago> WinRT isn't embracing JavaScript because JS is so great, but to make the platform more attractive to web developers. That may be true for WinRT, but I did not mention WinRT. XAML/WPF were around a long time before that. > Same with the HTML/CSS-style toolkits. Not sure what you're referring to but no, I don't believe that's true for the projects I mentioned. Your complaints with JS APIs are warranted, but won't apply to 90+% of apps. Still seems like an overall win to use Electron/NW.js over any other option currently.