Apple Swift follows familiar path to .Net and Android

Silver lets developers use a common language across multiple platforms, but it is not a cross-platform technology

swift logo

Swift, Apple's new language for iOS and OS X application development, will be extended to the Microsoft .Net and Google Android platforms via a free third-party implementation called Silver.

Built by RemObjects Software, Silver enables developers to write code directly against .Net, Java, Android, and APIs, the Silver Web page says. Silver, which moved a general beta stage a couple weeks ago, serves as a native compiler for its supported platforms, and non-UI code can be shared between platforms.

"There are really two main benefits [to Swift] I see," says RemObjects Chief Architect Marc Hoffman in an email. "One is that by using a common language across platforms, you can share a lot of back-end and 'business logic'-type code between apps, even when decidedly writing separate apps. Moreso, I think there's a great benefit in being able to use the same language -- and the same work environment -- for all of your work. It means you can hone one skill set and apply it when working on iOS/Mac, Android/Java, and .Net."

With Silver, RemObjects is following a similar path to Xamarin, which put C# on Apple iOS and Android, says analyst Jeffrey Hammond, of Forrester Research, in an email. "Success will be very much based on how much of the Swift specs are available for them from Apple -- it's hard to create a compiler without a standard spec to work against -- like ECMA-334 for C#. The second issue is the number of devs, and although we're seeing some traction for Swift, we see a lot of devs still mixing in Objective-C because of things Swift lacks on iOS." Hammond also notes that like Xamarin, It may take RemObjects a number of years to gain traction with Silver.

Silver is "decidedly not cross-platform," the technology's website emphasizes. "What we mean by that is that Silver doesn't encourage you to -- or let you -- just go and choose File > New Cross-Platform Project, and then you build one app, with one GUI, and that app then magically runs everywhere," Hoffman explains. "There are plenty of tools that support or even encourage those kinds of apps, and in our opinion they produce very bad results -- and I believe most of the well-respected iOS and Android developers will agree with us on that."

Good applications need to embrace individual platforms they run on, Hoffman said. "For example, iOS users will expect their apps to play well with iCloud, maybe use the Document Picker, leverage Push Notifications, HealthKit, or maybe Apple Pay. All of these are services that are very specific to iOS."

Silver can integrate with Microsoft's Visual Studio 2013 and 2015 IDEs. For Mac developers, it's featured with the Fire IDE, which leverages RemObjects' Elements compiler. Silver offers some language extensions to Swift, such as exception handling, which intended to make it a better fit on different platforms. RemObjects also cites some differences and limitations, such as in Array and Dictionary types, which are classes and not structs.

To comment on this article and other InfoWorld content, visit InfoWorld's LinkedIn page, Facebook page and Twitter stream.
From CIO: 8 Free Online Courses to Grow Your Tech Skills
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.