Swift Gains as iOS and macOS Language, While Objective-C Declines
If you’re interested in building apps for iOS and macOS, and haven’t yet jumped aboard the Swift bandwagon, now is perhaps the time: Dice’s database shows that demand for jobs focused on Objective-C, Swift’s predecessor language, has dropped rapidly over the past year, even as Swift-related jobs have stayed roughly even. Over the past twelve months, demand for jobs that deal with iOS has also remained level, suggesting that companies are still on the hunt for experts who can build all kinds of iOS apps. That’s unsurprising, considering the enduring popularity of Apple’s mobile ecosystem. Swift is up to version 4.1, which officially launched alongside iOS 11. Version 4.x is backward compatible with Swift 3.2, allowing developers to update their apps’ modules. Apple also introduced or tweaked other features such as serialization, key-value coding, and multi-line string laterals (raywenderlich.com offers an extensive breakdown of what’s on offer in the release). A major element in Swift’s evolution, Application Binary Interface (ABI) stability, isn’t coming until later in 2018 with the release of Swift 5. (Check out the Swift ABI Stability Manifesto on GitHub if you want to know why it hasn’t yet been introduced.) Although it’s a relatively new language, Swift has seen its popularity swiftly (ha-ha) rise in the three and a half years since its release. In HackerRank’s 2018 Developer Skills Report, developers’ interest in Swift increased as they aged, suggesting that a large number of experienced tech pros are attempting to adapt to new programming paradigms. If you’re totally new to coding, and want to learn Swift, there’s perhaps no better method than Swift Playgrounds, an iPad app for learning the language. New code in the iOS 11.3 beta 2 release suggests that Apple will soon introduce subscription programs and testing modules with Playgrounds’ next version. Although Playgrounds might seem a little bit too elementary for adults, it’s also a good way for relative neophytes to learn basic concepts.