XE3 and beyond : A look at mobile

Posted by on in Blogs
I am sure by now many of you have seen World Tour events scheduled to talk about the upcoming XE3 release. There are a great many new and exciting capabilities in XE3 that we can’t wait to share with you. XE3 is simply going to rock so check out a World Tour event near you. With XE3 on the horizon, I want to take a moment to talk about some exciting things we’re continuing to work for beyond XE3 - that XE3 and FireMonkey 2 (FM2) lay the foundation for.

Our teams are hard at work building a brand new set of technologies and products that bring C++, Delphi, and FireMonkey to mobile in a solution unlike anything else in the market. This solution includes a new Delphi and C++ toolchain (frontend, backend, linker, debugger, run-time library, etc.) a mobile targeted version of the FireMonkey FM2 framework, and a mobile design and development environment specifically for mobile platforms. The Delphi language front-end is being enhanced to deliver apps suited for mobile devices by adding memory management features such as automatic reference counting. The new Delphi mobile backend is a new delivery designed to create highly optimized ARMv7 binaries. This includes a new linker and debugger to manage the new object formats and debug info. And finally, both the runtime library and FireMonkey framework are being optimized for mobile, removing un-needed desktop functionality and adding mobile specific features.

While there is a lot of new functionality being delivered in the build toolchains, a new FireMonkey mobile framework will take advantage of the new Delphi language memory management features and deliver mobile specific features such as native iOS and Android UIs with pixel-perfect native looking controls and behavior as well as custom UIs (which can share custom styles with XE3 desktop applications),  and a service framework for hardware sensors, such as GPS, accelerometers, gyros, and cameras, and OS services such as location, advertising, and in-app payments. And although the new mobile products will include new mobile specific toolchains, FireMonkey FM2 for mobile, and a mobile tuned development environment, the mobile products are being designed to be able to easily leverage and extend XE3 Mac and Windows desktop projects.

In XE2, we delivered tools to help migrate FireMonkey desktop applications to XCode and FPC, which allowed developers to migrate desktop projects to XCode and recompile for iOS devices. With some tweaking, a developer could take a desktop FireMonkey application and re-target it to iOS without a significant amount of effort. The downside to this approach was that the applications running on mobile were using the FireMonkey desktop framework, so user experiences and performance were not tuned for mobile unless controls were completely customized. Some developers have built amazing XE2 based mobile applications, but with significant effort. Additionally, there was no integrated developer experience provided with the IDE and Xcode approach. The migration tools in XE2 were a testament to the cross-platform capability of the FireMonkey framework. What we’re working on for our next generation mobile development is to deliver the best mobile development solution for any developer, period.

As a result of the language changes for mobile and changes to the FireMonkey framework (which will roll into the mobile products), FireMonkey is no longer compatible with the FreePascal toolchain used to compile iOS applications with XCode. Therefore, the migration tools delivered in XE2 will no longer be included in XE3, and FireMonkey FM2 desktop apps will not be compatible with FreePascal and XCode. However, as an XE3 customer you will have access to (or may already have) the XE2 product that you can continue to use with FireMonkey XE2 to build iOS applications with Xcode and FreePascal.

Our next generation mobile solutions are still in development and will be the first and only native development solution for both iOS and Android that share a common codebase (common with XE3 desktop projects as well). This will be a revolutionary solution for developers that will deliver the best performance on both major mobile platforms with one development environment, one language (Delphi or C++), one framework, and one codebase. We believe you will be very pleased with the runtime capabilities and development workflow for mobile development and if you are interested in beta testing, pick up XE3* to get on the mobile beta, and see what we’re so excited about.

In the meantime, see you at the World Tour!!

*Access to mobile beta requires an active XE3 Professional Edition or higher developer license

Gold User, Rank: 18, Points: 191


Check out more tips and tricks in this development video: