In addition to providing several options for creating servers (link), RemObjects SDK also provides a rich range of client systems and devices that you can target to write applications that communicate with these servers. It does so in fundamental ways:
First, RemObjects SDK comes in distinct editions for three major development platforms, each of them covering several target operating systems or devices. Every edition is designed from the ground up to fit the paradigms of the development platform it targets, but they are also implemented to be fully wire compatible, meaning that /any/ client can communicate with a RemObjects SDK server, regardless what development tool it was written for, or what type of device it is running on.
Secondly, and as somewhat of a fallback option, RemObjects SDK servers support open standards such as SOAP Web Services or the more lightweight XML-PRC and JSON messaging protocols, that allow them to be reached by clients not implemented using RemObjects SDK. So whether you need a client application for a platform not supported by RO yet, or simply want to allow third parties to write their own clients to talk to your servers without having to license RemObjects SDK, your servers are still open and accessible.
RemObjects SDK for
.NET
RemObjects SDK for .NET is a fully managed implementation of the RemObjects SDK framework. While the most common use of the .NET edition is creating rich UI clients for Windows operating system, it offers many other possibilities as well.
RO/.NET is fully supported and regularly tested on Mono, the open source implementation of the .NET runtime. Through Mono RemObjects SDK applications can be written to run on Linux, Mac OS X and several other more exotic platforms supported by Mono. In many cases, this can be done with a lot of code reuse, allowing developers to target Windows/.NET, and then leverage Mono to reach other platforms, with little or no extra effort.
RemObjects SDK for .NET also allows the creating of clients for embedded devices running Windows CE or mobile phones and devices powered by Windows Mobile, through the use of the .NET Compact Framework, a subset of the full .NET Framework. Like Mono, the CF is explicitly supported and tested for.
Also supported is the creating of rich browser plugins with Silverlight, as discussed further below.
RemObjects SDK for Delphi
The oldest and most mature edition, RemObjects SDK for Delphi allows
developers
using CodeGear’s Delphi development environment to write native Windows clients
using the rich component library and infrastructure provided by Delphi. Like it’s
sister editions, RO/Delphi is written from the ground up to fit into its environment,
in this case the VCL and Object Pascal Language.
The Delphi Edition also supports creating applications for Linux and 64-bit Windows using Free Pascal, the open source Delphi-compatible Object Pascal compiler. Once again, this allows developers to target two platforms, Windows and Linux, with a shared code base written in their favorite development tool.
RemObjects SDK
for OS X
The newest edition to the family, RO/OSX is a native implementation of the RemObjects SDK client infrastructure using Objective-C and the OS X Foundation framework that allows developers to integrate RemObjects SDK client functionality into their Mac and iPhone applications.
Like the other two editions, RemObjects SDK for OS X follows the paradigms of its target platform. The API follows Objective-C language and Cocoa framework conventions, while at the same time maintaining familiarity for developers experienced with one of the other editions of the SDK.
A single-source library drives both the Mac desktop implementation as well as the code running on iPhone and iPhone Touch mobile devices, allowing developers to share their non-UI client code between the two variations of the OS X platform as well.
RemObjects SDK in Web Applications
The different editions of RemObjects SDK discussed above also provide
extensive
options for accessing server functionality from web applications, be it inside the
browser or on the back-end web server.
As hinted at above, RemObjects SDK for .NET supports the creation of browser applications using Silverlight. Silverlight provides a rich, flash-like client UI that can run in browsers on Windows, Mac OS X and (through Moonlight, an open source implementation of Silverlight by the Mono team) Linux.
Silverlight is a small subset of the full .NET Framework as it runs on desktop computers, but RO/.NET encapsulates those differences and allows the same communication paradigms from the desktop applications to be used in Silverlight clients.
In addition, all RemObjects SDK servers can provide communication through XML-RPC and JSON messaging, two message protocols that are easily accessible from scripting languages such as JavaScript or PHP that are commonly used top drive websites. RO allows developers to automatically generate interface code that makes it easy to make calls to servers from either JavaScript (commonly running on the client, inside the browser) using JSON or from PHP (commonly running on the web, server generating web pages to be sent to the client) using XML-RPC.
...and Any Other Platform You Like
The four sections above cover the different options for creating clients that pare provided “out of the box” by RemObjects SDK – but it doe snot end there. No matter how thorough our coverage of different platforms and devices is (and we are continuously investigating new platform options, such as with the newly added edition for OS X), there will always be more options out there.
That is why RemObjects SDK servers, in addition to our own and preferred high-performance communication options, all support open standards such as SOAP Web Services. Using SOAP, your RemObjects SDK servers are accessible from virtually any platform and device out there.
Whether your platform is simply not supported by RO yet, or third parties are writing code to access your servers and you do not want to require them to use RO, these clients can still communicate with your servers. There might be certain downsides to using SOAP instead of writing clients using a supported edition of RemObjects SDK - such as slower performance and less flexibility, but what counts is that the communication can be made in the first place.
And because RemObjects SDK servers support what we call Smart Services (link), they can be made fully accessible by SOAP, without having to give up the benefits of RemObjects SDK’s own communication channels, when the client is written using RO.