Water is our brand new development environment on Windows.
Water is designed from the ground up for a new kind of developer experience that is lightweight yet productive, and does not get in your way of doing what you do best: develop great software.
One of the main (if not the main) design goals for Water is to never block you, and to never get in your way.
Water is always responsive. It starts up almost as quickly as Notepad and has you typing code within seconds, and it never blocks you or keeps you from doing what you need to do.
For example, you can start a background build of your project by pressing Ctrl+B at any time, and just keep coding. No lock-up, no focus changes – it just builds. Build messages unobtrusively appear as they happen, right inside the code editor – so you can choose to act upon them or ignore them for now. Find that you pressed build too soon and just spotted a typo? No problem, just press build again and Water will immediately cancel the previous build and start fresh. No delays.
This same principle is applied all throughout Water, to make sure it never gets in your way.
Water introduces a brand new way to think about your open project. Forget about "open tabs" or "saving files". With Water, you just open your project and work. The current state of your project, at any given time, is the current state of your project. The IDE worries for you about when to save to disk (or when to reload for external changes) – you just work!
Of course, even though it runs on Windows (if you're a Mac user, check out its cousin, Fire), Water lets you develop for all of the platforms supported by the Elements compiler, be it Windows (natively or via .NET), Java, Linux, macOS, iOS and more. You can work in any of our four languages – and even mix them in the same project, if you prefer.
Also, projects and solutions are fully file compatible between Water, Fire and Visual Studio – so you can take your work wherever you like, for example to develop on your Mac some days, and on Windows on others. Or to load up your solution in Visual Studio if you need to work side by side a Visual C# or Visual Basic project.
There's more to developing apps than just writing code, and Water includes the full tool chain for deploying and running your apps – whether it's Windows projects you can run locally, or macOS, iOS, Android or Linux apps that need to be deployed and tested elsewhere.
Water connects to your Mac or Linux machines and detects attached Android or iOS devices, so you can just pick your target from a drop-down and off you go – in a consistent experience for all target platforms.
Water also takes care of all the other nitty-gritty details that the platforms require – from letting you pick certificates and provisioning profiles for signing your Cocoa apps to booting up Android emulators or iOS Simulators as needed, or managing Gradle and NuGet package references.
Another important aspect of software development is debugging.
Water lets you debug your code running on .NET, .NET Core, Mono, Java, Android, Native Windows, Linux and Mac, iOS and tvOS as well as WebAssembly – each with a custom debugger hand-crafted for use with the Elements languages on each of the specific platforms, but with a consistent user experience, no matter which platform(s) you are debugging on.
Of course Water comes with a sophisticated code editor, written from scratch specifically for the Elements languages and their features. The editor provides all the conveniences you expect from a modern coding experience – and more. This starts with lightning-fast syntax highlighting, extends through editor smarts such as Code Completion, Peek at Definition and automatic code formatting all the way through to advanced features such as inline display of debug locals or code structure highlighting.
Online help is also deeply integrated, allowing you to quickly jump not just to Elements-specific documentation topics, but also directly to platform API documentation provided by Microsoft, Apple, Google or Oracle. Just press F1.