Before I could even start some apps on beta7/beta8 — the official release of XE5 came out.
The most “in the face” feature is the very impressive integration of the RAD XE5 to the different environments (Win8/iOS/Android). It enables the developer to seamlessly connect the mobile device or emulator that the app would be compiled on. And run the application.
I didn’t yet, dig enough into the twiks of each system. Of course each platform and device got its own sensors with-which you can program an app to.
All programming for the mobile EcoSystems, is being done using the FireMonkey FMX. Which is an OO environment. And if you check the source code of the FMX, you’d find a FMX.Platform.{PlatformType}.pas that is functioning as an encapsulation of the ecosystem basic function. the {PlatformType} is one of the following by default: IOS, Win, Mac, Android.
Platform.IOS:
The integration to the iOS got a procedure where you automagicly sync the current XCode headers to be used by the DCCARM on the RAD OOP environemnt. This procedure is being done once, and could be repeated when a new version of the iOS is out.
All code-signing, and device deployment for the iOS is being done using the existing Mac XCode environemnt (when dealing with key-chain codes, and provisioning profiles — this is a procedure every Apple developer know, and is well documented in Developer.Apple site.)
Platform.Android:
As for the android platform, because of the fact that it is an open source OS. Embarcadero decided to ship the RAD environment with a deployment of the android SDK/NDK. So emulation and use of tools is being done using them.
When connecting a new android device the RAD automatically detect it and can compile code to the device itself.