About RemObjects Mercury

Leverage your existing VB.NET skills to develop native projects for all modern platforms.

RemObjects Mercury is an implementation of the BASIC programming language that is fully code-compatible with Microsoft Visual Basic.NET, but takes it to the next level, and to new horizons. Write VB-compatible code for any platform. With RemObjects Mercury you will be able to build your existing VB.NET projects, and leverage your Visual Basic language experience to write code for any modern target platform, including: Microsoft .NET, .NET Core, Mono and ASP.NET Core, the Java VM and any device that runs Java code, Android, both the Java-based SDK and the CPU-native NDK, Apple iOS, macOS, tvOS and watchOS (Cocoa, CPU-native), Microsoft Windows (CPU-native), Linux (CPU-native), and WebAssembly, for web browsers and Node.js.

Sophisticated IDEs for Windows and Mac
The Mercury language will be deeply integrated into RemObjects Software's development environments. Develop your projects in the smart yet lightweight IDEs, Water on Micrsoft Windows or Fire on Apple macOS – with project templates, code completion, integrated debugging for all platforms, and many other advanced development features. Mercury will also integrate into Microsoft Visual Studio 2017 or 2019.

Mix Mercury Code With Other Languages
With RemObjects Elements, all languages are created equal. Even within the same project, you can mix Mercury, C#, Swift, Java, Oxygene and Go.

Mercury, like the other five Elements languages, comes with an extensive toolchain that takes care of all parts of your development process – from IDEs to work in, over the compiler and auxiliary build tasks, all the way to your final product.

It also integrates deeply with the existing ecosystem for whatever platform(s) you are targeting. For example:

  • On Mac or iOS, you have full access to the entire range of Cocoa APIs. You can use .xib files, storyboards, asset catalogs etc. just as you would in Xcode.
  • On Android and Java, Mercury seamlessly uses the platform tools for "dex'ing" your Java code or creating .apk files, and has support for pulling in external Gradle packages as you would expect.
  • On .NET, you have full access to the framework library and third-party .dlls and libraries, and you can use NuGet packages to pull in code. You can target the full desktop .NET Framework, as well as .NET Core or Mono. And so on.

Language Extensions
As part of the Elements family, Mercury automatically inherits a lot of additional special features, including but not limited to:

  • Compiler based cross-project Obfuscation (no external obfuscation tool needed anymore).
  • Aspect Oriented Programming (generate code from aspects).
  • Duck Typing (convert types to other types that you normally could not).
  • Soft interfaces (lets you use a type that does not implement an interface, but has the correct functions to be used as that interface).