Introducing LVGL's UI editor - Edgeline

It’s finally here, GUI Builder!

Looks amazing, definitely will use this. Cross platform would be the cherry on top (or at least useable on a Mac).

This looks amazing!!
From a developer’s standpoint this will be crucial for swift development but mostly changes/bugfixes!

Congratulations to the whole team!

1 Like

Thank you for such a great feedback!
We are working hard to make the beta release ready. Stay tuned! :slight_smile:

3 Likes

Looks like it’ll be out sooner than expected! Can’t wait! :grinning:

Congratulations of LVGL editor. Well done for excelent work and I hope can test tool soon. Will tool have all widgets or only something?

Thanks! :slight_smile:

For first probably not all of them because some widgets require some custom “editors” to allow easy configuration.

Looks so greater! I like it.

First things first: that is mad sick yo. :smiley: Great job on what looks like the future of GUI editing for LVGL.

:+1: for me on OSX support.

1 Like

The designer looks both aesthetic and function in the video and is much needed. Looking forward for its release. Three related questions if you don’t mind.

  1. What kind of license do you plan for it? Free for makers? Free for commercial use? The MIT license of LVGL itself is very generous and encourages wide adoption.

  2. What software frameworks, languages and tools do you use to develop it. I am interested in an easy to use stack that supports automatically windows, osx and linux.

  3. One challenge with code generaters is the distinction between the generated code and the user added code, and preserving the user code when changing the design using the generator. ST CUBE for example does it with special code markers that make code cumbersome and non natural. How will the generated and user code will co-live and interact in with this designer?

Exactly when the version can be released, I want to use it as soon as I see it.

Probably it will be free with limitation, very cheap with mid-range features, and more expensive for professional users.

Sorry, but at this stage, we wouldn’t like to disclose technical information. :frowning:

It’s really a challenging topic. We are considering collecting user-related code into a separate file. It mainly means event handlers. By default, the obsolete functions are not deleted but marked with an “orphan” comment. We are still working on it so it still might change. If you have any good ideas we are really open to it :slight_smile:

1 Like

One option I’d be excited to see is a “free for non-commercial use” option for development, and then an option to purchase a license if you wish to sell a product.

3 Likes

One option I’d be excited to see is a “free for non-commercial use” option for development, and then an option to purchase a license if you wish to sell a product.

Same here, would love for this to be free to use as a casual developer

2 Likes

@kisvegabor,

  1. I put my projects in the public domain (CC0) with no commercial restrictions, so if there will be such restrictions, it will be non accessible for me. (Not that you need to model your business after my needs ;-))

  2. No problem, I can wait. I am looking for some time for a good combination of language, IDE, and GUI framework that generates plain binaries (no JVM and such) and can run on all three platforms.

  3. I don’t have special insight but the direction you are going, separating user’s and generated source code is very good IMO. With MxCube for example, the code looks ugly with all those BEGIN USER REGION 875 markers and the version control is spammed with code changes I don’t care about. I am not a big fan of the Inversion of Control model and appreciate that LVGL doesn’t have much of it except for a few callbacks, but this is a common model for GUI frameworks.

EDIT: on a second thought, there may be two licenses involved here, one for using the tool and one for using code it generates.

Just thinking out loud, This might be already considered, have you thought of exporting a parse able format so it can be parsed and be used to generate bindings in other languages?

Supporting open source projects in some form would be great. For example, we host this Forum on Digital Ocean for free because they support popular open-source projects with some credits that can be spent to rent servers.

We can also do something like this. But it’s a longer-term plan, for now we want to get started :slight_smile:

Using an intermediate format, e.g. JSON is possible but I haven’t think of the purpose you have mentioned but it’s an interesting idea. We will think about it.

1 Like

Does the designer support constants, expressions, and other mechanism to share design aspects between widgets and screens? E.g. if I want a button to have same size or position on multiple screens?

(With C I just define a function that sets the common aspects and call it multiple times).

Sounds like a good idea. We are thinking about it!

How does it generate the creation of widgets in application? Is the UI editor generate C code or will it be based on some command /script data ?