{"id":13626134,"url":"https://github.com/vlang/ui","last_synced_at":"2025-05-14T02:04:54.366Z","repository":{"id":37042087,"uuid":"192433621","full_name":"vlang/ui","owner":"vlang","description":"A cross-platform UI library written in V","archived":false,"fork":false,"pushed_at":"2025-05-01T22:25:09.000Z","size":5917,"stargazers_count":2394,"open_issues_count":110,"forks_count":153,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-05-01T23:26:02.503Z","etag":null,"topics":["gui","ui","v"],"latest_commit_sha":null,"homepage":"","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/vlang.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}},"created_at":"2019-06-17T23:52:45.000Z","updated_at":"2025-05-01T22:25:13.000Z","dependencies_parsed_at":"2024-03-28T16:54:41.368Z","dependency_job_id":"7ef67c5d-9a2c-413c-a0b1-661895317168","html_url":"https://github.com/vlang/ui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlang%2Fui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlang%2Fui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlang%2Fui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlang%2Fui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vlang","download_url":"https://codeload.github.com/vlang/ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254052674,"owners_count":22006716,"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":["gui","ui","v"],"created_at":"2024-08-01T21:02:10.878Z","updated_at":"2025-05-14T02:04:54.322Z","avatar_url":"https://github.com/vlang.png","language":"V","funding_links":["https://patreon.com/vlang","https://github.com/sponsors/medvednikov"],"categories":["others","V","Libraries"],"sub_categories":["User Interface toolkits"],"readme":"# V UI 0.0.4\n\n[![Build Status](https://github.com/vlang/ui/workflows/CI/badge.svg)](https://github.com/vlang/ui/commits/master)\n[![Sponsor][SponsorBadge]][SponsorUrl]\n[![Patreon][PatreonBadge]][PatreonUrl]\n\n[![Twitter handle][]][twitter badge]\n\n\u003ca href='https://github.com/vlang/ui/blob/master/examples/users.v'\u003e\n\u003cimg src='https://raw.githubusercontent.com/vlang/ui/c2f802a137b5171dade1d5fdc364cd92d34e3ca7/examples/users/screenshot.png' width=712\u003e\n\u003c/a\u003e\n\n\n```v\nimport ui\n\nstruct App {\nmut:\n    window     \u0026ui.Window = unsafe { nil }\n    first_name string\n    last_name  string\n}\n\nfn main() {\n    mut app := \u0026App{}\n    app.window = ui.window(\n        width: 600\n        height: 400\n        title: 'V UI Demo'\n        children: [\n            ui.row(\n                margin: ui.Margin{10, 10, 10, 10}\n                children: [\n                    ui.column(\n                        width: 200\n                        spacing: 13\n                        children: [\n                            ui.textbox(\n                                max_len: 20\n                                width: 200\n                                placeholder: 'First name'\n                                text: \u0026app.first_name\n                            ),\n                            ui.textbox(\n                                max_len: 50\n                                width: 200\n                                placeholder: 'Last name'\n                                text: \u0026app.last_name\n                            ),\n                        ]\n                    ),\n                ]\n            ),\n        ]\n    )\n    ui.run(app.window)\n}\n````\n\n### Installation\n\n```bash\nv up\nv install ui\n```\n\n### Running the examples\n\n```bash\ncd examples\nv run users.v\nv run rgb_color.v\nv run ...\n```\n\n**This is pre-alpha software.**\n\nV UI is a cross-platform UI toolkit written in [the V programming language](https://github.com/vlang/v)\nfor Windows, macOS, Linux, Android, and soon iOS and the web (JS/WASM). V UI\nuses native widgets on Windows and macOS, on all other platforms the widgets\nare drawn by V UI. Right now only the non-native widgets are available.\n\nThis is a very early version of the library, lots of features are missing, and lots of things will change.\n\nThe API is declarative, and there will be hot reloading, similar to SwiftUI and Flutter.\n\nOn Linux, V UI will be a full-featured lightweight alternative to GTK and Qt.\n\n[0.1 roadmap](https://github.com/vlang/ui/issues/31)\n\nDiscord: [`#v-ui` channel](https://discord.gg/vlang)\n\nDocumentation will be available soon. In the meantime use the examples as the documentation. The framework is very simple and straightforward.\n\n### Dependencies\n\nBinaries built with V UI will have no dependencies.\n\nTo develop V UI apps, you need to install [V](https://github.com/vlang/v#installing-v-from-source). This takes a couple of seconds.\n\nOn some Linux distros you also need a few development dependencies:\n- Arch: `sudo pacman -S libxi libxcursor mesa`\n- Debian/Ubuntu: `sudo apt install libxi-dev libxcursor-dev mesa-common-dev`\n- Fedora: `sudo dnf install libXi-devel libXcursor-devel mesa-libGL-devel`\n\nOn ChromeOS Linux/Crostini, install the Debian dependencies listed above followed by this:\n- `sudo apt install freeglut3-dev` ([see details](https://github.com/vlang/ui/issues/316))\n\n### License\n\nV UI is licensed under MIT.\n\n### Contributing\n\nSimply open a GitHub pull request.\n\n[twitter handle]: https://img.shields.io/twitter/follow/v_language.svg?style=social\u0026label=Follow\n[twitter badge]: https://twitter.com/v_language\n[PatreonBadge]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Dvlang%26type%3Dpatrons\u0026style=flat\n[SponsorBadge]: https://camo.githubusercontent.com/da8bc40db5ed31e4b12660245535b5db67aa03ce/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f6c6162656c3d53706f6e736f72266d6573736167653d254532253944254134266c6f676f3d476974487562\n\n[PatreonUrl]: https://patreon.com/vlang\n[SponsorUrl]: https://github.com/sponsors/medvednikov\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvlang%2Fui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvlang%2Fui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvlang%2Fui/lists"}