As of a few months ago
Microsoft has a version of C# and Blazor running on microcontrollers.
A lightweight yet versatile graphics library seems potentially very useful in that world.
Is there interest in the LVGL community to use C#/nanoframework with LVGL
parallel/similar to MicroPython?
Microsoft PLANS that C# replace JavaScript in the browser as much as they can pull it off.
And they’re looking at C# as the best language to pull it off
If I understand the value proposal…
it will be via the strong points of C# vs. JavaScript to do real programming,
and the performance gain from doing that via compiling C# to WebAssembly, which is already becoming the fourth accepted web language per W3C, etc.
I like the idea. Having (Micro)Python, C#, and JS binding would be amazing.
We already made a lot of work in LVGL to make it easy to handle by binding generators and @amirgon’s MicroPython binding generator script could be potentionally very well reusable for other languages too.
Another option could be to use SWIG wrapper generator or a similar tool. I already tried it with Lua and it worked well but generated a quite verbose wrapper.
In either case, we need someone who has a solid understanding of C# and some free time to put together at least an initial binding.
I’m choosing a STM32 “Discovery” board to skip the step of finding a compatible screen, backordered until March via Mouser - but there are thousands of STM32 Nucleo and/or ESP32 DevkitC boards available through multiple sources.
I’m choosing C# nanoframework as a foundation, structuring everything else around that.
I’m also investigating JavaScript and Node.js on a microcontroller via Neonious, I’m playing with one of those now.
(My criteria to choose C# and JavaScript = core W3C web standards friendly, with at least some execution in the browser.)
Obviously many of you have done the same with microPython, with your own priorities. All good.
I was just wondering if anyone already tried C# nanoframework with LVGL. It would be a great idea to integrate those two. I would not invest in JavaScript - I think Typescript will eventually replace it.
I guess, now I understand why LVGL functions follow strict naming/call pattern.