<story><title>React Desktop – React UI Components for OS X El Capitan and Windows 10</title><url>https://github.com/gabrielbull/react-desktop</url></story><parent_chain><item><author>trymas</author><text>+1&lt;p&gt;With all respect to leichzeit0 comment, IMHO, JS is an ugly language, with way too many pitfalls [0]. Even big boys [1] use CoffeScript to transpile into JS.&lt;p&gt;JS for cross platform desktop development may be an easy thing to manage, though it can become unusable and clunky super fast. You can spot JS desktop apps, just by the size of executable, which is at least 5-10 times bigger than you could expect (Spotify - 130MB). They have poorer performance, can drain your battery faster, and some OS native features&amp;#x2F;guidelines must be implemented in a custom way, or could not be implemented&amp;#x2F;used at all. Sorry, for my critical and conservative view, but it&amp;#x27;s just my opinion (probably due to annoyance of overflow of laggy (web)apps, riddled with complex JS, where it could be avoided).&lt;p&gt;Probably it&amp;#x27;s the price of &amp;#x27;cross-platformity&amp;#x27;.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=20BySC_6HyY&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=20BySC_6HyY&lt;/a&gt; (original site does not load for whatever reason)&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;basecamp&amp;#x2F;trix&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;basecamp&amp;#x2F;trix&lt;/a&gt;</text></item><item><author>voltagex_</author><text>Because NodeJS is popular and desktop apps were getting small and efficient so we crammed a 30MB Chrome runtime in there.</text></item><item><author>eykanal</author><text>Please forgive the simple question, but...&lt;p&gt;Why does this exist? Is creating desktop programs out of HTML code really a good idea?</text></item></parent_chain><comment><author>scrollaway</author><text>I&amp;#x27;m going to elaborate on your comment a bit because this infuriates me and I don&amp;#x27;t think people truly understand the reasons behind why web-apps-for-desktop generally suck and there&amp;#x27;s nothing &lt;i&gt;you&lt;/i&gt; can do to fix it in yours.&lt;p&gt;Background: I&amp;#x27;m the lead dev&amp;#x2F;UX on LXQt, a linux desktop environment (&lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;lxqt.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;lxqt.org&amp;#x2F;&lt;/a&gt;).&lt;p&gt;First one that comes to mind is accessibility and consistency of interactions. Apps that do not respect a host of user settings because the devs don&amp;#x27;t even know they exist -- but on desktop frameworks, you get these for free. You find this on the web, too. People hijacking scrolling behaviour on websites, without a damn clue that not everybody is on a fucking iphone. You don&amp;#x27;t respect smoothscroll options, you don&amp;#x27;t respect autoscroll, you don&amp;#x27;t respect lines-per-tick, it&amp;#x27;s &lt;i&gt;infuriating&lt;/i&gt;.
Zooming? What&amp;#x27;s that? Let me disable it for whatever hacky performance reason. Who zooms anyway, people who can&amp;#x27;t see well? FUCK EM!&lt;p&gt;There&amp;#x27;s a lot of those examples. Maybe one day I&amp;#x27;ll write about all of them. They infuriate me as both a user (who is used to some specific behaviour) and a UX guy.&lt;p&gt;Second reason is the performance. Both in executable size and general runtime performance, as you yourself mentioned. We, as engineers, spent a lot of time and effort working around all the design flaws of js and the web because it was the most pragmatic thing to do. But if you bring these problems with you on the desktop, you are doomed to lowering the quality of the experience we have on our machines. And the user won&amp;#x27;t understand why their battery now drains at twice the rate - they&amp;#x27;ll blame it on Lenovo&amp;#x27;s shitty hardware, so you can get away with it. &lt;i&gt;sighs&lt;/i&gt;&lt;p&gt;And the final one is the direct consequence of lowering the barrier of entry. You often deal with worse quality code. Because of the reasons I cited above, serious devs work with different languages when dealing with the desktop.&lt;p&gt;There are better ways, that&amp;#x27;s the worst thing. Qt and QML are extremely productive, work well on mobile and don&amp;#x27;t have all of these issues. They also work on more platforms than you&amp;#x27;d be able to enumerate. Don&amp;#x27;t get me wrong, I am a proponent of lowering the barrier of entry, and I want to bring the &lt;i&gt;advantages&lt;/i&gt; of the web to the desktop. But you can&amp;#x27;t just move the web there, lest you get its serious flaws and throw away decades of good engineering and UX.</text></comment>
<story><title>React Desktop – React UI Components for OS X El Capitan and Windows 10</title><url>https://github.com/gabrielbull/react-desktop</url></story><parent_chain><item><author>trymas</author><text>+1&lt;p&gt;With all respect to leichzeit0 comment, IMHO, JS is an ugly language, with way too many pitfalls [0]. Even big boys [1] use CoffeScript to transpile into JS.&lt;p&gt;JS for cross platform desktop development may be an easy thing to manage, though it can become unusable and clunky super fast. You can spot JS desktop apps, just by the size of executable, which is at least 5-10 times bigger than you could expect (Spotify - 130MB). They have poorer performance, can drain your battery faster, and some OS native features&amp;#x2F;guidelines must be implemented in a custom way, or could not be implemented&amp;#x2F;used at all. Sorry, for my critical and conservative view, but it&amp;#x27;s just my opinion (probably due to annoyance of overflow of laggy (web)apps, riddled with complex JS, where it could be avoided).&lt;p&gt;Probably it&amp;#x27;s the price of &amp;#x27;cross-platformity&amp;#x27;.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=20BySC_6HyY&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.youtube.com&amp;#x2F;watch?v=20BySC_6HyY&lt;/a&gt; (original site does not load for whatever reason)&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;basecamp&amp;#x2F;trix&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;basecamp&amp;#x2F;trix&lt;/a&gt;</text></item><item><author>voltagex_</author><text>Because NodeJS is popular and desktop apps were getting small and efficient so we crammed a 30MB Chrome runtime in there.</text></item><item><author>eykanal</author><text>Please forgive the simple question, but...&lt;p&gt;Why does this exist? Is creating desktop programs out of HTML code really a good idea?</text></item></parent_chain><comment><author>cristianpascu</author><text>&amp;gt;&amp;gt; &amp;quot;JS is an ugly language&amp;quot;&lt;p&gt;&amp;gt;&amp;gt; &amp;quot;riddled with complex JS&amp;quot;&lt;p&gt;If you pick a technology by the aesthetics of the language, I&amp;#x27;m pretty sure you&amp;#x27;ll make a bad decision no matter what. Not you like in you, but in principle. :)&lt;p&gt;The code is clean if you write it well. Ugly code comes in all parentheses positions.</text></comment>