Develop Core Java, but the graphic?

Good morning,
I’ve discovered a few days at Multi-OS-Engine, but I have not yet understood one thing. The tool allows you to develop in Java, but the graphic part of the app is created in its compilers (AndroidStudio / XCode)? or can you also develop that in Java?
Thanks so much.


You can create the graphic interfaces using Xcode if you prefer to work with a visual editor or you can code the UI in Java if you like to have fine control on what’s going on.

It’s the same with Objective C or Swift so you can more or less follow any tutorial you found online with minimum effort.


do you have any reference on how to build UI programmatically from Java? I’d love to stay as far from xcode as possible.

We have created an iOS app with MOE. The UI has been created programmatically in Kotlin (a JVM language worth looking at :wink: ).

We still use Xcode for two things:

  • Running the app on a device or a simulator
  • Publishing the App on the App Store.

We have a little sample project to create screens programmatically. Goal was to reproduce a memory problem. MOE maintainers helped us very well.

Sample project with two (simple) programmatic screens:
Discussion topic: Heap dump of the JVM

Programming UI’s using iOS api’s is not that simple. We currently use AutoLayout, but it has a learning curve and is not very intuitive. If we would do it again, we would try first.

Hope this helps.

Hi Kees,

this might be slightly offtopic here, but I am curious: why are you launching from Xcode and not from your Java IDE?

Best Regards,

I also wrote all iOS UI programmatically in Java. But I used XCode visual layout editor, both full screens and table rows, so most of Java code was to handle data bindings.

So far we have used Xcode because:

  • In Gradle it is somewhat harder to select a simulator (not really hard, just harder than having the list of devices in a dropdown)
  • Xcode has a profiler, which makes it easy to check app for memory leaks.

Just now for the first time tried out launching from the IDE. Seems to work nice as well, will try to use that more often, especially for debugging on the device.