We're happy to announce the immediate availability of the brand new Elements 9.
Elements 9 is a huge milestone, and I'm extremely proud of what the team has accomplished this time around. No matter what areas of Elements you are most interested in, there's something great in there for you. In fact, there's so much new that it will be difficult to even scratch the surface in this announcement – so I recommend you definitely check out our What's New page, the Change Logs and in general the overhauled Elements Website.
Probably the most prominent addition in the release is Island, our new native platform backend. With Island, you can now build native executables for Windows and Linux – something many of you have been asking us to support since forever – using Oxygene, C# and Swift.
But Island is an open platform that allows Elements to target many different native platforms, and this version is just the starting point, a mere glimpse at what Island can do. Exciting times.
We've been solid on Swift 3 changes with our compiler for a while on the beta channel, but this release makes it official. Swift 3 has been a huge restructuring on Apple's side and I'm happy to say that Elements has kept up splendidly – from syntax changes to the "Grand Rename" that makes many Cocoa classes and APIs available under "more swift" names.
Fire, released just earlier this year, has also seen a lot of improvements.
For example, if you're doing unit testing with EUnit, you will now see the result of your unit tests "in-line" inside the code editor – just as with regular build messages. And when debugging, evaluations for local fields and variables will show right in the editor as well. And that's just a few of many many improvements and new features.
Unified Class Syntax for Oxygene
As I wrote about before, Oxygene has gained a new (optional) syntax for combining declaration and implementation of classes – much like C# and Swift have always done. It may feel like a small thing, and it's certainly not a good fit for all types of classes, but I've personally found this change to be a big boon and to streamline how I code in Oxygene.
Of course there's more improvements in Oxygene and all languages, as well. For example, you can now extend interfaces with new methods (and even default implementations – think "mix-ins"), we started adding C# 7.0 features, and more.
Moving from Delphi is Getting Even Easier
As part of our ongoing effort to make it even easier for Delphi developers to move their code over to Oxygene and into the future, we've added a new library to Elements 9, the "Delphi RTL".
This library, which is open source on GitHub, aims to bring over common RTL and (non-visual, for now) VCL classes that your Delphi code probably uses. That way, you can not only leverage your existing language knowledge, but code that uses, say, SysUtils or TString will "just compile", as well.
Delphi RTL is a work in progress; a first preview ships with Elements 9, but it will improve every day and you can always grab the latest changes (and even contribute) on GitHub.
Get Your Copy Now!
Elements 9 is out now, as free trial download, and for all licensed users. As always the upgrade is free for all users with an active subscription – and the new Island platform is also free for all users with an all-platforms Suite, or a full Oxygene, C# or Elements license.
Of course Silver is and remains completely free – now on all four platforms.