Elements 9.2 further extends the foundation of our major new Elements 9 release from late last year, again bringing many enhancements, fixes and improvements – as well as a brand new language frontend:
Version 9.2 introduces the fourth language to the Elements family: Java.
Not to be confused with the Java platform, which we have of course supported since Oxygene 5 back in 2011, Iodine brings the Java language to Elements – and this to all platforms: .NET, Cocoa, Java/Android and Island.
That means you can now use the Java language on the .NET platform, or reuse some of your existing Android code as you create your iOS app, to name just two examples. It also means Java devs can now use Java for native Android NDK apps and extensions, rather than having to resort to C/C++.
Of course Java is fully supported and integrated in Visual Studio, Fire and in the Water Preview.
We announced the Water project back when we shipped Elements 9.1, and we have since started shipping Early Preview releases of Water, giving you a first glimpse of what's to come in terms of IDE experience for Elements developers on Windows.
Initial feedback from the Alpha has been surroundingly positive and users are amazed by the speed of the IDE. You can now check out the latest Water preview with the production-stable 9.2 compiler, and get started using the new IDE for real work.
Of course we still have ways ahead of us before Water will declared "1.0" though, and you'll also have the chance to stay up to date with new 9.3 and v10 betas throughout the rest of 2017.
Less than a year old, our new Island platform for CPU-native compiler targets is coming together well. While the change log this time is not quite as long as in May, Elements 9.2 adds some significant improvements, including a brand new custom-written debugging engine for Island apps on Windows, new templates and aspects to help with Android NDK development, and support for Task and async code on the native platform. Both Elements RTL and Delphi RTL have also received enhanced Island support.
Elements 9.2 is once again a significant upgrade for Fire, which just keeps getting better and better. There's a new disassembly view for the unmanaged debugger (Cocoa and Island) that lets you inspect and step through your app on the CPU instruction level - including code without symbols, such as OS libraries.
Search has been improved with a new embedded search pane, search history, and the ability to filter the file and type trees. The code editor now highlights the surrounding code block and matching XML tags, and has gained support for auto-completing XML closing tags and for XML Code Completion (currently for .plist files, but laying the foundation for XAML and Android XML CC coming next). We've also improved the display of inline error messages, among many, many other improvements – and not to mention loads of fixes.
On the Silver side, this release contains the first steps towards supporting Swift 4 (which Apple will ship later this year), as well as other improvements both for platform parity and for compatibility with Apple Xcode. For example, failable initializers (
init?) are now supported on all platforms, and there's support for multi-line string literals and escaped line-breaks as coming in Swift 4.