TattyUI

screenshot of TattyUI

借鉴与浏览器的实现,TattyUI使用HTML+CSS+C++完成业务逻辑和样式实现的分离,从而完成UI的快速可定制化搭建。

Overview

TattyUI presents an intriguing take on user interface rendering, acting as a simplified browser engine with a focus on enhancing the 2D game development experience. Utilizing a CSS-like styling system, it effectively separates UI aesthetics from business logic, paving the way for a more streamlined development process. The forthcoming editor for the WIP2D game engine signifies a step towards practical, production-ready tools, promising exciting potential for developers, especially in the realm of game design.

As a framework built with C++ and leveraging nanovg for rendering, TattyUI is designed with cross-platform capabilities in mind. With the rise of game engines that prioritize efficiency and user-friendliness, TattyUI’s approach to CSS parsing and UI management could be a game-changer for developers seeking to create visually compelling applications without the overhead of traditional browser engines.

Features

  • Modern C++ Integration: Built on C++11 standards, TattyUI supports modern programming practices, such as lambda expressions and member function pointers, enhancing flexibility during development.

  • Cross-Platform Support: Utilizing CMake allows developers to build applications for various platforms, including Windows and OSX, making it versatile and accessible.

  • CSS-like Styling System: The framework includes a CSS parsing mechanism that can handle most CSS2.0 syntax, enabling the application of familiar styling techniques to UI elements.

  • Separation of Logic and Design: By decoupling UI styles from business logic, developers can work on aesthetics and functionality independently, which is vital for larger projects.

  • Interactive C++ Integration: Developers can easily manipulate UI components through direct interaction with C++ code, allowing for dynamic content changes and efficient management of UI state.

  • Built-in Dependencies: Key dependencies like GLFW and nanovg are bundled with TattyUI, simplifying the setup process for new projects and ensuring a smoother user experience.

  • Graph Visualization Tools: Includes tools for rendering abstract syntax trees (ASTs) using Graphviz, which can bolster debugging and visualization efforts during development.

  • Active Development and Feedback Loop: The framework is under continuous development, with known issues being actively tracked and communicated, fostering a community-driven improvement process.