mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
134 lines
5.3 KiB
ReStructuredText
134 lines
5.3 KiB
ReStructuredText
==========
|
|
JavaScript
|
|
==========
|
|
|
|
With `lv_binding_js <https://github.com/lvgl/lv_binding_js>`__ you can
|
|
write lvgl with JavaScript.
|
|
|
|
It uses React's virtual DOM concept to manipulate lvgl UI components,
|
|
providing a familiar React-like experience to users.
|
|
|
|
**Code**
|
|
|
|
**Code Running on Real Device**
|
|
|
|
Table of Contents
|
|
-----------------
|
|
|
|
- `Features <#features>`__
|
|
- `Demo <#demo>`__
|
|
- `Building <#building>`__
|
|
- `Components <#components>`__
|
|
- `Font <#font>`__
|
|
- `Animation <#animation>`__
|
|
- `Style <#style>`__
|
|
- `JSAPI <#jsapi>`__
|
|
- `Thanks <#thanks>`__
|
|
|
|
Features
|
|
--------
|
|
|
|
- Support all lvgl built-in components
|
|
- Fully support lvgl flex and grid style
|
|
- support most lvgl style, just write like html5 css
|
|
- support dynamic load image
|
|
- Fully support lvgl animation
|
|
|
|
Demo
|
|
----
|
|
|
|
See the
|
|
`demo <https://github.com/lvgl/lv_binding_js/tree/master/demo>`__ folder
|
|
|
|
Building
|
|
--------
|
|
|
|
The following are developer notes on how to build lvgljs on your native
|
|
platform. They are not complete guides, but include notes on the
|
|
necessary libraries, compile flags, etc.
|
|
|
|
lvgljs
|
|
~~~~~~
|
|
|
|
- `ubuntu build Notes for sdl
|
|
simulator <https://github.com/lvgl/lv_binding_js/blob/master/doc/build/build-ubuntu-arm.md>`__
|
|
- `macos x86 build Notes for sdl
|
|
simulator <https://github.com/lvgl/lv_binding_js/blob/master/doc/build/build-macos-x86-simulator.md>`__
|
|
- `ubuntu build Notes for platform
|
|
arm <https://github.com/lvgl/lv_binding_js/blob/master/doc/build/build-ubuntu-x86-simulator.md>`__
|
|
|
|
JS Bundle
|
|
~~~~~~~~~
|
|
|
|
- `JS Bundle build
|
|
Notes <https://github.com/lvgl/lv_binding_js/blob/master/doc/build/js-bundle.md>`__
|
|
|
|
Components
|
|
----------
|
|
|
|
- `View <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/View.md>`__
|
|
- `Image <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Image.md>`__
|
|
- `Button <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Button.md>`__
|
|
- `Text <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Text.md>`__
|
|
- `Input <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Input.md>`__
|
|
- `Textarea <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Textarea.md>`__
|
|
- `Switch <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Switch.md>`__
|
|
- `Checkbox <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Checkbox.md>`__
|
|
- `Dropdownlist <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Dropdownlist.md>`__
|
|
- `ProgressBar <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/ProgressBar.md>`__
|
|
- `Line <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Line.md>`__
|
|
- `Roller <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Roller.md>`__
|
|
- `Keyboard <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Keyboard.md>`__
|
|
- `Calendar <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Calendar.md>`__
|
|
- `Chart <https://github.com/lvgl/lv_binding_js/blob/master/doc/component/Chart.md>`__
|
|
|
|
Font
|
|
----
|
|
|
|
`Builtin-Symbol <https://github.com/lvgl/lv_binding_js/blob/master/doc/Symbol/symbol.md>`__
|
|
|
|
Animation
|
|
---------
|
|
|
|
`Animation <https://github.com/lvgl/lv_binding_js/blob/master/doc/animate/animate.md>`__
|
|
|
|
Style
|
|
-----
|
|
|
|
.. include::https://github.com/lvgl/lv_binding_js/blob/master/doc/style/position-size-layout.md
|
|
|
|
- `position-size-layout <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/position-size-layout.md>`__
|
|
- `boxing-model <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/boxing-model.md>`__
|
|
- `color <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/color.md>`__
|
|
- `flex <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/flex.md>`__
|
|
- `grid <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/grid.md>`__
|
|
- `font <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/font.md>`__
|
|
- `opacity <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/opacity.md>`__
|
|
- `display <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/display.md>`__
|
|
- `background <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/background.md>`__
|
|
- `scroll <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/scroll.md>`__
|
|
- `shadow <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/shadow.md>`__
|
|
- `recolor <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/recolor.md>`__
|
|
- `line <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/line.md>`__
|
|
- `transition <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/transition.md>`__
|
|
- `transform <https://github.com/lvgl/lv_binding_js/blob/master/doc/style/transform.md>`__
|
|
|
|
JSAPI
|
|
-----
|
|
|
|
- `network <https://github.com/lvgl/lv_binding_js/blob/master/doc/jsapi/network.md>`__
|
|
- `filesystem <https://github.com/lvgl/lv_binding_js/blob/master/doc/jsapi/fs.md>`__
|
|
- `dimension <https://github.com/lvgl/lv_binding_js/blob/master/doc/jsapi/dimension.md>`__
|
|
|
|
Thanks
|
|
------
|
|
|
|
lvgljs depends on following excellent work
|
|
|
|
`lvgl <https://github.com/lvgl/lvgl>`__: Create beautiful UIs for any
|
|
MCU, MPU and display type `QuickJS <https://bellard.org/quickjs/>`__:
|
|
JavaScript engine `libuv <https://github.com/libuv/libuv>`__: platform
|
|
abstraction layer `curl <https://github.com/curl/curl>`__: HTTP client
|
|
`txiki.js <https://github.com/saghul/txiki.js>`__: Tiny JavaScript
|
|
runtime
|