Use the Swift language for .NET, Java, Android, Cocoa, WebAssembly, Windows, Linux, and more. Share the non-UI code that matters while building native apps for each platform.
Swift, Beyond Apple Platforms
Silver is a free implementation of Apple's Swift programming language for the Elements toolchain.
Built on over ten years of solid compiler knowledge and technology, Silver lets you write Swift code directly against a wide range of development targets, from .NET to Java and Android to, of course, Cocoa.
That means you can keep Swift familiar, work natively with the APIs of each platform, and share a lot of non-UI code between targets when that makes sense.
The Platforms
With Elements, you can use the Swift language to target pretty much every current development platform, completely natively and with direct access to the respective APIs.
Windows, including .NET, Universal Windows apps, and native Win32.
Android, both regular Java-based Android SDK apps and Android NDK.
Mac, iOS, iPadOS, tvOS, and watchOS, using fully native Cocoa.
Linux, both natively and via Mono.
Web, server-side via ASP.NET or JSP, and browser-side with WebAssembly.
Java, for JVM projects and platform code that needs to live close to Java libraries.
You can see a full overview of Elements' platform coverage here.
Development Environments
Silver comes with great choices for your development environment, whether you prefer working on Mac, Windows, Visual Studio, or the command line.
Fire
Fire is our lean, powerful Mac IDE, and our favorite way to develop with Elements on macOS.
Read More
Water
Water brings the same lightweight development experience to Windows and lets you target all Elements platforms.
Read More
Visual Studio
Elements also integrates into Visual Studio, so you can use Swift next to Visual C# or Visual Basic.
Read More
EBuild
EBuild performs all build steps, from source code to .ipa or .apk, with one consistent build chain.
Read More
Swift for Different Workflows
Silver lets developers bring Swift into the environment and platform mix they already use.
For Windows Developers
Silver is a great way for developers on Windows to start exploring Swift. Work in Water or Visual Studio, create projects for the platforms of your choice, and mix Swift with existing C# or Java code.
You can also convert C#, Java, and Objective-C code to Swift with Oxidizer and reuse it in your projects.
Read More
For Apple Developers
Even if you are committed to Apple's toolchain, Silver gives you a fast compiler, understandable diagnostics, and native Cocoa output from a compiler foundation that has been tested for years.
It also lets you share Swift code with other platforms, such as an Android port you have been meaning to build.
Read More
For Android Developers
Silver lets Android developers write apps with the same classes and APIs they already know, with full access to the Java and Android SDKs, additional .jar and .aar libraries, and Gradle packages.
You can mix existing Java code into the same project or convert it to Swift semi-automatically with Oxidizer.
Read More
Silver in Action
Work with Swift in Water, Fire, Visual Studio, and across platform targets.
Ecosystem
Silver, like all Elements languages, comes with an extensive toolchain that covers the full development process: IDEs, the compiler, build tasks, project system, deployment, and support libraries.
It also integrates deeply with the existing ecosystem for whatever platforms you target. On Mac and iOS, you have full access to Cocoa APIs, .xib files, storyboards, and asset catalogs. On Android and Java, Silver uses the platform tools for dexing Java code, creating .apk files, and pulling in external Gradle packages. On .NET, you can use the framework libraries, third-party assemblies, NuGet packages, desktop .NET, .NET Core, Mono, WinForms, WPF, and Universal Windows Projects.
Silver is Absolutely Free to Use
The free Community License lets you use stable builds of Silver for all platforms and for any purpose, including commercial projects, at absolutely no charge.
The Community License version is provided as-is and unsupported except for peer-to-peer help on Talk.
If you would like to help support Silver and the broader Elements ecosystem, consider purchasing a paid license for the full Elements package. A paid license includes official support, access to weekly preview builds, and the good feeling of helping fund Silver's future.
Check out RemObjects C#, Iodine (Java) or Oxygene!