Elements is a first class citizen for developing for the Microsoft .NET platform. All six Elements Languages can be used (and intermixed) to create applications, libraries and services using the Common Language Runtime.
Elements code compiles to pure Intermediate Language (IL) code that is all but indistinguishable from binaries created with Visual C# or Visual Basic.NET, and it can seamlessly interact with all parts of the .NET ecosystem. For example,
.dll libraries created with Elements can be used directly from VC# and VB, and Elements projects can directly reference any existing .NET library, third party component or NuGet package.
Elements supports .NET Core 2.0 and above, the classic .NET Framework version 2.0 through 4.8, and Mono/Xamarin.
The cross-platform .NET Core runtime is the future of .NET and will fully replace the current classic .NET 4.x framework when .NET Core 5 ships in late 2020.
.NET Core projects can run on Windows, Mac and Linux, and ASP.NET Core (covered in more detail, below) can be used to create web sites and services that can be hosted on these server platforms. On Windows, .NET Core 3.0 and later can also provide GUI applications, using Windows Presentation Foundation (WPF) or Windows Forms (WinForms), also covered below.
ASP.NET is a technology stack built own top of .NET and .NET Core for building server-side web applications and services. From classic HTML-page-based web sites to rich React-driven single-window applications, ASP.NET has you covered.
Elements supports both classic
.aspx-based ASP.NET websites and web projects, as well as ASP.NET Core and Razor. All five object oriented Elements languages (Oxygene, C#, Swift, Java and Mercury) can be used for ASP.NET and ASP.NET Core development, with RemObjects C# being used for Razor (
Read more about the different web development options in Elements, including but not limited to ASP.NET, here.
WinForms and WPF are two framework options for creating native GUI applications for the Windows desktop. Elements supports the development of such applications in the Oxygene, C#, Swift, Java and Mercury languages, with full support for the visual designers when working in Visual Studio.
Both WinForms and WPF provide a rich ecosystem of components that lets you build sophisticated applications, with third party and open source components available from many channels that will work seamlessly with Elements, just as they would with Visual C# or Visual Basic.
WPF and WinForms apps can be built on top of the classic .NET Framework and also with .NET Core, version 3.0 or later.
Water, our own light-weight IDE for Windows, is implemented in 100% Elements code using WPF for the user interface layer.
Mono & Xamarin
Mono is an open-source implementation of the classic .NET runtime that can run on Mac and Linux, in addition to Windows. Elements projects compiled for the classic .NET Framework can be run on these platforms using Mono as is, often without changes, or with only minor considerations for platform differences. Projects can be written and build in Visual Studio, Water and Fire. Both Water, and Fire include our Mono Debug Engine, allowing you to debug your applications on the Mono runtime (on Windows and Mac) in addition to Microsoft's standard CLR implementation (on Windows only).
In Visual Studio, you can also use Elements to create projects for the Mono-based Xamarin tool chains for iOS, macOS and Android – although Elements provides better options for targeting these platforms with our native Cocoa and Android support.
Command Line & Server Tools
.NET is also a great development platform for command line tools and services/dæmons. With very little effort, you can write tools that can as a single binary be run on not just on Windows (where the .NET Framework ships as part of the OS) but also on Linux and Mac, using the open source Mono or .NET Core runtimes.
Develop on Windows or Mac
Visual Studio is Microsoft's full-featured IDE for .NET development, and Elements integrates seamlessly with it, including the free Community Editions. Working with Elements in Visual Studio gives you access to the full .NET ecosystem, including visual designers for WPF, WinForms and ASP.NET.
In addition, Elements also comes with its own lightweight yet powerful IDEs, Water (for Windows) and Fire (for Mac). Fire and Water are very similar, following the same basic design philosophy, while still fitting in natively on Mac and Windows, respectively.
With Fire, you are free to develop your .NET applications on Mac, including support for the full build toolchains for WPF or WinForms, .NET Core, and ASP.NET Core. You can test and debug your projects locally (using Mono or .NET Core) or remote-debug on a Windows machine using the .NET or .NET Core runtimes.