Home

Awesome

Taitank Cross Platform Layout

Taitank Group license PRs Welcome node Actions Status Codecov

English | 简体中文 | Homepage

Introduction

<p align="center"><img src="./assets/logo.jpg" width=300 height=300></p>

Taitank is a cross platform lightweight flex layout engine implemented in C++.

Taitank is now applied in 27 Tencent apps such as Mobile QQ, Mobile QQ Browser, Tencent Video App, QQ Music App,reaching hundreds of millions of ordinary users.

Advantages

Project structure

├── CMakeLists.txt                    # compiler script.
├── assets                            # assets.
├── benchmark                         # benchmark.
├── examples                          # Taitank layout examples.
├── javascript                        # wasm layout source code.
├── src                               # Taitank layout source code.
├── tests                             # Taitank layout test.
└── toolchain                         # toolchain.

Getting started

Preparing environment

  1. CMake : build Taitank layout.
  2. Android Studio with NDK: build Android so.
  3. Xcode with iOS sdk: build iOS so.
  4. emscripten: build wasm.
  5. Python: script to build Taitank layout.

Build your first library

Change directory to cmake to build your project.

cd cmake

Support Platforms

namedescription
macosBuild library for macos.
linuxBuild library for linux.
androidBuild library for android.
iosBuild library for ios.
browser & nodeBuild wasm for browser and node.

Testing

For testing we rely on gtest

If you make any changes you should pass all the tests.Tests are located in the tests directory. Run the tests by ececuting build.sh.

cd tests
./build.sh

Benchmarks

Benchmarks are located in the benchmark directory. Run the benchmarks by ececuting build.sh.

cd benchmark
./build.sh

Contribution

Developers are welcome to contribute to Tencent's open source, and we will also give them incentives to acknowledge and thank them. Here we provide an official description of Tencent's open source contribution. Specific contribution rules for each project are formulated by the project team. Developers can choose the appropriate project and participate according to the corresponding rules. The Tencent Project Management Committee will report regularly to qualified contributors and awards will be issued by the official contact.

License

Taitank is Apache-2.0 licensed.