Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kivy + LVGL #7934

Closed
cederom opened this issue Jul 30, 2022 · 2 comments
Closed

Kivy + LVGL #7934

cederom opened this issue Jul 30, 2022 · 2 comments

Comments

@cederom
Copy link
Contributor

cederom commented Jul 30, 2022

Is your feature request related to a problem? Please describe.

I am working on a cross platform mobile project that for over a year cannot get production quality. I never want to look at JavaScript (ReactNative/Vue) nightmare ever again and I am looking for alternatives. My native OS of the choice is FreeBSD but I am aware that macOS is still a must when it comes to store application build and signing. I need to change the technology and I prefer Python :-)

I have found Kivy the best framework to have Python on a Mobile so far. It has all of the the automation to turn simple main.py into a dramatically complex Android/iOS mobile project structure. I did an example Hello World application that runs on FreeBSD and macOS (native Python venv), Android and iOS (using buildozer). Looks promissing! Thank you! :-)

I even added patches to build pyjnius on *BSD already (kivy/pyjnius#633). I hope that one day I even won't have to use macOS ever again for iOS/Android development :-)

The problem is relatively poor UI library in Kivy. Sorry :-)

Describe the solution you'd like

From embedded development I know ultra-small, beautifu, and versatile LVGL library:

https://lvgl.io/
https://github.com/lvgl/

Describe alternatives you've considered

It will probably take too much time to add all of this buildozer like functionalities to LVGL, so probably it is a wiser idea to integrate LVGL into the Kivy UI components pool :-)

Additional context

I wrote that request on kivy-users mailing list but here may be a better place to discuss :-)

Before I start adding LVGL on top of Kivy I would like to ask current developets with greater experience some high level questions (low level answers are welcome):

  1. Does this make sense to run LVGL on top of Kivy? Kivy already has this automation part that converts simple main.py into dramtically complex mobile app. LVGL can already work with SDL. Both seems to match.

  2. Would it be efficient? LVGL can fit into 64KB microcontroller. How about Kivy loop?

  3. Is this kind of integration possible and sensible? Can we just add it to the components pool?

  4. What should I look out for and keep in mind?

Any hints welcome :-)
Tomek

@cederom
Copy link
Contributor Author

cederom commented Aug 1, 2022

I am getting more and more familiar with Kivy step by step. I can feel the design behind now. Maybe external toolkits are not that important and I will try to implement the first application using Kivy only :-) But I have an idea to render vector stuff in place of images.. that way we could have totally scallable TRON like UI with always high visual quality :-)

I have report the idea as feature request here: #7939.

@cederom
Copy link
Contributor Author

cederom commented Aug 15, 2022

Allright, I just discovered KivyMD (https://github.com/kivymd/KivyMD), no need to fight the Kivy + LVGL when KivyMD is already out there :-)

Still, I think that default graphics in Kivy should be vector not raster (png), as reported in #7939, so its still beautiful no matter what scale and display dpi :-)

Thank you! Closing the issue :-)

@cederom cederom closed this as completed Aug 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant