{"id":13736964,"url":"https://github.com/webui-dev/nim-webui","last_synced_at":"2025-04-09T16:24:05.425Z","repository":{"id":141122429,"uuid":"612760381","full_name":"webui-dev/nim-webui","owner":"webui-dev","description":"Use any web browser as GUI, with Nim in the backend and HTML5 in the frontend.","archived":false,"fork":false,"pushed_at":"2024-07-28T16:44:03.000Z","size":2757,"stargazers_count":135,"open_issues_count":7,"forks_count":9,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-23T18:47:47.118Z","etag":null,"topics":["bindings","browser","chrome","chromium","cross-platform","edge","firefox","javascript","nim","nim-lang","nimble","safari","ui","web","webui","wrapper"],"latest_commit_sha":null,"homepage":"https://webui.me","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webui-dev.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}},"created_at":"2023-03-11T22:20:06.000Z","updated_at":"2025-03-07T23:16:27.000Z","dependencies_parsed_at":"2024-01-20T10:39:04.229Z","dependency_job_id":"d265da45-03c7-45b8-b274-3b6c0acd8249","html_url":"https://github.com/webui-dev/nim-webui","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fnim-webui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fnim-webui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fnim-webui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fnim-webui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webui-dev","download_url":"https://codeload.github.com/webui-dev/nim-webui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248066024,"owners_count":21042019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bindings","browser","chrome","chromium","cross-platform","edge","firefox","javascript","nim","nim-lang","nimble","safari","ui","web","webui","wrapper"],"created_at":"2024-08-03T03:01:32.593Z","updated_at":"2025-04-09T16:24:05.375Z","avatar_url":"https://github.com/webui-dev.png","language":"Nim","readme":"\u003cdiv align=\"center\"\u003e\n\n![Logo](https://raw.githubusercontent.com/webui-dev/webui-logo/main/webui_nim.png)\n\n# Nim-WebUI\n\n\u003c!-- [build-status]: https://img.shields.io/github/actions/workflow/status/webui-dev/webui-nim/ci.yml?branch=main\u0026style=for-the-badge\u0026logo=githubactions\u0026labelColor=414868\u0026logoColor=C0CAF5 --\u003e\n[last-commit]: https://img.shields.io/github/last-commit/webui-dev/nim-webui?style=for-the-badge\u0026logo=github\u0026logoColor=C0CAF5\u0026labelColor=414868\n[release-version]: https://img.shields.io/github/v/tag/webui-dev/nim-webui?style=for-the-badge\u0026logo=webtrees\u0026logoColor=C0CAF5\u0026labelColor=414868\u0026color=7664C6\n[license]: https://img.shields.io/github/license/webui-dev/nim-webui?style=for-the-badge\u0026logo=opensourcehardware\u0026label=License\u0026logoColor=C0CAF5\u0026labelColor=414868\u0026color=8c73cc\n\n\u003c!-- [![][build-status]](https://github.com/webui-dev/webui-nim/actions?query=branch%3Amain) --\u003e\n[![][last-commit]](https://github.com/webui-dev/nim-webui/pulse)\n[![][release-version]](https://github.com/webui-dev/nim-webui/releases/latest)\n[![][license]](https://github.com/webui-dev/nim-webui/blob/main/LICENSE)\n\n\u003e Use any web browser or WebView as GUI, with Nim in the backend and modern web technologies in the frontend, all in a lightweight portable lib.\n\n\u003c!--\nNim wrapper and bindings for [WebUI](https://github.com/webui-dev/webui), a fully independent and cross-platform web UI library.\n\nInstead of using a third-party library, WebUI instead uses a pre-installed browser (Edge, Firefox, Chrome, Chromium, or Safari). So, there's no need for any large SDK or library for development/production, all you need is a web browser (or a webview, if you're into that)!\n--\u003e\n\n![Screenshot](https://raw.githubusercontent.com/webui-dev/webui-logo/main/screenshot.png)\n\n\u003c/div\u003e\n\n## Features\n\n* Fully Independent (*Only needs a web browser or a WebView at runtime*)\n* Lightweight \u0026 Small memory footprint\n* Fast binary communication protocol between WebUI and the browser\n* Multi-platform \u0026 Multi-Browser\n* Using private profile for safety\n* Cross-platform WebView\n\n## Installation\n\nInstall via Nimble:\n\n```shell\nnimble install webui\n```\n\n## Documentation\n\nOnline documentation can be found here:\n  - \u003chttps://webui.me/docs/2.4.0/#/nim_api\u003e\n  - \u003chttps://neroist.github.io/webui-docs/\u003e (same thing but made in nimib)\n\nI suggest to get started using some [examples](#examples) or WebUI's own [examples](https://github.com/webui-dev/webui/tree/main/examples) or [documentation](https://webui.me/docs/).\n\nHeres a very [*minimal*](examples/minimal.nim) example of using the wrapper:\n\n```nim\nimport webui\n\nlet window = newWindow() # Create a new Window\nwindow.show(\"\u003chtml\u003eHello\u003c/html\u003e\") # Show the window with html content\n\nwait() # Wait until the window gets closed\n```\n\n### Examples\n\nExamples can be found here at [`examples/`](examples/).\n\nIf you're trying to run the examples remember to clone the repository *recursively*, as it depends on the WebUI repo as a submodule. Here's the command to do so for the truly lazy:\n\n```shell\ngit clone --recursive https://github.com/webui-dev/nim-webui.git\n```\n\n## Bindings and Wrapper\n\nThe Nim library exposes two files: `webui.nim` and `webui/bindings.nim`.\n`webui/bindings.nim` are low-level bindings for WebUI, generated by\n[c2nim](https://github.com/nim-lang/c2nim). `webui.nim` is a high-level wrapper for\nWebUI, using native Nim types and avoiding pointers.\n\nThe wrapper and bindings also allow to to control whether or not to statically\ncompile WebUI's C sources into your application, compile with a static library, or\nto depend on a DLL. Static compilation is the default behavior.\n\nTo compile with a static library, pass `-d:useWebviewStaticLib` or\n`-d:useWebviewStaticLibrary` to the Nim compiler. To depend on a DLL, pass\n`-d:useWebviewDll` instead. If neither of these flags are passed to the Nim\ncompiler, static compilation will take place instead. Static libraries and DLLs can\nbe found in WebUI's website [here](https://webui.me/#download).\n\nIn addition, you can also enable WebUI's logging via `-d:webuiLog` but that flag\nonly works for static compilation.\n\n## Other Wrappers/Bindings\n\n| Language                | Status         | Link                                                      |\n| ----------------------- | -------------- | --------------------------------------------------------- |\n| Go                      | ✔️             | [Go-WebUI](https://github.com/webui-dev/go-webui)         |\n| Nim                     | ✔️             | [Nim-WebUI](https://github.com/webui-dev/nim-webui)       |\n| Pascal                  | ✔️             | [Pascal-WebUI](https://github.com/webui-dev/pascal-webui) |\n| Python                  | ✔️             | [Python-WebUI](https://github.com/webui-dev/python-webui) |\n| Rust                    | ✔️             | [Rust-WebUI](https://github.com/webui-dev/rust-webui)     |\n| TypeScript / JavaScript | ✔️             | [Deno-WebUI](https://github.com/webui-dev/deno-webui)     |\n| V                       | ✔️             | [V-WebUI](https://github.com/webui-dev/v-webui)           |\n| Zig                     | ✔️             | [Zig-WebUI](https://github.com/webui-dev/zig-webui)       |\n| Odin                    | _not complete_ | [Odin-WebUI](https://github.com/webui-dev/odin-webui)     |\n| Delphi                  | ✔️             | [WebUI4Delphi](https://github.com/salvadordf/WebUI4Delphi)|\n| QuickJS                 | ✔️             | [QuickUI](https://github.com/xland/QuickUI)               |\n\n## Supported Web Browsers\n\n| Browser         | Windows         | macOS         | Linux           |\n| --------------- | --------------- | ------------- | --------------- |\n| Mozilla Firefox | ✔️              | ✔️            | ✔️              |\n| Google Chrome   | ✔️              | ✔️            | ✔️              |\n| Microsoft Edge  | ✔️              | ✔️            | ✔️              |\n| Chromium        | ✔️              | ✔️            | ✔️              |\n| Yandex          | ✔️              | ✔️            | ✔️              |\n| Brave           | ✔️              | ✔️            | ✔️              |\n| Vivaldi         | ✔️              | ✔️            | ✔️              |\n| Epic            | ✔️              | ✔️            | _not available_ |\n| Apple Safari    | _not available_ | _coming soon_ | _not available_ |\n| Opera           | _coming soon_   | _coming soon_ | _coming soon_   |\n\n## Supported WebView Platforms\n\n| WebView           | Status            |\n| ----------------- | ----------------- |\n| Windows WebView2  | ✔️                |\n| Linux GTK WebView | ✔️                |\n| macOS WKWebView   | ✔️                |\n\n## License\n\nMIT License. See [LICENSE](LICENSE)\n\nOriginal WebUI library is licensed under MIT. See\n[LICENSE](https://github.com/webui-dev/webui/blob/main/LICENSE).\n","funding_links":[],"categories":["User Interface"],"sub_categories":["GUI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebui-dev%2Fnim-webui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebui-dev%2Fnim-webui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebui-dev%2Fnim-webui/lists"}