Home Features Docs Blog Support GitHub

Hot code reloading


#1

This would be the completing piece for MOE. Especially while doing UI code.
Even in a semi-functional, hacky or intrusive manner would be great.
Or in conjunction with this tool: https://github.com/johnno1962/injectionforxcode

Has anyone played around with this? Is it somewhere on the roadmap, or just too futuristic for now?


(Gergely Kis - Migeran) #2

As MOE uses ART from Android, the Instant Run feature can be ported to MOE. We want to support this in the future. The basic support (that can work on both MOE 1.x and MOE 2.x) requires that the updated code runs in interpreter mode only. This should not present a problem for the standard development. It would be straightforward to implement this feature, but it is not the highest priority now. If someone would be interested in sponsoring this feature, then we could implement it fairly quickly.

In MOE 2.x the Java methods are compiled to standard native functions, so they can be injected using the linked plugin (or an equivalent implementation). This way an updated class could still run at native speeds. There are a lot of details one has to get right for this to work, but it should be possible. For most use cases the first option should be sufficient in my opinion.

Best Regards,
Gergely