Earlier quoted context omitted.
Even WinForms is a breeze compared to all the quirks of the web.
Web becomes a lot easier when you limit your target platforms. If you're shipping a thin browser-based shell around a web app and you know that you need to target Android 2.0+, iOS 6+, and Windows Phone 7, then you already know that you can eliminate many rendering engines (Firefox, Opera) as well as some of the old browser versions (IE < 10) that are usually the most problematic.
The State of Desktop Applications in Node.js
61–70 of 115 posts
Re: The State of Desktop Applications in Node.js
#622014, still catching up with the desktop. If one really really wants to use JavaScript, at least make use of QML or Nashorn/JavaFX.
Re: The State of Desktop Applications in Node.js
#632014, still catching up with the desktop. If one really really wants to use JavaScript, at least make use of QML or Nashorn/JavaFX.
Re: The State of Desktop Applications in Node.js
#64Re: The State of Desktop Applications in Node.js
#65I've played around with both node-webkit and atom-shell, and I prefer atom-shell over node-webkit, due to some minor inconveniences with node-webkit. * When an error occurs in node-webkit, it loads an error page instead of simply logging it to the console like normal web pages. Even after fixing the error and hitting reload or navigating back, the page doesn't go away. You need to manually enter the url(copy/paste do…
completely clueless programmer checking in. How is atom's performance? The one app I tried that used it was always slow and cludgy...
For performance of node.js calls, I haven't run any benchmarks, so I cannot help you there. However subjectively, both felt about the same to me(except in the node-sqlite-purejs case).
Re: The State of Desktop Applications in Node.js
#66The web wasn't made to be used as a desktop app replacement, and it will never be. Quit trying to make it that way, and start using a widget toolkit like you should. Hell, if you love html/js so much, there's a big chance you won't dislike QML. The web is for sharing content, not for games, text editors, and all that stuff. I see google trying to blur the lines between that, but why is it necessary? Just because peop…
The hype around HTML/JS as a substitute or replacement for native development has little to do with developer laziness and more to do with commoditizing software development labor. Native is hard relative to (the nearly thoughtless) slapping together of JS and CSS frameworks to "build" an "app." It requires paying people more and taking more time to develop.
- It removes the risk of spending time and money learning what turns out to be the "wrong" (i.e. an unsuccessful) platform
- It avoids splitting the effort of tooling vendors, library authors, etc. across many different platforms, reducing the amount of redundant effort spent reimplementing things in platform Y that already exist in platform X and freeing them up to work on unique ideas instead
- It brings the largest possible number of people underneath one umbrella, which makes that community more economically attractive and therefore increases the number and quality of tools and services they have access to
Not that it's all sunshine and roses, of course, but it's not without advantages.
Re: The State of Desktop Applications in Node.js
#67The multi-process model is definitely more complex and probably not for everyone, but it's working really well for us so far.
Re: The State of Desktop Applications in Node.js
#682014, still catching up with the desktop. If one really really wants to use JavaScript, at least make use of QML or Nashorn/JavaFX.
Re: The State of Desktop Applications in Node.js
#69One thing this article gets slightly wrong is this sentence: "This means that Node.js modules must exclusively use functions and classes provided by Node.js or modules from npm, as the DOM is off limits."
This might be technically true, but there's an easy enough workaround:
1) Use a script tag to include jQuery in the index.html page
2) Pass the jQuery object ($) as a dependency into a node module.
3) Profit.
I regularly modify the DOM from node context using this pattern.
Re: The State of Desktop Applications in Node.js
#70http://macgapproject.github.io/
The packaged app is tiny compared to a chromium+Node shell app.