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, featuring performance at scale and velocity.
- 💫 Write Once, Render Anywhere. Enjoy native rendering on Android, iOS, and Web, or pixel-perfect consistency across mobile and desktop via our custom renderer.
- 🌐 Web-Inspired Design. Leverage your existing knowledge of CSS and React. We designed Lynx with the web knowledge and libraries in mind.
- ⚡ Performance at Scale. Achieve instant launch and silky UI responsiveness via 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 may target iOS 10 and Android 5.0 (API 21) or newer.
We recommend using macOS as the development operating system. Windows and Linux are not yet verified or guaranteed, so you may encounter problems. If you need assistance, please file an issue, and we will be more than happy to help you address it.
- Trying out Lynx with hello world
- Integrating Lynx with an Existing Application
Instead of cloning the repository right away, please consider taking an extra step.
To effectively manage dependencies using our custom tool, Habitat, it is recommended to create an additional directory.
For instance, you could name this directory src
:
git clone https://github.com/lynx-family/lynx.git src/lynx
For now, src
contains only lynx
. However as you proceed to build Lynx, you'll notice several installed dependencies there.
This additional src
directory helps keep your workplace 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.