Will #LVGL Graphical Apps run in the Web Browser ... With #WebAssembly and #ZigLang Compiler? Let's find out!
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?1
#ZigLang and JavaScript will happily interoperate in #WebAssembly ... Both ways!
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?1#zig-calls-javascript
LVGL App in #ZigLang ... For #PinePhone on Apache #NuttX RTOS
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?4#lvgl-app-in-zig
Let's compile our #LVGL GUI App to #WebAssembly with #ZigLang Compiler
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?4#lvgl-app-in-webassembly
To run in #WebAssemby, our #LVGL App needs the LVGL Library ... Let's compile the library to WebAssembly
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?4#lvgl-app-in-webassembly
Compiling a tiny chunk of #LVGL Library from C to #WebAssembly ... With #ZigLang Compiler
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?5#compile-lvgl-to-webassembly-with-zig-compiler
#ZigLang Compiler calls Clang Compiler to compile #LVGL Library from C to #WebAssembly
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?5#compile-lvgl-to-webassembly-with-zig-compiler
Let's compile the entire #LVGL Library from C to #WebAssembly ... With #ZigLang Compiler
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?6#compile-entire-lvgl-library-to-webassembly
#LVGL in #WebAssembly says that strlen() is missing ... Let's fix it in #ZigLang
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?6#compile-entire-lvgl-library-to-webassembly
strlen() is missing for #LVGL in #WebAssembly ... Here's our workaround in #ZigLang
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?14#appendix-c-standard-library-is-missing
Handling #LVGL Timers, Assertions and Logging in #WebAssembly with #ZigLang
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?7#lvgl-porting-layer-for-webassembly
Logging in #LVGL with #ZigLang and #WebAssembly
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?8#webassembly-logger-for-lvgl
Setting up the #LVGL Display ... With #ZigLang and #WebAssembly
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?9#initialise-lvgl-display
How we handle #LVGL Tasks in #ZigLang and #WebAssembly
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?10#handle-lvgl-tasks
Rendering the #LVGL Display in #WebAssembly with #ZigLang
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?11#render-lvgl-display-in-zig
Our JavaScript renders the #LVGL Display from #WebAssembly to HTML Canvas
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?12#render-lvgl-display-in-javascript
#LVGL uses the Two-Level Segregate Fit (TLSF) Allocator for Heap Memory ... But we switched to malloc() for #WebAssembly
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?15#appendix-lvgl-memory-allocation
Remember to check for Missing Fonts and Variables in our #LVGL App for #WebAssembly
Article: https://lupyuen.codeberg.page/articles/lvgl3.html?16#appendix-lvgl-fonts
Can we preview an #LVGL App in the Web Browser ... With #WebAssembly and #ZigLang Compiler? All shall be explained in this article
https://lupyuen.codeberg.page/articles/lvgl3.html