Code Monkey home page Code Monkey logo

aui-1's Introduction

AUI (Advanced Universal Interface)

Cross-platform high performance efficient module-based framework for developing and deploying hardware accelerated graphical desktop applications using modern C++17.

Key features

  • Extended common types (containers, strings, streams, etc...)
  • Graphical User Interfaces, including framework tools for fast declarative UI producing using modern C++ capabilities
  • Resource compiler (assets)
  • Internationalization (i18n)
  • DPI support
  • CMake deployment scripts
  • Model binding and ORM
  • Encryption
  • IO streams
  • Networking, including http(s) requests
  • DBMS integration including SQL query builder
  • Both asynchronous and synchronous application architecture support

Module list

  • AUI.Core - basic types (containers, strings, streams, etc...)
  • AUI.Crypt - wrapper around OpenSSL for encryption functionality
  • AUI.Curl - wrapper around libcurl for http/https requests
  • AUI.Designer - UI Designer (in dev)
  • AUI.Data - DBMS interface and ORM
  • AUI.Image - popular image format loader
  • AUI.Json - JSON parser
  • AUI.Mysql - MySQL driver for AUI.Data
  • AUI.Network - networking
  • AUI.Sqlite - SQLite driver for AUI.Data
  • AUI.Svg - SVG image loader
  • AUI.Toolbox - resource compiler
  • AUI.Views - UI toolkit
  • AUI.Xml - XML parser

Feature support

  • - equals unsupported
  • ? equals planned
  • + equals almost completely supported
  • # equals fully supported
Feature or module Windows Vista/7/8/8.1/10 Windows XP Linux Android MacOS iOS
AUI.Core # # # # ? ?
AUI.Crypt # # # # ? ?
AUI.Curl # # # # ? ?
AUI.Data # # # # ? ?
AUI.Designer ? ? ? - ? -
AUI.Image # # # # ? ?
AUI.Json # # # # ? ?
AUI.Mysql # # # # ? ?
AUI.Network # # # # ? ?
AUI.Sqlite # # # # ? ?
AUI.Svg # # # # ? ?
AUI.Toolbox # # # - ? -
AUI.Views # ? + + ? ?
AUI.Xml # # # # ? ?
Assets # # # # ? ?
Filesystem # # # # ? -
Process creation # # # - ? -
Compiler Support
MSVC 19+ (Visual Studio 17+) Full
gcc (8+) Full
MinGW (8+) Full
Cross-compile MinGW Full
clang Unknown

Used libraries

  • libcurl for http/https requests
  • OpenSSL for encryption
  • OpenGL as graphics hardware acceleration backend
  • glm for linear algebra
  • stbimage for image loading
  • freetype2 for font rendering

Examples

Check the examples/ folder.

Fractal

Views

Minesweeper

Getting started

Please check docs/MANUAL.md

Contributing

You are always free to contribute to this project and add yourself to the authors list :)

Workflow

master branch contains code of the release candidate. Code of this branch must compile without errors and should pass all tests on all supported platforms. Each feature of the framework is created in a separate branch in the feat/ folder. Pulling changes from your branch to master is possible only if the merge with your branch does not generate merge conflicts and does not break the build and tests.

Code style

AUI's code should be kept with the following code style:

  • No tabs; only four spaces
  • Row length: up to 120 characters
  • Class names: CamelCase
  • Functions, variables: lowerCamelCase
  • Constants: UPPER_SNAKE_CASE
  • Structures: commonly holds some data and does not have member functions; CamelCase. Also used for template-based functionality (like stl, AUI/Traits/), in that case, snake_case used for file names, struct name and its member functions

aui-1's People

Contributors

alex2772 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.