InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.71k stars 926 forks source link

Support for Golang/Zig/other for building apps #1185

Closed devnoname120 closed 2 years ago

devnoname120 commented 2 years ago

Verification

Pitch us your idea!

C++ for building apps is hard for many users. I suggest to add support for a compiled language that is fast and with a low runtime footprint.

Description

MicroPython could be an option but the downside is that it could slow down the otherwise super snappy and battery-saving InfiniTime OS.

devnoname120 commented 2 years ago

Zig in particular has:

Elara6331 commented 2 years ago

Theoretically, this should already be possible, though it would probably be more difficult than just writing the C++ itself. I'd wait for support for uploading apps, which is planned sometime in the future, and then see how those are implemented and do the same in another language.

Elara6331 commented 2 years ago

And MicroPython is not really an option. InfiniTime is already running out of RAM as it is, and every new feature uses more RAM. MicroPython would use a lot of RAM and be much slower. If you want MicroPython apps, you can use WaspOS

JF002 commented 2 years ago

I agree with @Arsen6331, I think we have many other challenges to overcome before adding more possibilities to build apps. We are already working (experimenting) on offloading resources to the external memory in #321.

devnoname120 commented 2 years ago

I agree with @Arsen6331, I think we have many other challenges to overcome before adding more possibilities to build apps. We are already working (experimenting) on offloading resources to the external memory in #321.

Thank you. Are there plans to merge PineTime Lite changes upstream? 🙏 The UI/UX looks more sleek, and even horizontal scrolling is smoother/faster than InfiniTime.

Riksu9000 commented 2 years ago

Closing as not planned for the time being.

devnoname120 commented 2 years ago

Closing as not planned for the time being.

I planned to do it myself, not rely on the maintainers. Given your comments I'll wait a bit however.

Riksu9000 commented 2 years ago

I could've elaborated on this a bit more. Mainly I think that core InfiniTime apps should just be written in C++ and it's not worth bringing in more dependencies. We aren't in need of more app developers right now either, since there's not that much memory to spare.