Delphi XE6 was released today with new functionality for Windows, Android, IOS, and OSX. I have already downloaded the new version and installed it on the same machine as my Delphi XE5 install without any problems. The What’s New list is quite long but here are some of the highlights that jump out at me:
– The hardwareAccelerated flag in the Android manifest now defaults to true. This may speed up Firemonkey apps. You can also add this flag manually to your XE5 apps. Read more about it here.
– There are two new functions available for TWebBrowser which are LoadFromStrings and EvaluateJavaScript. These functions will allow you to directly load HTML into the web browser component and to execute Javascript on the fly in the web browser component. These were much needed functions.
– APK files in XE6 are published with native shim libraries for MIPS, X86, and ARMv6 devices which will let those users know that your application is not supported by their device hardware. Hopefully users without NEON also receive the message.
– Built in support via a component for In App Payments for both the Apple App Store and Google Play. I haven’t seen a IAP component for Delphi XE5 for Android yet so this is a nice step forward. Adding more ways to monetize Delphi apps is a good thing.
– Built in support via a component for banner ads on both the Apple App Store and Google Play. Being able to monetize Delphi apps is a good thing. On IOS it is using iAd and for Android it is using AdMob. I’m not sure how much functionality is offered with the component yet. Third party AdMob components may still be useful.
– You can set the global variable FMX.Types.GlobalUseGPUCanvas to true in the initialization section to enable the GPU Canvas by default on Windows for Firemonkey.
– There are two new properties that allow you to tint backgrounds and icons of some Firemonkey controls. TintColor specifies the button background color and IconTintColor specifies the button icon color for styled buttons. TButton, TSpeedButton, TToolBar, and TListItemTextButton all look like they support this new property.
– Push notification support for Apple and Google push notifications using libraries from Parse and Kinvey have been added using a new BaaS framework. It uses a system where there is a TParseProvider and other providers can be added by creating new provider components. There is also a new receive line in the Android manifests of XE6 APKs called “com.embarcadero.firemonkey.notifications.FMXNotificationAlarm”.
– You can now compile DataSnap applications into Apache dynamic link modules (WebBroker) for Windows.
– The new default Run mode for Delphi XE6 mobile applications only replaces the executable and leaves the data files (instead of completely deleting them when you debug Run deploy). I’m glad both options are still available.
– New app tethering components were added which allow mobile devices to talk to desktop apps via the local wifi hotspot. For example, you could use a mobile device as a bar code scanner for a point of sale system using these new components. Take a look at the demo app video.
– QC#117762: “Need means to deploy additional library .jars in Android app” is listing as being fixed. Hopefully this means the capability to quickly bring in third party JAR based libraries to Android should be much easier.
– QC#119352: “[Android] Critical Bug (but easy to solve): Using JNI (Java Objects) inside a thread crashes the app.” is listed as being fixed. Hopefully this should be a huge help to building Android apps with threads.
Head over to Embarcadero’s site to read the full exhaustive list of what’s new in Delphi XE6.
Check out the public list of 500+ bug fixes which are available in Delphi XE6.