Codename One uses a build server architecture. This alleviates the need for a Mac for iOS/Mac OS builds. It also alleviates the need for a Windows machine when targeting UWP/Windows desktop. It also simplifies the setup process as the build process on the servers is very elaborate, it requires several 3rd party tools and a delicate environment.

Before we go into the discussion people usually ask for offline building due to two reasons:

Size limits

Since only bytecode is sent to the servers this is the equivalent of sending your compiled binary. The security implications are minimal. The size limits for the jar can be worked around in the free version and don't apply in the paid version. If you need more than the 50mb limit for the JAR then your resulting binary will be unusable on devices to begin with. Keep in mind that the resulting app tends to be 10x-12x larger than the jar file (and sometimes more). A 50mb app can reach 500mb in size in production (size increases further after uploading to itunes).

Having said that you can build a Codename One application without the build servers. This was made simpler using the maven build process.

We would recommend people don't use that path as it's more pain than it's worth and the build server is effectively free.
Was this article helpful?
Thank you!