Lynx is a family of open-source technologies empowering developers to use their existing web skills to create truly native UIs for both mobile and web from a single codebase, focusing on performance at scale and development velocity.
- 💫 Write Once, Render Anywhere: Enjoy native rendering on Android, iOS, and Web, or pixel-perfect consistency across platforms via our custom renderer.
- 🌐 Web-Inspired Design: Leverage your existing knowledge of CSS and React. We designed Lynx with web standards and libraries in mind.
- ⚡ Performance at Scale: Achieve instant launch times and smooth UI responsiveness through our multithreaded engine, whether standalone or embedded.
This repository contains the core engine of Lynx. For other repositories in the Lynx family, visit our org homepage.
You shall find documentation for Lynx on lynxjs.org.
Lynx apps support iOS 10 and Android 5.0 (API 21) or newer.
We recommend using macOS for development. Windows and Linux support is not yet verified or guaranteed, so you may encounter issues. If you need assistance, please file an issue, and we'll be happy to help.
- Get started with Hello World
- Learn about Integrating Lynx with Existing Applications
Before cloning the repository, please take an additional step.
To effectively manage dependencies using our custom tool, Habitat, we recommend creating a dedicated directory.
For example, create a directory named src
:
git clone https://github.com/lynx-family/lynx.git src/lynx
Initially, src
will contain only lynx
. As you build Lynx, additional dependencies will be installed there.
This structure helps keep your workspace organized.
We are devoted to ensuring a positive, inclusive, and safe environment for all contributors. Please find our Code of Conduct for detailed information.
We welcome you to join and become a member of Lynx Authors. It's people like you that make this project great.
Please refer to our contributing guide for details.
Large discussions and proposals are discussed in Github Discussions
Lynx makes use of several third-party libraries and draws inspiration from various projects. We would like to express our sincere gratitude to these sources.
Lynx incorporates the following third-party libraries, which have significantly contributed to its functionality. We appreciate the efforts of the developers and the open-source community behind these projects:
- aes
- benchmark
- binding
- checkstyle
- buildroot
- double-conversion
- googletest
- jsoncpp
- modp_b64
- node-addon-api
- NativeScript
- perfetto
- rapidjson
- v8
- xctestrunner
- xhook
- zlib
The design of some APIs and some implementations in Lynx have been inspired by and referenced from the following outstanding projects. Their innovative designs and solutions have been invaluable in shaping Lynx:
We respect the intellectual property rights of all these projects and adhere to relevant open-source licenses and usage guidelines.
Lynx is Apache licensed, as found in the LICENSE file.