{"id":19965541,"url":"https://github.com/tencent/taitank","last_synced_at":"2025-05-15T16:01:56.857Z","repository":{"id":48535040,"uuid":"357043015","full_name":"Tencent/Taitank","owner":"Tencent","description":"Taitank is a cross platform lightweight flex layout engine implemented in C++.","archived":false,"fork":false,"pushed_at":"2024-10-22T07:42:27.000Z","size":14475,"stargazers_count":531,"open_issues_count":5,"forks_count":50,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-05-11T12:46:45.783Z","etag":null,"topics":["hippy","layout-engine"],"latest_commit_sha":null,"homepage":"https://taitank.dev","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tencent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-12T03:16:34.000Z","updated_at":"2025-04-27T06:24:59.000Z","dependencies_parsed_at":"2024-10-23T03:03:07.083Z","dependency_job_id":null,"html_url":"https://github.com/Tencent/Taitank","commit_stats":{"total_commits":16,"total_committers":4,"mean_commits":4.0,"dds":0.625,"last_synced_commit":"732b7f05f0a791608103e834147c27b28d35ce7c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent%2FTaitank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent%2FTaitank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent%2FTaitank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tencent%2FTaitank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tencent","download_url":"https://codeload.github.com/Tencent/Taitank/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254374388,"owners_count":22060609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hippy","layout-engine"],"created_at":"2024-11-13T02:29:26.817Z","updated_at":"2025-05-15T16:01:56.806Z","avatar_url":"https://github.com/Tencent.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Taitank Cross Platform Layout\n\n![Taitank Group](https://img.shields.io/badge/group-Taitank-blue.svg) [![license](https://img.shields.io/badge/license-Apache%202-blue)](https://github.com/Tencent/Taitank/blob/main/LICENSE) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Tencent/Taitank/pulls) ![node](https://img.shields.io/badge/node-%3E%3D10.0.0-green.svg) [![Actions Status](https://github.com/Tencent/Taitank/workflows/CMake/badge.svg?branch=main)](https://github.com/Tencent/Taitank/actions) [![Codecov](https://img.shields.io/codecov/c/github/Tencent/Taitank)](https://codecov.io/gh/Tencent/Taitank)\n\nEnglish | [简体中文](./README.zh_CN.md) | [Homepage](//tencent.github.io/Taitank/)\n\n## Introduction\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"./assets/logo.jpg\" width=300 height=300\u003e\u003c/p\u003e\n\n**Taitank** is a cross platform lightweight flex layout engine implemented in C++.\n\nTaitank is now applied in 27 [Tencent](http://www.tencent.com/) apps such as Mobile QQ, Mobile QQ Browser, Tencent Video App, QQ Music App，reaching hundreds of millions of ordinary users.\n\n## Advantages\n\n* Fully supported Flex\n* Fast Layout and Low memory consumption\n* Multi platform support\n\n## Project structure\n\n```text\n├── CMakeLists.txt                    # compiler script.\n├── assets                            # assets.\n├── benchmark                         # benchmark.\n├── examples                          # Taitank layout examples.\n├── javascript                        # wasm layout source code.\n├── src                               # Taitank layout source code.\n├── tests                             # Taitank layout test.\n└── toolchain                         # toolchain.\n```\n\n## Getting started\n\n### Preparing environment\n\n\n1. [CMake](https://cmake.org/) : build Taitank layout.\n2. [Android Studio](https://developer.android.com/studio) with NDK: build Android so.\n3. [Xcode](https://developer.apple.com/xcode/) with iOS sdk: build iOS so.\n4. [emscripten](https://emscripten.org/docs/getting_started/downloads.html): build wasm.\n5. [Python](https://www.python.org/): script to build Taitank layout.\n\n### Build your first library\n\nChange directory to cmake to build your project.\n\n```bash\ncd cmake\n```\n\n### Support Platforms\n\n| name           | description                                     |\n|----------------|-------------------------------------------------|\n| macos          | Build library for macos.                        |\n| linux          | Build library for linux.                        |\n| android        | Build library for android.                      |\n| ios            | Build library for ios.                          |\n| browser \u0026 node | Build wasm for browser and node.                |\n\n\n### Testing\n\nFor testing we rely on [gtest](https://github.com/google/googletest)\n\nIf you make any changes you should pass all the tests.Tests are located in the `tests` directory. Run the tests by ececuting `build.sh`.\n\n```bash\ncd tests\n./build.sh\n```\n\n### Benchmarks\n\nBenchmarks are located in the `benchmark` directory. Run the benchmarks by ececuting `build.sh`.\n\n```bash\ncd benchmark\n./build.sh\n```\n\n## Contribution\n\nDevelopers 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.\n\n## License\n\nTaitank is [Apache-2.0 licensed](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftencent%2Ftaitank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftencent%2Ftaitank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftencent%2Ftaitank/lists"}