Jump to content

RemObjects Software

From Alfawiki
RemObjects Software
Company typePrivate
IndustrySoftware development
Founded2002
FounderAlessandro Federici, Marc Hoffman
Headquarters
United States
ProductsElements, Oxygene, RemObjects C#, Silver, Iodine, Gold, Mercury, Fire IDE, Water IDE, Data Abstract, Remoting SDK, Hydra, Oxfuscator, Oxidizer
Websitewww.remobjects.com

RemObjects Software is a US-based software firm established in 2002 by Alessandro Federici and Marc Hoffman. It specializes in creating development tools and libraries for programmers working across various platforms such as Embarcadero Delphi, Microsoft .NET, Mono, and Apple's Xcode environment.

History

RemObjects was founded in 2002, launching its inaugural product, RemObjects SDK 1.0 for Delphi, a remoting solution now available in its sixth iteration. The following year, the company grew its portfolio with Data Abstract for Delphi, a multi-tier database framework built atop the SDK.

In 2004, Carlo Kok joined the team as Chief Compiler Architect, contributing the open source Pascal Script library and kickstarting development of Oxygene (originally called Chrome). That same year, RemObjects SDK was extended to .NET, broadening the remoting framework’s platform support.

The first version of Chrome was released in 2005, compatible with .NET 1.1 and early .NET 2.0, marking it as the pioneering language to implement features such as generics on .NET. Data Abstract also expanded that year to include a .NET version developed using Oxygene.

Hydra 3.0 appeared in 2006, emphasizing interoperability between .NET and Delphi/Win32 codebases and facilitating projects combining managed and unmanaged code.

In 2007, Chrome 'Joyride' introduced support for .NET versions 3.0 and 3.5, delivering early comprehensive support for LINQ capabilities.

By 2008, Chrome was renamed Oxygene with its 3.0 release, incorporating enhancements like concurrency support. RemObjects collaborated with Embarcadero Technologies to launch Oxygene under the Delphi Prism brand (later known as Embarcadero Prism) starting in December 2008.

In 2009, RemObjects broadened Data Abstract and RemObjects SDK compatibility to include Xcode and Cocoa platforms for Mac OS X and iPhone application development.

Support for the Java platform was added to Oxygene in 2011.

The year 2014 saw RemObjects releasing a C# compiler as a Visual Studio extension capable of targeting iOS, macOS (Cocoa), Android, and .NET platforms. Additionally, Fire IDE for macOS debuted that year with support for both C# and Oxygene compilers.

These compilers were consolidated under the umbrella of the Elements Compiler, with the C# compiler internally named "Hydrogene."

In 2015, RemObjects unveiled Silver, a Swift compiler within Elements supporting Android, JVM, .NET, and native Cocoa targets while adding features such as exception handling beyond those found in Apple's Swift implementation.

Go language functionality was introduced in 2020 via RemObjects Gold, allowing Go code compilation across Elements-supported platforms alongside a Go Base Library accessible from all Elements languages.

In 2021, Mercury became the sixth language integrated into Elements to facilitate legacy Visual Basic .NET projects and new cross-platform development.

Commercial products

  • Elements is a versatile development suite targeting platforms including .NET, Java/Android virtual machines, Apple operating systems (macOS, iOS, tvOS), WebAssembly, as well as native Windows/Linux/Android NDK processor-specific code. It provides a runtime library that manages automatic garbage collection on non-ARC environments and supports ARC on ARC-enabled systems like iOS and macOS. Elements enables seamless interoperability among Java, C#, Swift, and Oxygene APIs.
    • Oxygene, derived from Object Pascal, integrates APIs from Java, C#, and Swift related to the target OS runtime;
    • RemObjects C#, an implementation of C# that imports APIs from Java, Swift, and Oxygene; positioned as an alternative to Xamarin by targeting JVM bytecode rather than relying on Xamarin’s CLR and Mono;
    • Silver, a complimentary Swift implementation incorporating Java, C#, and Oxygene APIs;
    • Iodine, implementing Java language support;
    • Gold, providing Go language implementation;
    • Mercury, an implementation of Visual Basic .NET;
    • Fire, a macOS-based integrated development environment (IDE);
    • Water, an IDE designed for Windows.
  • Data Abstract
  • Remoting SDK (RemObjects SDK)
  • Hydra
  • Oxfuscator
  • Oxidizer, an automated translator converting Java, C#, Objective-C, and Delphi code into Oxygene; transforming Java, Objective-C, and C# into Swift; as well as converting Java and Objective-C into C#.

Open source projects

  • Train serves as an open-source JavaScript utility designed to create and execute automation scripts.
  • Internet Pack for .NET is a complimentary, open-source framework that facilitates the development of network clients and servers utilizing TCP and advanced protocols such as HTTP and FTP on both .NET and Mono platforms. It provides pre-built protocol implementations alongside foundational classes for tailored development.
  • RemObjects Script for .NET delivers a fully managed ECMAScript engine compatible with .NET and Mono environments.
  • Pascal Script for Delphi represents a popular implementation of the Pascal scripting language.

Involvement of other projects

The Oxygene Compiler
Built on Object Pascal, Oxygene targets the Microsoft .NET and Mono runtimes. It enhances Object Pascal by incorporating features such as Aspect Oriented Programming, Class Contracts, and support for Parallelism, while seamlessly integrating with IDEs like Visual Studio and MonoDevelop.