Examples#
This document lists a collection of code samples and tutorials designed to help both newcomers and experienced developers with AUI Framework app development. These projects cover diversity of topics, from fundamental views usage through to complete application assembly.
Building the Examples#
To build these examples, simply clone AUI repository and configure CMake with
-DAUI_BUILD_EXAMPLES=TRUE
:
git clone https://github.com/aui-framework/aui
cd aui
mkdir build
cd build
cmake .. -DAUI_BUILD_EXAMPLES=TRUE -GNinja
cmake --build . --parallel
cd bin
# launch any program
./aui.example.views
Some of these examples are located outside AUI's build tree; such examples should be compiled as regular CMake projects.
App#
These examples typically go beyond single-file projects and delve into more substantial applications that showcase how multiple techniques can be integrated to create nearly production-ready applications. Each example not only demonstrates specific features of the AUI Framework but also covers practical aspects such as dependency management, data binding and user interface customization.
Name | Description |
---|---|
Minesweeper Game | Minesweeper game implementation driven by ass. |
Fractal Example | Fractal viewer application demonstrating usage of custom shaders. |
Notes App | Note taking app that demonstrates usage of AListModel, AProperty, user data saving and loading. |
Game of Life | Game of Life implementation that uses advanced large dynamic data rendering techniques such as ITexture, AImage to be GPU friendly. The computation is performed in AThreadPool. |
AUI Telegram Client (AUIgram) | Using AUI Framework from perspective of a Telegram client. This project shows how to solve typical problems of a UI application (i.e., dependency management, data binding, styling, asynchronous data loading, packaging, deploying). |
App Template ⚡ | GitHub-hosted app project with CI/CD building, testing, releasing, auto updating, code quality checking and more. |
UI#
Various UI building samples.
Name | Description |
---|---|
Views Example | All-in-one views building example. |
Minimal UI Template XMake | Minimal UI boilerplate template XMake. |
AUI Contacts | Usage of AUI_DECLARATIVE_FOR to make a contacts-like application. |
Minimal UI Template | Minimal UI boilerplate template. |
Minimal UI Template with Assets | Minimal UI boilerplate template with AUI Assets. |
Infinite Lazy List | Usage of AUI_DECLARATIVE_FOR to make an infinite lazy list. |
Backdrop | Backdrop effects demo. |
Desktop#
Desktop-specific examples.
Name | Description |
---|---|
Console Hello World Example | Basic CLI Hello World application. |
Prometheus Exporter Template | Example of using aui.boot to pull Prometheus library. |
7GUIs#
7GUIs is a GUI toolkit benchmark that defines seven tasks representing typical challenges in GUI programming. In addition, 7GUIs provide a recommended set of evaluation dimensions. As such, implementations of these tasks can be compared side by side. AUI project provides its own implementations.
Name | Description |
---|---|
7GUIs Cells | Spreadsheet processor (Excel). |
7GUIs Circle Drawer | Undo, redo, dialog control. |
7GUIs CRUD | Create/Read/Update/Delete example. |
7GUIs Counter | Simple counter. |
7GUIs Temperature Converter | Fahrenheit to Celsius and vice versa. |
7GUIs Flight Booker | Flight Booker. |
7GUIs Timer | Timer example. |