Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Stop the funeral! Objective-C is alive and kicking

Paul Krill | Aug. 12, 2015
Objective-C may no longer be the stylish language choice for Apple iOS and Mac OS development -- that mantle is being assumed by Swift, introduced in mid-2014. But proponents of Objective-C don't expect it to go away quietly anytime soon.

Ritchie says he sees the "volatility" of Swift as still an issue. Some developers will not adopt until they are confident the language will not change each release of the Xcode IDE. He also sees iOS 7 support as an issue. Swift runs on iOS 7, but "there's no dynamic library support, so third-party Swift libraries are more difficult to incorporate."

Swift was explicitly designed to operate with Objective-C, indicating Apple's expectation of a lengthy transition period, Ritchie adds. "At a guess, I'd expect deprecation to be at least four to five years away, although we may see new Swift-only frameworks from Apple sooner than that, pending stabilization of the Swift API."

Apps, frameworks still rely on Objective-C

An Objective-C instructor with Code School notes the many apps built with the language. "I think Objective-C is still going to have a great future," says Jon Friskics, an iOS developer. "I don't see it going away. There's just so many apps that are built [with Objective-C]." Friskics sees Objective-C going strong for at least the next three to five years.

Allen adds, "You still need to understand Objective-C to do complex Swift apps -- Mac and iOS APIs are still largely optimized for Objective-C. Eventually these APIs may become deprecated and replaced with Swift-centric ones. But that will take some time."

Swift, Allen says, "is still somewhat of a Frankenstein beast -- it is a next-generation language, but has to support the previous generation of APIs, so [it] has many constructs that are not as modern as the language. Maybe there will be a point where there's a Swift version X that sweeps out all the old stuff, but more likely there will someday be a new language that is a successor to Swift without the legacy."

Hillegass cites Apple framework dependence on Objective-C. "The frameworks that Apple has built everything on top of are all written in Objective-C." These frameworks include Cocoa, CocoaTouch, AppKit, UIKit, and others. Meanwhile, features such as generics from Swift are being added to Objective-C, he says.

Ritchie sees Swift as the choice for newcomers. "Swift is most popular among developers new to the platform who aren't already invested in Objective-C, although most developers I speak to are comfortable with -- or at the very least resigned to -- eventually moving to Swift," he says. "However, this seems to have less to do with the safety improvements and more either the syntax or acknowledgement that it's 'the future' and they don't want to get left behind."


Previous Page  1  2 

Sign up for CIO Asia eNewsletters.