RemObjects Go (Gold)
RemObjects Go brings the Go language to the Elements platforms.
For .NET and the Island-backed platforms (except WebAssembly), a complete port of the Go runtime and Go Base Library is provided as well, so that any standard Go code should compile and be usable out of the box. Functionality privided by this Go Base Library is also be optionally available to the other four Elements languages on these platforms.
The goal for RemObjects Go is not to provide a full app development solution for all the platforms, as the Go language has many (purposeful) limitations that we would have to accommodate for with Language Extensions, which we do not want to do at this stage. For example, Go does not even have support for classes, which are crucial for most GUI frameworks.
The intended use for Go is mainly to allow to bring in existing libraries to use in applications (in particular on the Island-backed native platforms, where the OS-native APIs are often limited and low-level), and/or to allow simple Go-language code to be compiled as part of a larger project in one of the other languages.
That said, within the capabilities of the Go language, Go code build with Elements has full access to all the capabilities of the respective platforms – e.g. full access to the .NET or .NET Core framework library when building for .NET, or the Cocoa APIs when building for iOS or macOS.
In addition to simply adding
.go source files directly to your project, Go Import can be used to import whole existing Go packages (and their dependencies) so they can be added to your project as Project References or Remote Project References.
- Learn Go (External Links to Go Tutorials not specific to Elements)
- Language Extensions in RemObjects Go
- Work with Go in Fire or Water on Mac and Windows
- Work with Go in Visual Studio on Windows
- The Platforms — .NET, Cocoa, Android, Java, Windows, Linux and WebAssembly
- Elements RTL — An optional cross-platform base library
- EUnit — A cross-platform unit testing framework
- RemObjects Go Home Page
- Get set up with Fire on Mac
- Get set up with Water on Windows
- Get set up with Visual Studio on Windows
- Go Discussion Forum on Talk