For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /guide/glossary.md.
Lynx
  • English
  • Glossary

    This glossary is intended to provide descriptive guidance about the meanings of technical terms commonly used in the context of Lynx development. For the latest consensus on a more formal definitions of these terms, please refer to the Lynx Living Specification.

    SDK

    The Lynx Software Development Kit (SDK) is a collection of tools, libraries, and APIs that enable developers to build applications for Lynx. It encapsulates two distinct layers -- one native layer: the Engine, and one scripting (or frontend) layer: the Framework.

    Engine

    The part of the SDK that is responsible for converting Lynx pages into pixels onther screen, and provides APIs that forms the Lynx Platform.

    It is written as a C++ core along with platform-specific layers written in platform native languages (e.g. Objective-C for iOS, Java/Kotlin for Android, etc.), ensuring high performance and access to underlying system resources, and needs to be integrated natively and shipped together with the host application.

    Framework

    The part of the SDK that offers the runtime libraries and high-level UI programming model that enable Lynx application developers to write application logic and UI components. It is written in JavaScript and is loaded together with the application code on-demand from the file system or memory.

    The Lynx Platform

    Similar to the Web Platform, the Lynx Platform is the set of APIs and functionalities, e.g. Elements, Events, Styles, Scripting Runtime Environment, etc., offered by the Lynx Engine to the scripting developers.

    Template

    Template is the historical name of bundle of compiled code loaded by Lynx engine to power the execution of a Lynx page (or application).

    We may investigate a better name for it in the future.

    Element

    Event

    Style

    Scripting Runtime Environment

    Scripting is the process where developers program a script.

    A scripting runtime environment is used to execute scripts with a scripting engine. In the context of Lynx, there are currently two types of scriping and so correspondingly, two types of scripting runtime environment.

    Background Thread

    Background threads are threads that are not the main thread. They are used to execute background scripts.

    Main Thread

    The main thread, or the "lynx main thread", is where Lynx processes user events and emit "paints". By default (the default threading model of Lynx), the Lynx engine uses a single thread to run main thread scripts, as well as to perform layout, paints, etc.. This means that long-running main thread scripts can block the thread, leading to an unresponsive page and a bad user experience.

    JS Thread

    The word historically used to refer to the background thread. It is deprecated because it is not clear which thread it refers to as Lynx is now capable of running JavaScript on the main thread via main thread scripts.

    UI Thread

    The thread corresponds to the physical thread regarded as the main thread of the underlying platform (OS). Similar to Web, the main thread of Lynx does not necessarily map directly to the UI thread, depending on Lynx's threading model.

    Lepus

    Lepus VM

    PrimJS VM

    Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.