========== JavaScript ========== With `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 `__ 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 `__ - `macos x86 build Notes for sdl simulator `__ - `ubuntu build Notes for platform arm `__ JS Bundle ~~~~~~~~~ - `JS Bundle build Notes `__ Components ---------- - `View `__ - `Image `__ - `Button `__ - `Text `__ - `Input `__ - `Textarea `__ - `Switch `__ - `Checkbox `__ - `Dropdownlist `__ - `ProgressBar `__ - `Line `__ - `Roller `__ - `Keyboard `__ - `Calendar `__ - `Chart `__ Font ---- `Builtin-Symbol `__ Animation --------- `Animation `__ Style ----- .. include::https://github.com/lvgl/lv_binding_js/blob/master/doc/style/position-size-layout.md - `position-size-layout `__ - `boxing-model `__ - `color `__ - `flex `__ - `grid `__ - `font `__ - `opacity `__ - `display `__ - `background `__ - `scroll `__ - `shadow `__ - `recolor `__ - `line `__ - `transition `__ - `transform `__ JSAPI ----- - `network `__ - `filesystem `__ - `dimension `__ Thanks ------ lvgljs depends on following excellent work `lvgl `__: Create beautiful UIs for any MCU, MPU and display type `QuickJS `__: JavaScript engine `libuv `__: platform abstraction layer `curl `__: HTTP client `txiki.js `__: Tiny JavaScript runtime