<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[NodeGui - Medium]]></title>
        <description><![CDATA[NodeGui and React NodeGui announcements/blog posts - Medium]]></description>
        <link>https://medium.com/nodegui?source=rss----3df39dbaae00---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>NodeGui - Medium</title>
            <link>https://medium.com/nodegui?source=rss----3df39dbaae00---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 22 Jun 2026 12:13:58 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/nodegui" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[NodeGui v0.13.0  ]]></title>
            <link>https://medium.com/nodegui/nodegui-v0-13-0-4fdffc833c59?source=rss----3df39dbaae00---4</link>
            <guid isPermaLink="false">https://medium.com/p/4fdffc833c59</guid>
            <category><![CDATA[node-gui]]></category>
            <category><![CDATA[nodejs]]></category>
            <category><![CDATA[gui]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[qt]]></category>
            <dc:creator><![CDATA[Atul]]></dc:creator>
            <pubDate>Fri, 24 Jan 2020 21:30:14 GMT</pubDate>
            <atom:updated>2020-01-24T21:30:14.222Z</atom:updated>
            <content:encoded><![CDATA[<h3>NodeGui v0.13.0</h3><p>There has been a drastic improvements in NodeGui since the last release announcement of v0.2.0 in September 2019. This post aims to summarize some of the major ones.</p><h3>🏋️‍♀️ Lots of core Qt widgets and features</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pkJjgWUwtuIkwNwICIMHzw.png" /><figcaption>Some of the native widgets in NodeGui 0.13.0 and up</figcaption></figure><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/3d80bb37e9d2361164af5fd350cfbb14/href">https://medium.com/media/3d80bb37e9d2361164af5fd350cfbb14/href</a></iframe><h3>✨ Includes prebuilt binaries: No more compilation step.</h3><p>Since NodeGui is a library with native Nodejs addon, the C++ part of the library needed to be built on installation. This meant you needed cmake and other c++ compilation tools to be installed. Since v0.13.0 this is no longer the case. Now the core library ships with prebuilt binaries. So in most cases you should be up and running right after you run npm install. Try the latest <a href="https://github.com/nodegui/nodegui-starter/">nodegui-starter</a> or <a href="https://github.com/nodegui/react-nodegui-starter">react-nodegui-starter</a> to check this out! 🚀</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tQhdFA8NbOVXncBfiaCeXg.png" /><figcaption>No more compilation step</figcaption></figure><h3>🎉 Includes support for native Windows plugins along with existing Unix platforms</h3><p>v0.2.0 introduced plugin support for unix platforms. This release makes sure native plugins can now be built for all platforms. This means you no longer need to wait for a feature to be added onto the core library, instead anyone can now build third party native plugins for NodeGui. This is heavily inspired from React Native’s architecture. <br>This will ensure that the core library remains lean and will allow more easy way for contributions. If you are really eager to know how it would look you can take a look at <a href="https://github.com/nodegui/nodegui-example-plugin">https://github.com/nodegui/nodegui-example-plugin</a>. Now that plugin works for all platforms. Detailed docs on how to build them would be up soon.</p><h3>🤖 Install latest master release quickly</h3><p>Now you can install the latest release right after a PR is merged using:</p><pre>npm i http://master-release.nodegui.org</pre><p>This is an auto release built using Github actions.</p><h3>📖 Shiny new Documentation website</h3><p>Since its initial release documentation website has been updated to use Docusaurus v2 . This brings a new design update that is easier to read. Still a long way to go. Apart from design it also add support for automatic docs generation via Typescript and Typedoc. This is fairly readable but we need a lot of help to make it better. More example code and screenshots will be added soon.<br><strong>Link to the new docs website</strong>: <a href="https://docs.nodegui.org/">https://docs.nodegui.org/</a></p><p>There are many more improvements and features than what is listed above. <strong>Try the NodeGui version v0.13.0 at </strong><a href="https://docs.nodegui.org/">https://docs.nodegui.org/</a>. I would like to thank all contributions and <a href="https://github.com/nodegui/nodegui#backers-">backers</a> who have sponsored the project without whom this project wouldn’t be possible.</p><p>NodeGui is a young open source project which requires your support. It is fairly straight forward to contribute to the project and I encourage everyone to give it a try.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4fdffc833c59" width="1" height="1" alt=""><hr><p><a href="https://medium.com/nodegui/nodegui-v0-13-0-4fdffc833c59">NodeGui v0.13.0 🦮 🚀</a> was originally published in <a href="https://medium.com/nodegui">NodeGui</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[NodeGUI v0.2.0]]></title>
            <link>https://medium.com/nodegui/nodegui-v0-2-0-a8521fecfe1b?source=rss----3df39dbaae00---4</link>
            <guid isPermaLink="false">https://medium.com/p/a8521fecfe1b</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[gui]]></category>
            <category><![CDATA[nodejs]]></category>
            <category><![CDATA[qt]]></category>
            <dc:creator><![CDATA[Atul]]></dc:creator>
            <pubDate>Sun, 22 Sep 2019 17:26:56 GMT</pubDate>
            <atom:updated>2019-09-22T17:26:55.898Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HDQRMsRLjq_PrDKygQqGfw.jpeg" /></figure><p><a href="https://github.com/nodegui/nodegui/releases/tag/v0.2.0">NodeGUI v0.2.0</a> contains major architectural changes with respect v0.1</p><h3><strong>Includes a shiny new build system 🌟</strong></h3><p>NodeGUI although is a nodejs addon, it no longer uses node-gyp as its build system. This is to enable greater flexibility and stability. <br>More details on why we changed to cmake here: <a href="https://github.com/nodegui/nodegui/pull/103">https://github.com/nodegui/nodegui/pull/103</a></p><h3><strong>Includes support for Native plugins for NodeGUI</strong> 🎉</h3><p>From v0.2.0 anyone can now build third party native plugins for NodeGUI. This is heavily inspired from React Native’s architecture. <br>This will ensure that the core library remains lean and will allow more easy way for contributions. More on this will be added to the docs soon. But if you are really eager to know how it would look you can take a look at <a href="https://github.com/nodegui/nodegui-example-plugin">https://github.com/nodegui/nodegui-example-plugin</a></p><h3>Other changes:</h3><ul><li>Adds QTabWidget</li><li>QCheckBoxEvents.toggled</li><li>QIcon.pixmap</li><li>qtnode addon is now renamed to nodegui_core</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a8521fecfe1b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/nodegui/nodegui-v0-2-0-a8521fecfe1b">NodeGUI v0.2.0</a> was originally published in <a href="https://medium.com/nodegui">NodeGui</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing Packer  for NodeGUI and React NodeGUI ]]></title>
            <link>https://medium.com/nodegui/announcing-packer-for-nodegui-and-react-nodegui-1bfc635da402?source=rss----3df39dbaae00---4</link>
            <guid isPermaLink="false">https://medium.com/p/1bfc635da402</guid>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[node-gui]]></category>
            <category><![CDATA[nodejs]]></category>
            <dc:creator><![CDATA[Atul]]></dc:creator>
            <pubDate>Wed, 04 Sep 2019 19:21:40 GMT</pubDate>
            <atom:updated>2019-09-04T19:12:52.096Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>Packer</strong> is a npm module that allows you to package apps built with NodeGUI or React NodeGUI into a standalone executable. Packer works on Mac, Windows and Linux</p><p><a href="https://github.com/nodegui/packer"><strong>https://github.com/nodegui/packer</strong></a></p><p>This is an initial MVP release of the module.</p><ul><li>On MacOS — Packer will output a dmg file</li><li>On Linux — Packer will output an AppImage which is something similar to a .app file in MacOS</li><li>On Windows — Packer outputs a folder containing the executable and all the dlls.</li></ul><p>Currently if you need to produce a build you need to run the packer in different OS environments. That is, cross platform builds are not supported in this release.</p><h3>Usage</h3><ul><li>First step is to install the packer as a dev dependency. You can do so by:</li></ul><pre>npm install --save-dev <a href="http://twitter.com/nodegui/packer">@nodegui/packer</a></pre><ul><li>Next you can run the init command:This will produce the deploy directory containing the template. You can modify this to suite your needs. Like add icons, change the name, description and add other native features or dependencies. Make sure you commit this directory.</li></ul><pre>npx nodegui-packer --init MyApp</pre><ul><li>Next you can run the pack command:This command essential takes the dist folder as the input and puts it in the suitable location inside the standalone executable. Also it runs the correct deployment tool (macdeployqt incase of mac, etc) and packs in the dependencies.The output of the command is found under the build directory. You should gitignore the build directory.</li></ul><pre>npx nodegui-packer --pack &lt;path to dist&gt;</pre><h3>How does it work ?</h3><p>Packer uses Qt’s packaging tools in all three platforms.</p><ul><li>On Mac — it uses macdeployqt : <a href="https://doc.qt.io/qt-5.9/osx-deployment.html#macdeploy">https://doc.qt.io/qt-5.9/osx-deployment.html#macdeploy</a></li><li>On Windows — it uses windeployqt : <a href="https://doc.qt.io/qt-5/windows-deployment.html">https://doc.qt.io/qt-5/windows-deployment.html</a></li><li>On Linux — There is no official tool, hence it uses linuxdeployqt — <a href="https://github.com/probonopd/linuxdeployqt">https://github.com/probonopd/linuxdeployqt</a></li></ul><h3>Requirements</h3><ul><li>Needs <strong>Qode v1.0.4</strong> and up (<strong>NodeGUI v0.1.7 and up</strong>)</li></ul><h3><strong>Future enhancements:</strong></h3><p>1. Cross platform builds.<br>2. Better documentation.<br>3. Reduce / Remove unnecessary dynamic libraries.<br>4. Reduce qode binary size.</p><blockquote>Please feel free to help out with this in anyway you can.</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1bfc635da402" width="1" height="1" alt=""><hr><p><a href="https://medium.com/nodegui/announcing-packer-for-nodegui-and-react-nodegui-1bfc635da402">Announcing Packer 📦 for NodeGUI and React NodeGUI 🎉</a> was originally published in <a href="https://medium.com/nodegui">NodeGui</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ Announcing NodeGUI and React Desktop — Build native desktop apps with Javascript and CSS ]]></title>
            <link>https://medium.com/nodegui/announcing-nodegui-and-react-desktop-build-native-desktop-apps-with-javascript-and-css-6a631fb22a11?source=rss----3df39dbaae00---4</link>
            <guid isPermaLink="false">https://medium.com/p/6a631fb22a11</guid>
            <category><![CDATA[nodejs]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[desktop]]></category>
            <category><![CDATA[react-native]]></category>
            <dc:creator><![CDATA[Atul]]></dc:creator>
            <pubDate>Wed, 04 Sep 2019 19:20:56 GMT</pubDate>
            <atom:updated>2019-08-15T07:01:01.118Z</atom:updated>
            <cc:license>https://creativecommons.org/publicdomain/mark/1.0/</cc:license>
            <content:encoded><![CDATA[<h3>🐕 Announcing NodeGUI and React NodeGUI — Build native desktop apps with Javascript and CSS 🎉</h3><blockquote>This was originally posted at <a href="https://blog.atulr.com/nodegui-intro/">https://blog.atulr.com/nodegui-intro/</a></blockquote><p>We’re very excited to announce the launch of <strong>NodeGUI</strong> and <strong>React NodeGUI</strong>🎊</p><p><a href="https://github.com/nodegui/nodegui">NodeGUI</a> is an open source library for building cross platform native desktop applications with JavaScript and CSS like styling. NodeGui apps can run on Mac, Windows, and Linux from a single codebase.</p><p>NodeGUI is powered by Qt5 💚 which makes it CPU and memory efficient as compared to other chromium based solutions like electron. Don’t get me wrong 🤷🏽‍♂️, Electron is a great framework for building cross platform apps but suffers from performance and energy related issues due to heavy reliance on Chromium. NodeGui wants to incorporate everything that is good about Electron: The ease of development, freedom of styling, Native APIs, great documentation, etc. At the same time NodeGui aims to be memory and CPU efficient.</p><p><a href="https://github.com/nodegui/react-desktop">React N</a>odeGUI is a react renderer for NodeGUI. It aims to be what React Native is for mobile app development.</p><p><strong>Repository links:</strong></p><ul><li><a href="https://github.com/nodegui/nodegui">https://github.com/nodegui/nodegui</a></li><li><a href="https://github.com/nodegui/react-desktop">https://github.com/nodegui/react-n</a>odegui</li></ul><h3>Features</h3><ul><li>🧬 Cross platform. Should work on major Linux flavours, Windows and MacOS</li><li>📉 Low CPU and memory footprint. Current CPU stays at 0% on idle and memory usage is under 20mb for a hello world program.</li><li>💅 Styling with CSS (includes actual cascading). Also has full support for Flexbox layout (thanks to Yoga).</li><li>✅ Complete Nodejs api support (Currently runs on Node v12.x — and is easily upgradable). Hence has access to all nodejs compatible npm modules.</li><li>🎪 Native widget event listener support. supports all event available from Qt / NodeJs.</li><li>💸 Can be used for Commercial applications.</li><li>🕵️‍♂️ Decent Devtools support.</li><li>📚 Decent documentation and website.</li><li>🧙‍♂️ Decent documentation for contributors.</li><li>🦹🏻‍♀️ Good support for dark mode (Thanks to QT).</li><li>🏅First class Typescript support. (Works on regular JS projects too 😉).</li></ul><h3>NodeGUI</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/200/1*vqNeE7-KwkrZyVu3Ju7sLA.png" /></figure><p>NodeGUI: <a href="https://www.npmjs.com/package/@nodegui/nodegui">@nodegui/nodegui</a> is essentially native javascript bindings for <a href="https://www.qt.io/">Qt</a>. Qt is a cross-platform C++ application development framework for desktop and various other platforms. The native Javascript bindings are written using <a href="https://nodejs.org/api/n-api.html">N-API or node addon api</a>. This means applications written using NodeGUI <strong>DOES NOT</strong> open up a browser instance and render the UI in it, instead all the widgets are natively rendered. Since NodeGUI is a native addon to NodeJs (extends Nodejs) you have complete access to Node APIs and all compatible npm modules. Also all debugging tools that you use with NodeJS can now be used with NodeGUI applications as well.</p><p>A big motivation towards choosing Qt was that it provides APIs to style a widget using CSS (this includes actual cascading and not just inline styling). Flex box support to the existing amazing Qt stylesheet was added using <a href="https://github.com/facebook/yoga/">Yoga</a>. Hence NodeGUI supports both paint and layout properties via CSS.</p><p>Some screenshots of example apps that were built during development.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dXBxyRVEvR9bh5GtsuWQYQ.png" /><figcaption><em>Calculator clone: win, linux &amp; mac</em></figcaption></figure><h3>Try it out! 🧙‍♂️</h3><pre>git clone <a href="https://github.com/nodegui/nodegui-starter">https://github.com/nodegui/nodegui-starter</a><br>cd nodegui-starter <br>npm install <br>npm run build <br>npm start</pre><p>A simple hello world project looks like:</p><pre>const {<br>  QMainWindow,<br>  QWidget,<br>  QLabel,<br>  FlexLayout<br>} = require(&quot;@nodegui/nodegui&quot;);<br><br>const win = new QMainWindow();<br><br>const centralWidget = new QWidget();<br>centralWidget.setObjectName(&quot;myroot&quot;);<br>const rootLayout = new FlexLayout();<br>centralWidget.setLayout(rootLayout);<br><br>const label = new QLabel();<br>label.setObjectName(&quot;mylabel&quot;);<br>label.setText(&quot;Hello&quot;);<br><br>const label2 = new QLabel();<br>label2.setText(&quot;World&quot;);<br>label2.setInlineStyle(`<br>  color: red;<br>`);<br><br>rootLayout.addWidget(label);<br>rootLayout.addWidget(label2);<br>win.setCentralWidget(centralWidget);<br>win.setStyleSheet(<br>  `<br>    #myroot {<br>      background-color: #009688;<br>      height: &#39;100%&#39;;<br>      align-items: &#39;center&#39;;<br>      justify-content: &#39;center&#39;;<br>    }<br>    #mylabel {<br>      font-size: 16px;<br>      font-weight: bold;<br>    }<br>  `<br>);<br>win.show();<br><br>(global as any).win = win;  //to prevent gc</pre><h3>React NodeGUI</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/400/1*51_LK9lrx0Up4G7pOQn56g.png" /></figure><p>React NodeGUI: <a href="https://www.npmjs.com/package/@nodegui/react-desktop">@nodegui/react-n</a>odegui is a ⚛️ react renderer for NodeGUI. This means you can create you views using React components similar to that of React Native. React NodeGUI is powered by React ⚛️ and Qt5 💚 which makes it easy to build performant, native and cross-platform desktop applications. With react nodegui you have complete access to all React APIs including hooks. React NodeGUI makes it much more easy to manage all the views via Javascript.</p><h3>Try it out! 🧙‍♂️</h3><p>The same example we saw above in NodeGui would look like this in react-nodegui</p><pre>git clone <a href="https://github.com/nodegui/react-desktop-starter">https://github.com/nodegui/react-nodegui-starter</a><br>cd react-nodegui-starter <br>npm install <br>npm run build <br>npm start</pre><p>A simple hello world project looks like:</p><pre>import { Renderer, View, Text, Window } from &#39;@nodegui/react-nodegui&#39;<br>import React from &#39;react&#39;<br><br>const App = () =&gt; {<br>  return (<br>    &lt;Window styleSheet={styleSheet}&gt;<br>      &lt;View id=&quot;myroot&quot;&gt;<br>        &lt;Text id=&quot;mylabel&quot;&gt;{`Hello`}&lt;/Text&gt;<br>        &lt;Text style={&#39;color: red;&#39;}&gt;{`World`}&lt;/Text&gt;<br>      &lt;/View&gt;<br>    &lt;/Window&gt;<br>  )<br>}<br><br>const styleSheet = `<br>  #myroot {<br>    background-color: #009688;<br>    height: &#39;100%&#39;;<br>    align-items: &#39;center&#39;;<br>    justify-content: &#39;center&#39;;<br>  }<br>  #mylabel {<br>    font-size: 16px;<br>    font-weight: bold;<br>  }<br>`<br><br>Renderer.render(&lt;App /&gt;)</pre><p>The output looks like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/350/1*j_5gx8jX7Zvdf_UWcMMJcg.png" /><figcaption>Hello world demo</figcaption></figure><blockquote><em>Disclaimer: Please keep in mind that both NodeGui and React NodeGUI are at their infancy stage. Hence, I would hold on for some more time before using it in production. This post is primarily aimed at encouraging contributions to the project.</em></blockquote><h3>Some more example screenshots: 📸</h3><p>The source code for all these examples are here: <a href="https://github.com/nodegui/react-desktop/tree/master/examples/">https://github.com/nodegui/react-nodegui/tree/master/examples/</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*l_nuKv_YJxoBJYHl2bR9Cw.png" /></figure><h3>Development and Support 🍺</h3><p>NodeGui and React NodeGUI are open source projects. If you like where these projects are heading please do <a href="https://github.com/nodegui/nodegui"><strong><em>star 🌟</em></strong> </a>the respective repos.</p><p>The code is structured for simplicity such that anyone who is willing to contribute can get started quickly. There is also a decent contributor’s guide which also contains links to blog posts that can get you started even if you have no clue about nodejs addons, etc. I would suggest you to give it a shot. If anything is unclear you can raise an issue on the respective project repos on Github and we would be more than happy to help. We aim to make the project easy to develop and use. Hence, pull requests are always welcome.</p><p>If you can support the project financially 💰 please hit the <a href="https://github.com/nodegui/nodegui"><strong><em>sponsor</em></strong></a> button on the Github repo.</p><p>I hope we can build an awesome library together ❤️ Cheers 🍺</p><blockquote>This was originally posted at <a href="https://blog.atulr.com/nodegui-intro/">https://blog.atulr.com/nodegui-intro/</a></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6a631fb22a11" width="1" height="1" alt=""><hr><p><a href="https://medium.com/nodegui/announcing-nodegui-and-react-desktop-build-native-desktop-apps-with-javascript-and-css-6a631fb22a11">🐕 Announcing NodeGUI and React Desktop — Build native desktop apps with Javascript and CSS 🎉</a> was originally published in <a href="https://medium.com/nodegui">NodeGui</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>