{"id":13805974,"url":"https://github.com/webui-dev/v-webui","last_synced_at":"2025-05-13T21:32:02.199Z","repository":{"id":134727460,"uuid":"558999181","full_name":"webui-dev/v-webui","owner":"webui-dev","description":"Use any web browser as GUI, with V in the backend and modern web technologies in the frontend.","archived":false,"fork":false,"pushed_at":"2024-07-07T21:05:32.000Z","size":3003,"stargazers_count":104,"open_issues_count":4,"forks_count":9,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-08-04T01:05:42.977Z","etag":null,"topics":["brave-browser","browser","chrome","chromium","cross-platform","firefox","gui","javascript","safari","ui","vivaldi","vwebui","web","webui"],"latest_commit_sha":null,"homepage":"https://webui.me","language":"V","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":"2022-10-28T19:36:36.000Z","updated_at":"2024-08-02T18:45:29.000Z","dependencies_parsed_at":"2024-02-01T20:08:05.999Z","dependency_job_id":"5eca2308-640c-4556-864d-f205a73b915f","html_url":"https://github.com/webui-dev/v-webui","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fv-webui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fv-webui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fv-webui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webui-dev%2Fv-webui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webui-dev","download_url":"https://codeload.github.com/webui-dev/v-webui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225260368,"owners_count":17446085,"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":["brave-browser","browser","chrome","chromium","cross-platform","firefox","gui","javascript","safari","ui","vivaldi","vwebui","web","webui"],"created_at":"2024-08-04T01:01:06.757Z","updated_at":"2024-11-18T22:31:05.390Z","avatar_url":"https://github.com/webui-dev.png","language":"V","readme":"\u003cdiv align=\"center\"\u003e\n\n![Logo](https://raw.githubusercontent.com/webui-dev/webui-logo/main/webui_v.png)\n\n# V-WebUI\n\n#### [Features](#features) · [Installation](#installation) · [Usage](#usage) · [Documentation](#documentation) · [WebUI](https://github.com/webui-dev/webui)\n\n[build-status]: https://img.shields.io/github/actions/workflow/status/webui-dev/v-webui/ci.yml?branch=main\u0026style=for-the-badge\u0026logo=V\u0026labelColor=414868\u0026logoColor=C0CAF5\n[last-commit]: https://img.shields.io/github/last-commit/webui-dev/v-webui?style=for-the-badge\u0026logo=github\u0026logoColor=C0CAF5\u0026labelColor=414868\n[release-version]: https://img.shields.io/github/v/release/webui-dev/v-webui?style=for-the-badge\u0026logo=webtrees\u0026logoColor=C0CAF5\u0026labelColor=414868\u0026color=7664C6\n[license]: https://img.shields.io/github/license/webui-dev/v-webui?style=for-the-badge\u0026logo=opensourcehardware\u0026label=License\u0026logoColor=C0CAF5\u0026labelColor=414868\u0026color=8c73cc\n\n[![][build-status]](https://github.com/webui-dev/v-webui/actions?query=branch%3Amain)\n[![][last-commit]](https://github.com/webui-dev/v-webui/pulse)\n[![][release-version]](https://github.com/webui-dev/v-webui/releases/latest)\n[![][license]](https://github.com/webui-dev/v-webui/blob/main/LICENSE)\n\n\u003e Use any web browser or WebView as GUI.\\\n\u003e With V in the backend and modern web technologies in the frontend.\n\n![Screenshot](https://raw.githubusercontent.com/webui-dev/webui-logo/main/screenshot.png)\n\n\u003c/div\u003e\n\n## Features\n\n- Parent library written in pure C\n- Fully Independent (_No need for any third-party runtimes_)\n- Lightweight ~200 Kb \u0026 Small memory footprint\n- Fast binary communication protocol between WebUI and the browser (_Instead of JSON_)\n- Multi-platform \u0026 Multi-Browser\n- Using private profile for safety\n\n## Installation\n\n```sh\nv install https://github.com/webui-dev/v-webui\n```\n\n## Usage\n\n\u003e [!NOTE]\n\u003e It is recommended to use GCC or Clang to compile a WebUI V program.\n\u003e TCC is currently not working due to missing header files. E.g.:\n\u003e\n\u003e ```\n\u003e v -cc gcc run .\n\u003e ```\n\n### Example\n\n```v\nimport vwebui as ui\n\nconst html = '\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n   \u003chead\u003e\n      \u003cscript src=\"webui.js\"\u003e\u003c/script\u003e\n      \u003cstyle\u003e\n         body {\n            background: linear-gradient(to left, #36265a, #654da9);\n            color: AliceBlue;\n            font: 16px sans-serif;\n            text-align: center;\n            margin-top: 30px;\n         }\n      \u003c/style\u003e\n   \u003c/head\u003e\n   \u003cbody\u003e\n      \u003ch1\u003eWelcome to WebUI!\u003c/h1\u003e\n      \u003cbr\u003e\n      \u003cinput type=\"text\" id=\"name\" value=\"Neo\"\u003e\n      \u003cbutton onclick=\"handleVResponse();\"\u003eCall V\u003c/button\u003e\n      \u003cbr\u003e\n      \u003cbr\u003e\n      \u003cdiv\u003e\u003csamp id=\"greeting\"\u003e\u003c/samp\u003e\u003c/div\u003e\n      \u003cscript\u003e\n         async function handleVResponse() {\n            const inputName = document.getElementById(\"name\");\n            const result = await webui.greet(inputName.value);\n            document.getElementById(\"greeting\").innerHTML = result;\n         }\n      \u003c/script\u003e\n   \u003c/body\u003e\n\u003c/html\u003e'\n\nfn greet(e \u0026ui.Event) string {\n\tname := e.get_arg[string]() or { panic('expected an argument') }\n\tprintln('${name} has reached the backend!')\n\treturn 'Hello ${name} 🐇'\n}\n\nfn main() {\n\tmut w := ui.new_window()\n\tw.bind('greet', greet)\n\tw.show(html)!\n\tui.wait()\n}\n```\n\nFind more examples in the [`examples/`](https://github.com/webui-dev/v-webui/tree/main/examples) directory.\n\n## Documentation\n\n- [Online Documentation](https://webui.me/docs/#/v) (WIP)\n\n\u003e [!TIP]\n\u003e Until our online documentation is finished, you can refer to [`src/lib.v`](https://github.com/webui-dev/v-webui/tree/main/src/lib.v) or use V's built-in `v doc -comments vwebui` in the terminal for the latest overview of exported functions.\n\n- To use WebUI's debug build in your V-WebUI application, add the `-d debug` flag. E.g.:\n\n  ```sh\n  v -d webui_log run examples/call_v_from_js.v\n  ```\n\n- Run tests locally:\n\n  ```sh\n  VJOBS=1 v -stats test tests/\n  ```\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### License\n\n\u003e Licensed under the MIT License.\n","funding_links":[],"categories":["Libraries"],"sub_categories":["User Interface toolkits"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebui-dev%2Fv-webui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebui-dev%2Fv-webui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebui-dev%2Fv-webui/lists"}