Embarcadero released Delphi 10.1 Berlin today which is an upgraded version of Delphi and Firemonkey for Android, IOS, OSX, and Windows. This release features enhanced Bluetooth support, official Android 6 Marshmallow support, a live visual app designer for Firemonkey, connectivity and demos for a number of IoT devices, Firemonkey high DPI support, plus a significant number of bug fixes across the board from FMX, to VCL, to the compilers, and in the IDE itself. Here is a full run down of the new functionality that jumps out at me:
The Berlin release features official support for Android Marshmallow (and there are also Object Pascal translations of the Android 23 API here).
There is a new TAddressBook component for Android and IOS which gives you access to the on device Address Book. You can fetch all, grouped, or individual contacts. You can add, remove, and edit existing contacts and groups. In older versions of Delphi you can access the Address Book with this component.
The Style Designer which allows you to customize the visual design of components has been greatly enhanced to include a preview panel, zooming, clipboard support, and multi selection. It is now easier to style TListView items because there is an enhanced TListView control which you can access in the Form Designer. The Image List Editor has also been enhanced. The Form Designer can now be undocked to take advantage of multiple screens.
The FireUI Live Preview feature allows you to add an app to your Android, IOS, OSX, or Windows device and then link your device to the Delphi IDE. Once the device is linked in you will be able to edit your form visually in the IDE and instantly see how the form will look on the linked device. I’m pretty sure they use AppTethering for the live preview. I tried it with an Android device and it is pretty awesome to instantly see your design changes on the device.
There are all new sync and async message dialogs in the form of ShowMessageAsync(), ShowMessageSync(), MessageDialogAsync(), MessageDialogSync(), InputQueryAsync(), and InputQuerySync().
SQLite support has been upgraded to 3.9.2 and there is a new SQLite library for OSX which supports encryption. I believe this brings encryption support in the SQLite implementation to all four platforms (Android, IOS, OSX, and Windows) now.
The REST client library, the Amazon API, and the Azure API have all been enhanced in this version. BreaconFence has also been enhanced and now supports Eddystone Beacons. There is Windows 10 support for Bluetooth LE and Beacons. There are quite a few other enhancements to the Bluetooth support as well. AppAnalytics now defaults to HTTPS and AppTethering supports IPv6 plus other enhancements. Android service support has also been enhanced.
TZipFile, TStringList, and TMemIniFile have all been enhanced with new functionality. Regular expressions and StringReplace performance has been enhanced. THTTPClient has enhanced with asynchronous support and two new timeouts. Generics compile times have been greatly reduced.
IOS and Android support received improved dynamic array functionality and CPU Views while debugging. For IOS64 there is enhanced debugging support of Unicode, strings, arrays, breakpoints, and more.
The Java2OP tool which converts Java header files into Object Pascal header files has been enhanced to support JDK 8. With this new Berlin release there is also a second tool called SdkTransform which is suppose to convert Objective-C or C++ headers to Object Pascal headers. If it works decent enough this can greatly reduce the time it takes to add support for various IOS frameworks to your Firemonkey projects.
Lastly, there are a number of IoT device profiles and demos available via GetIt. These devices are things like heart monitors, smart plugs, smart locks, smart light switches, smart locks, smart sensors, step trackers, and many more which you can now easily interface with using Delphi. The Embarcadero term for the device interfaces is ThingConnect and it also interfaces with their EMS offering. These devices can be connected to via Bluetooth and Z-Wave. You can also use a generic implementation of ThingConnect to connect to devices that do not have a custom interface available through GetIt yet. There are 52 ThingConnect devices listed in GetIt at launch.
Head over to Embarcadero’s website to get the full run down of all of the new features and functionality available in Delphi 10.1 Berlin Firemonkey on Android, IOS, Windows, and OSX. The release notes for are also available.