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 |
---|---|
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. |
App Template ⚡ | GitHub-hosted app project with CI/CD building, testing, releasing, auto updating, code quality checking and more. |
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). |
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. |
UI#
Various UI building samples.
Name | Description |
---|---|
AUI Contacts | Usage of AUI_DECLARATIVE_FOR to make a contacts-like application. |
Backdrop | Backdrop effects demo. |
Minimal UI Template with Assets | Minimal UI boilerplate template with AUI Assets. |
Views Example | All-in-one views building example. |
Minimal UI Template XMake | Minimal UI boilerplate template XMake. |
Minimal UI Template | Minimal UI boilerplate template. |
Infinite Lazy List | Usage of AUI_DECLARATIVE_FOR to make an infinite lazy list. |
Desktop#
Desktop-specific examples.
Name | Description |
---|---|
Prometheus Exporter Template | Example of using aui.boot to pull Prometheus library. |
Console Hello World Example | Basic CLI Hello World application. |
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 CRUD | Create/Read/Update/Delete example. |
7GUIs Counter | Simple counter. |
7GUIs Flight Booker | Flight Booker. |
7GUIs Timer | Timer example. |
7GUIs Circle Drawer | Undo, redo, dialog control. |
7GUIs Cells | Spreadsheet processor (Excel). |
7GUIs Temperature Converter | Fahrenheit to Celsius and vice versa. |