Skip to content
Cross-platform UI library written in V
V AMPL
Branch: master
Clone or download
Latest commit f1d9f89 Jan 22, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows fix calculator look & add all examples to CI Jan 19, 2020
examples button: temporary macos fix Jan 20, 2020
.gitignore fix calculator look & add all examples to CI Jan 19, 2020
LICENSE license Jan 1, 2020
README.md readme: docs Jan 22, 2020
button.v button: fix state on mouse over Jan 20, 2020
canvas.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
checkbox.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
dropdown.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
easing.v Transition Value Jan 18, 2020
key.v add dropdown + example Jan 17, 2020
label.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
menu.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
picture.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
pngs.v add dropdown + example Jan 17, 2020
progressbar.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
radio.v WidgetType casing: UpperCamelCase -> lower_snake_case Jan 17, 2020
slider.v button: fix state on mouse over Jan 20, 2020
textbox.v textbox: limit placeholder text width Jan 20, 2020
transition_value.v Transition Value Jan 18, 2020
ui.v fix font initialization Jan 19, 2020
ui_darwin.v fix calculator look & add all examples to CI Jan 19, 2020
ui_linux.v remove gtk3 dependency Jan 16, 2020
ui_windows.v fix message_box on Windows Jan 14, 2020
v.mod add v.mod file to make vpm happy Jan 13, 2020
window.v Transition Value Jan 18, 2020

README.md

V UI 0.0.1

Build Status Twitter handle

Installation

v install ui

Running the examples

cd examples
v run users.v
v run temperature.v
v run ...

Documentation will be available soon. In the meantime use the examples as the documentation. The framework is very simple and straightforward.

NOTE : This is pre-alpha software.

V UI is a cross-platform UI toolkit written in the V programming language for Windows, macOS, Linux, and soon Android, iOS and the web (JS/WASM). V UI uses native widgets on Windows and macOS, on all other platforms the widgets are drawn by V UI. Right now only the non-native widgets are available.

This is a very early version of the library, lots of features are missing (layouts, certain widgets, etc), lots of things will change.

There will be a declarative version of the API with hot reloading, similar to SwiftUI and Flutter.

On Linux, V UI will be a full-featured lightweight alternative to GTK and Qt.

0.1 roadmap

Discord: #v-ui channel

Dependencies

Binaries built with V UI will have no dependencies.

To develop V UI apps, you need to install V, glfw and freetype. glfw dependency will soon be removed.

macOS:
brew install glfw freetype

Debian/Ubuntu:
sudo apt install libglfw3 libglfw3-dev libfreetype6-dev

Arch/Manjaro:
sudo pacman -S glfw-x11 freetype2

Fedora:
sudo dnf install glfw glfw-devel freetype-devel

Windows:
git clone --depth=1 https://github.com/ubawurinna/freetype-windows-binaries [path to v repo]/thirdparty/freetype/

License

V UI is licensed under GPL3. A commercial license will be available. Open-source projects will have access to the commercial license for free. Every single feature will be open-sourced right away and available under both licenses. At some point in the future the library will be relicensed under MIT.

Contributing

After the first contribution you will be asked to agree to a CLA, declaring that you have the right to, and actually do, grant us the rights to use your contribution.

You can’t perform that action at this time.