{"id":13392801,"url":"https://github.com/nodegui/nodegui","last_synced_at":"2026-02-05T20:13:32.934Z","repository":{"id":36596893,"uuid":"186662363","full_name":"nodegui/nodegui","owner":"nodegui","description":"A library for building cross-platform native desktop applications with Node.js and CSS  🚀.  React NodeGui : https://react.nodegui.org and Vue NodeGui: https://vue.nodegui.org","archived":false,"fork":false,"pushed_at":"2026-01-27T19:18:14.000Z","size":100992,"stargazers_count":9181,"open_issues_count":92,"forks_count":309,"subscribers_count":97,"default_branch":"master","last_synced_at":"2026-01-28T05:35:47.397Z","etag":null,"topics":["cross-platform","desktop","gui","javascript","nodejs","openlibrary","qt"],"latest_commit_sha":null,"homepage":"http://docs.nodegui.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"nodegui/nodegui","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nodegui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["a7ul"],"patreon":null,"tidelift":null,"issuehunt":"nodegui/nodegui","ko_fi":"atul94","custom":null}},"created_at":"2019-05-14T16:41:17.000Z","updated_at":"2026-01-25T10:22:44.000Z","dependencies_parsed_at":"2024-01-12T04:45:55.810Z","dependency_job_id":"031b00e1-287b-410f-8d3c-dc6b161dda6d","html_url":"https://github.com/nodegui/nodegui","commit_stats":{"total_commits":1146,"total_committers":75,"mean_commits":15.28,"dds":0.5401396160558465,"last_synced_commit":"cbe5a88facbec52cd8bf260a7ede8368461b3339"},"previous_names":[],"tags_count":128,"template":false,"template_full_name":null,"purl":"pkg:github/nodegui/nodegui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodegui%2Fnodegui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodegui%2Fnodegui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodegui%2Fnodegui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodegui%2Fnodegui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodegui","download_url":"https://codeload.github.com/nodegui/nodegui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodegui%2Fnodegui/sbom","scorecard":{"id":692520,"data":{"date":"2025-08-11","repo":{"name":"github.com/nodegui/nodegui","commit":"6b9e2b1dd77efb370f54e74aa4698063da6ce28b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":8,"reason":"8 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":1,"reason":"Found 3/19 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/docs.yml:1","Warn: no topLevel permission defined: .github/workflows/latest.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.73.0 not signed: https://api.github.com/repos/nodegui/nodegui/releases/228887298","Warn: release artifact v0.0.0-latest-master not signed: https://api.github.com/repos/nodegui/nodegui/releases/228887609","Warn: release artifact v0.72.0 not signed: https://api.github.com/repos/nodegui/nodegui/releases/221884075","Warn: release artifact v0.71.0 not signed: https://api.github.com/repos/nodegui/nodegui/releases/198889358","Warn: release artifact v0.70.0 not signed: https://api.github.com/repos/nodegui/nodegui/releases/188289635","Warn: release artifact v0.73.0 does not have provenance: https://api.github.com/repos/nodegui/nodegui/releases/228887298","Warn: release artifact v0.0.0-latest-master does not have provenance: https://api.github.com/repos/nodegui/nodegui/releases/228887609","Warn: release artifact v0.72.0 does not have provenance: https://api.github.com/repos/nodegui/nodegui/releases/221884075","Warn: release artifact v0.71.0 does not have provenance: https://api.github.com/repos/nodegui/nodegui/releases/198889358","Warn: release artifact v0.70.0 does not have provenance: https://api.github.com/repos/nodegui/nodegui/releases/188289635"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/latest.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/latest.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/latest.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/latest.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/latest.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/latest.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/latest.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/latest.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/latest.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/latest.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/nodegui/nodegui/test.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/docs.yml:36","Warn: npmCommand not pinned by hash: .github/workflows/docs.yml:39","Warn: npmCommand not pinned by hash: .github/workflows/latest.yml:22","Warn: npmCommand not pinned by hash: .github/workflows/release.yml:41","Warn: npmCommand not pinned by hash: .github/workflows/release.yml:95","Warn: npmCommand not pinned by hash: .github/workflows/test.yml:21","Info:   0 out of  12 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   6 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"30 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-cph5-m8f7-6c5x","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-f7f6-9jq7-3rqj","Warn: Project is vulnerable to: GHSA-4www-5p9h-95mh","Warn: Project is vulnerable to: GHSA-9gqv-wp59-fq42","Warn: Project is vulnerable to: GHSA-m5qc-5hw7-8vg7","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-x7hr-w5r2-h6wg","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T02:37:54.569Z","repository_id":36596893,"created_at":"2025-08-22T02:37:54.569Z","updated_at":"2025-08-22T02:37:54.569Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29133211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T19:36:52.185Z","status":"ssl_error","status_checked_at":"2026-02-05T19:35:40.941Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","desktop","gui","javascript","nodejs","openlibrary","qt"],"created_at":"2024-07-30T17:00:37.389Z","updated_at":"2026-02-05T20:13:32.925Z","avatar_url":"https://github.com/nodegui.png","language":"C++","readme":"# NodeGui\n\n[![All Contributors](https://img.shields.io/badge/All_contributors-66-orange.svg)](#contributors)\n[![JS Party #96](https://img.shields.io/badge/JS%20Party-%2396-FFCD00.svg)](https://changelog.com/jsparty/96)\n[![Build and Test status](https://github.com/nodegui/nodegui/workflows/.github/workflows/test.yml/badge.svg)](https://github.com/nodegui/nodegui/actions)\n[![Discuss on GitHub](https://img.shields.io/badge/Discuss%20on-GitHub-blue)](https://github.com/nodegui/nodegui/discussions)\n\nBuild **performant**, **native** and **cross-platform** desktop applications with **Node.js** and **CSS like styling**.🚀\n\nNodeGUI is powered by **Qt6** 💚 which makes it CPU and memory efficient as compared to other chromium based solutions like Electron.\n\n\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/1024px-React-icon.svg.png\" alt=\"\" width=\"25\"\u003e If you are looking for **React** based version, check out: **[React NodeGUI](https://github.com/nodegui/react-nodegui)**.\n\n\u003cimg src=\"https://vuejs.org/images/logo.png\" alt=\"\" width=\"25\" /\u003e If you are looking for **Vue** based version, check out: **[Vue NodeGUI](https://github.com/nodegui/vue-nodegui)**.\n\n\u003cimg src=\"https://github.com/sveltejs/branding/raw/master/svelte-logo.png\" alt=\"\" width=\"25\" /\u003e If you are looking for **Svelte** based version, check out: **[Svelte NodeGUI](https://github.com/nodegui/svelte-nodegui)**\n\nVisit https://nodegui.github.io/nodegui for docs.\n\n\u003cimg alt=\"logo\" src=\"https://github.com/nodegui/nodegui/raw/master/extras/logo/nodegui.png\" height=\"200\" /\u003e\n\n## How does it look?\n\n\u003cdiv style=\"display:inline; margin: 0 auto;\"\u003e\n\u003cimg alt=\"demo_linux\" src=\"https://github.com/nodegui/examples/raw/master/nodegui/calculator/calculator_linux.png\" height=\"280\" /\u003e\n\u003cimg alt=\"demo_win\" src=\"https://github.com/nodegui/examples/raw/master/nodegui/calculator/calculator_win.jpg\" height=\"280\" /\u003e\n\u003cimg alt=\"demo_mac\" src=\"https://github.com/nodegui/examples/raw/master/nodegui/calculator/calculator_mac.png\" height=\"280\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"display:inline; margin: 0 auto;\"\u003e\u003cimg alt=\"kitchen\" src=\"https://github.com/nodegui/nodegui/raw/master/extras/assets/kitchen.png\" height=\"280\" /\u003e\u003cimg alt=\"demo_mac\" src=\"https://github.com/nodegui/examples/raw/master/react-nodegui/weather-app-widget/weather_widget_mac.png\" height=\"280\" /\u003e\u003cimg alt=\"demo_win\" src=\"https://github.com/nodegui/examples/raw/master/react-nodegui/image-view/image_view_win.jpg\" height=\"280\" /\u003e\n\u003c/div\u003e\n\n### Code Examples\n\nhttps://github.com/nodegui/examples\n\n---\n\n## Features\n\n-   🧬 **Cross platform.** Works on major Linux flavours and Windows. Help is requested to bring it to ARM based MacOS. See [issue 1024](https://github.com/nodegui/nodegui/issues/1024)\n-   📉 **Low CPU and memory** footprint. Current CPU stays at 0% on idle and memory usage is under 20MB for a Hello World program.\n-   💅 **Styling with CSS** (includes actual cascading). Also has full support for Flexbox layout (thanks to Yoga).\n-   ✅ **Complete Nodejs API support** (Currently runs on Node v24). Hence has access to all Nodejs compatible NPM modules.\n-   🎪 **Native widget event listener support.** Supports all events available from Qt / NodeJs.\n-   💸 **Can be used for Commercial applications.**\n-   🕵️‍♂️ **Good Devtools support.**\n-   📚 **Good documentation and website.**\n-   🧙‍♂️ **Good documentation for contributors.**\n-   🦹🏻‍♀️ **Good support for dark mode (Thanks to Qt).**\n-   🏅**First class Typescript support.** (Works on regular JS projects too 😉).\n\n## Getting Started\n\n-   Check out [nodegui-simple-starter](https://github.com/sedwards2009/nodegui-simple-starter) to get up and running with your own React NodeGUI app!\n-   Read through the [docs](https://nodegui.github.io/nodegui).\n-   Checkout the examples: https://github.com/nodegui/examples .\n-   [Tutorial: Build a native Meme Search Desktop app with Javascript (NodeGui) and Giphy API](https://www.sitepoint.com/build-native-desktop-gif-searcher-app-using-nodegui/)\n\n\n## Installation\n\nTo install latest stable release:\n\n```\nnpm install @nodegui/nodegui\n```\n\nTo install the latest version available on master branch:\n\n```\nnpm install https://github.com/nodegui/nodegui/releases/download/v0.0.0-latest-master/nodegui-master.tgz\n```\n\nor a shorter version:\n\n```\nnpm i http://master-release.nodegui.org\n```\n\nIf the installation fails to download the Qt binaries, a mirror can be used by setting the following environment variable and running the install command again:\n\n```sh\nQT_LINK_MIRROR=\u003calternative domain\u003e # eg. QT_LINK_MIRROR=https://qt-mirror.dannhauer.de\n\nnpm install @nodegui/nodegui\n```\n\nSee [FAQs](https://github.com/nodegui/nodegui/tree/master/website/docs/faq.md#why-does-installation-fail-at-minimal-qt-setup) for more details.\n\n\n\n## Community guides\n\n-   [Tutorial: Build a native Meme Search Desktop app with Javascript (NodeGui) and Giphy API](https://www.sitepoint.com/build-native-desktop-gif-searcher-app-using-nodegui/)\n-   https://blog.logrocket.com/electron-alternatives-exploring-nodegui-and-react-nodegui/ - Electron alternatives: Exploring NodeGUI and React NodeGUI by [Siegfried Grimbeek](https://blog.logrocket.com/author/siegfriedgrimbeek/).\n-   https://hibbard.eu/node-gui/ - Excellent guide from [James Hibbard](https://github.com/jameshibbard).\n\n## Talks/Podcasts\n\n-   [NodeGui and React NodeGui at KarmaJS Nov 2019 meetup: https://www.youtube.com/watch?v=8jH5gaEEDv4](https://www.youtube.com/watch?v=8jH5gaEEDv4)\n\n-   \u003caudio data-theme=\"night\" data-src=\"https://changelog.com/jsparty/96/embed\" src=\"https://cdn.changelog.com/uploads/jsparty/96/js-party-96.mp3\" preload=\"none\" class=\"changelog-episode\" controls\u003e\u003c/audio\u003e\u003cp\u003e\u003ca href=\"https://changelog.com/jsparty/96\"\u003eJS Party 96: Performant Node desktop apps with NodeGUI\u003c/a\u003e – Listen on \u003ca href=\"https://changelog.com/\"\u003eChangelog.com\u003c/a\u003e\u003c/p\u003e\n\n## Docs for contributing\n\n```\nIt is easier than you think, try it\n```\n\nLooking to contribute? If you wish to implement a new widget/add more features and need help understanding the codebase, you can start here: [Contributing developer docs](https://github.com/nodegui/nodegui/tree/master/website/docs/development).\n\nPlease read https://github.com/nodegui/.github/blob/master/CONTRIBUTING.md\n\n\n## Building from source\n\nThis section is useful for those wanting to work on NodeGui itself.\n\n### Required tooling\n\nNodeGui requires CMake and Compilation Tools as it is a wrapper for a native C++ widget toolkit QT.\nDetailed instructions here: https://www.sitepoint.com/build-native-desktop-gif-searcher-app-using-nodegui/\n\nTL;DR:\n\n**MacOS**\n\n```\nbrew install cmake\nbrew install make\n```\n\n\n**Windows**\n\nhttps://cmake.org/download/\n\n**Linux (Debian/Ubuntu)**\n\n```\nsudo apt-get install pkg-config build-essential\nsudo apt-get install cmake make\nsudo apt-get install mesa-common-dev libglu1-mesa-dev\n```\n\n**Linux (Fedora/RHEL/CentOS)**\n\n```\nsudo dnf groupinstall \"Development Tools\" \"Development Libraries\"\nsudo dnf groupinstall \"C Development Tools and Libraries\"\nsudo dnf install mesa-libGL mesa-libGL-devel\n```\n\n### Building\n\nOnce you have cloned this git repository, run this to build:\n\n```\nnpm install\nnpm run build\n```\n\nThe last step will takes some time to run as it builds the C++ binaries at the core of NodeGui.\n\n\n### Using your own custom Qt installation (Optional)\n\n**Compiling Qt from source**\n\nYou will need to download and install Qt from source since there are no binaries from Qt for M1 yet.\n\n(https://www.reddit.com/r/QtFramework/comments/ll58wg/how_to_build_qt_creator_for_macos_arm64_a_guide/)\n\n```\ngit clone git://code.qt.io/qt/qt5.git qt6\ncd qt6\ngit checkout 6.6\n\n./init-repository --module-subset=essential -f\ngit submodule init qtsvg\ngit submodule update qtsvg\n\ncd ..\nmkdir qt6-6.6-macOS-release\ncd qt6-6.6-macOS-release\n\n../qt6/configure -release QMAKE_APPLE_DEVICE_ARCHS=arm64 -opensource -confirm-license -nomake examples -nomake tests -skip qt3d -skip webengine -skip qtactiveqt -skip qtcanvas3d  -skip qtdeclarative -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtcharts -skip qtgraphicaleffects -skip qtlocation  -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtscript\n\nmake -j15\n\nmake install\n```\n\nThis should install Qt into something like this `/usr/local/Qt-6.6.0` (your directory can change. This will be displayed when running make)\n\n**Pointing nodegui to use your custom Qt installation**\n\nNow just set `export QT_INSTALL_DIR=\u003cyour qt path\u003e` . In the above example it would look something like this `export QT_INSTALL_DIR=/usr/local/Qt-6.6.0`. Add this in your .zshrc or .bashrc so that you dont need to repeat this process again.\n\nNow just `rm -rf node_modules` and do `npm install` again.\n\nThe logs should say something like `CustomQt detected at \u003cyour qt path\u003e. Hence, skipping Mini Qt installation`.\n\n\n### Running example programs\n\nA number of small programs to show different parts of the Qt API are in `src/examples`. They can be run directly with:\n\n```\nnpm run qode dist/examples/modelview_1_readonly.js\n```\n\n## Updating docs\n\n`npm run docs`\n\nthen followed by:\n\n`cd website \u0026\u0026 GIT_USER=\u003cyour_git_username\u003e yarn deploy`\n\n## Funding\n\nNodeGui is an open source project and requires your support. If you like this project, please consider supporting my work by clicking on the Sponsor button on this Github repository or via Ko-Fi.\nAlternatively, Issues on NodeGui can be funded by anyone via Issuehunt and the amount will be distributed to respective contributors.\n\n\u003cp\u003e\n\u003ca href='https://ko-fi.com/E1E510AV9' target='_blank'\u003e\u003cimg height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi4.png?v=2' border='0' alt='Buy Me a Coffee at ko-fi.com' /\u003e\u003c/a\u003e \u0026nbsp; \u0026nbsp;\u003ca href=\"https://issuehunt.io/r/nodegui/nodegui\"\u003e\u003cimg alt=\"issuehunt\" src=\"https://github.com/BoostIO/issuehunt-materials/raw/master/v1/issuehunt-button-v1.svg?sanitize=true\"  height=\"30px\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Special Thanks\n\n-   [Logo: Thanks to Vishwas Shetty from the Noun Project.](https://github.com/nodegui/nodegui/blob/master/extras/legal/logo/thanks.md)\n\n## Code of Conduct\n\nhttps://github.com/nodegui/.github/blob/master/CODE_OF_CONDUCT.md\n\n## License\n\nMIT\n\n## Backers 🚀\n\nThanks goes to these wonderful people.\n\n\u003c!-- prettier-ignore --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/yazla\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/681281?s=460\u0026v=4\" width=\"100px;\" alt=\"Yuriy Yazlovytskyy\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYuriy Yazlovytskyy\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/johnsusek\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/611996?s=460\u0026v=4\" width=\"100px;\" alt=\"John Susek\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJohn Susek\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Spharax\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/2892381?s=460\u0026v=4\" width=\"100px;\" alt=\"Marc Dijoux\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarc Dijoux\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Qard\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/205482?s=460\u0026v=4\" width=\"100px;\" alt=\"Stephen Belanger\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStephen Belanger\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/irustm\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/16316579?s=460\u0026v=4\" width=\"100px;\" alt=\"Rustam\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRustam\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Maintainers ✨\n\nPeople maintaining this project.\n\n\u003c!-- prettier-ignore --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://blog.atulr.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/4029423?v=4\" width=\"100px;\" alt=\"Atul R\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAtul R\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/sedwards2009\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6926644?v=4\" width=\"100px;\" alt=\"Simon Edwards\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSimon Edwards\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://lramage.gitlab.io\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/43783393?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLucas Ramage\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=oxr463\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/gamtiq\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/1177323?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDenis Sikuler\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=gamtiq\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://twitter.com/nahueljo\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1612488?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNahuel José\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-Naahuel\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/kakulgupta\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/10727047?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKakul Gupta\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=kakulgupta\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://rahulgaba.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/7898942?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRahul Gaba\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=rgabs\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://uriziel.pl\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/568207?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePaweł Borecki\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=Uriziel01\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://marcus-sa.me\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/8391194?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarcus S. Abildskov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=marcus-sa\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.mad3linux.org\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/508624?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eÁtila Camurça Alves\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=atilacamurca\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://hibbard.eu\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1940994?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJames Hibbard\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=jameshibbard\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/soonoo\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5436405?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSoonwoo Hong\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=soonoo\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/illBeRoy\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/6681893?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRoy Sommer\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=illBeRoy\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/paulocoghi\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/378397?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePaulo Coghi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-paulocoghi\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://balthild.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/2662758?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBalthild Ires\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=balthild\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://dimitarnestorov.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/8790386?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDimitar Nestorov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=dimitarnestorov\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.greatapes.fi\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/3404389?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMikko Sairio\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=msairio\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://blog.pepf.nl\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1265435?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePepijn\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=pepf\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/slidinghotdog\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/33790211?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eslidinghotdog\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=slidinghotdog\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.bundyo.org\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/98318?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBundyo (Kamen Bundev)\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=bundyo\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/feng8848\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/40539968?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003efeng8848\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=feng8848\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://karelov.info\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/2384454?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaksim Karelov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=Ty3uK\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/mspencer92\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1910455?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emspencer92\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=mspencer92\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/blncd2020\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/59541979?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eblncd2020\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=blncd2020\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/gluaxspeed\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/16431709?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003egluaxspeed\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=gluaxspeed\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Solant\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5971578?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSolant\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=Solant\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/shubhamzanwar\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/15626155?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eShubham Zanwar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=shubhamzanwar\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Singha360\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/35334787?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSingha360\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=Singha360\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://wellenline.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/3790782?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMihkel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=MihkelBaranov\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/stevo2588\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/3278045?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStephen A\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=stevo2588\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://liujunjiang.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/15191056?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e流君酱\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=jardenliu\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/agg23\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/238679?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdam Gastineau\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=agg23\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/swittk\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5000572?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eswittk\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=swittk\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/craftingmod\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/9389278?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ecraftingmod\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=craftingmod\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.m2osw.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/643129?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDoug Barbieri\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=dooglio\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/NeryHenrique\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/6879141?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHENRIQUE DE SOUZA NERY\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=NeryHenrique\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://ruslang.xyz\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/25264730?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRuslan Garifullin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=ruslang02\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ran-j\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/17410205?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRanieri\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=ran-j\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/nodegui/nodegui/commits?author=ran-j\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://master-technology.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/850871?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNathanael Anderson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=NathanaelA\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://ubiq.co.za\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/4415071?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRoss\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=rocbear\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/nodegui/nodegui/commits?author=rocbear\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/4h7l\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/69183283?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e4h7l\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=4h7l\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Maks-s\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/26678512?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaks\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=Maks-s\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/zhb124404\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16805041?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ezhb124404\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=zhb124404\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.apsis.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/579688?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWyatt Kirby\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=wkirby\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://stvkoch.github.io.\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/14454?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSteven Koch\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=stvkoch\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/sedwards2009\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6926644?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSimon Edwards\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nodegui/nodegui/commits?author=sedwards2009\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://github.com/sponsors/a7ul","https://issuehunt.io/r/nodegui/nodegui","https://ko-fi.com/atul94","https://ko-fi.com/E1E510AV9'"],"categories":["GUI Frameworks","C++","👓 Alternatives to the [Electron.js](https://electronjs.org) ⚛","前端开发框架及项目","gui","Framework","qt","Graphics","Moderne Web-Anwendungsentwicklung"],"sub_categories":["Qt","Javascript","其他_文本生成、文本对话"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodegui%2Fnodegui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodegui%2Fnodegui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodegui%2Fnodegui/lists"}