This is a lot more work of course but we feel it creates the best end result. We do this to provide the best overall user experience possible via the speed of native code and the use of native controls. That means native machine code, native controls, etc. Our goal with Xojo is for it to be as native as possible on all platforms. Your Xojo source code is never part of the compiled app you deliver because we compile to machine code or in the case of Android, intermediate byte code. That machine code is cached so it doesn’t have to do this every time.
#Xojo android apps android#
It is that byte code that is then delivered to the device where Android then compiles it to machine code optimized for the device.
#Xojo android apps for android#
The code you write in Xojo for Android is also converted to Kotlin (for the same reason) and then compiled into byte code. We are writing that framework in Kotlin because that’s the recommended language to use for Android. The one platform we don’t compile all the way down to machine code ourselves is Android. We just use it to compile for all platforms rather than just MacOS/iOS. Side Note 2: Behind the scenes, Xojo uses LLVM, the same optimizing compiler that Apple uses with XCode. That’s compiled by the Xojo compiler when you build. This is not the same as the code you wrote as part of your app. The Xojo code you send to XojoScript is compiled at runtime. It could also be used if you needed to create math calculations or have your user enter them at runtime. This would allow you as a developer to add a scripting language to YOUR app. It is a way to compile Xojo code at runtime. Side note: XojoScript is NOT the code in your app. Xojo has no interpreter nor has it ever had one. The client side of our web framework is JavaScript of course. The underlying Xojo framework is a combination of different languages depending upon what is needed including a fair amount written in Xojo itself and nearly all compiled to native machine code. Xojo compiles your code to machine language for all platforms. I’m here just to answer your question and clear up any confusion.įrom you description of how LiveCode works, yes, Xojo is different.