Objective-C for Swift Developers

Current and future iOS Developers, you’re in quite a spot these days. Swift is here, Swift 3.0 is coming, but there is still so much out there written in Objective-C. More and more companies are moving TO Swift as their main programming language, but those same companies have a LOT of legacy Objective-C code that has to be dealt with. Interoperability, to put it mildly, is a big deal. The true champions in this space will be those developers who know and understand both Objective-C and Swift, and who can—perhaps most importantly—rewrite from the former to the latter. Will this be you?

Objective-C for Swift Developers

If you’re currently facing this challenging development landscape, but aren’t sure how to proceed, then perhaps you’re thinking, wouldn’t it be great if there was a simple, straightforward solution? Well, actually, there is. It’s called “Objective-C for Swift Developers,” and it’s a new course we’ve just launched here at Udacity!

As the course title suggests, this course is all about helping current and future Swift developers learn to compare the two languages and work between them. Course instructor Gabrielle Miller-Messner has a very clear-eyed sense of who can benefit from this course, and what students will experience when they take the course:

When students enter this course, they have a basic understanding of object-oriented programming, as well as a familiarity with iOS development in Swift—but they may not know much about Objective-C. After they complete this course, they are fully prepared to enter an iOS community in which the majority of people writing code are writing in Swift, but the majority of existing code is written in Objective-C.

Woven into this vision is the premise that—as iOS Developers in Swift—you already know at least half of what you need to know to be an iOS Developer in Objective-C.  The goal of this course is to fill in that other half, so that you emerge fully equipped to manage virtually all of the most common interoperability challenges that exist between these two programming languages.

We especially want to support your career objectives. The course is designed to prepare you for the kinds of questions about Objective-C that you’re likely to face in an interview, and the projects you’ll work on will afford you critical experience deciphering an unfamiliar Objective-C codebase, which is something you are almost certain to encounter in your first job as an iOS developer. (As you’ll see when you enroll in the course, the interview theme is a delightfully pervasive one throughout!)

Lyft and Venmo: Our Subject-Matter Experts

To help bring the course to life, and to ensure maximum value for our students, we worked with a number of wonderful subject-matter-experts on the curriculum, including Keith Smiley, iOS Engineer at Lyft. As reported by FastCompany, Lyft recently “decided to redo its entire application in Swift,” making it one of the largest apps to undertake the transformation. Having just been through this experience, Keith’s contributions to the course are incredibly valuable, and if you had any doubt about whether or not to take this course, consider this as but one example of Keith’s very informed opinions:

“The benefits of rewriting our app in Swift were pretty massive…I don’t really miss anything about Objective-C…once you really work on an all-Swift app like ours…it’s really freeing…”

In addition to Keith, we worked with Dasmer Singh, Strategy & Business Operations, Venmo (and also an iOS engineer). Venmo’s app—described by Forbes as “the crown jewel of all finance apps”—was also recently rewritten from Objective-C to Swift, and the video interview in which Dasmer details the weeks leading up to the decision to rewrite are a goldmine of insights, particularly for the importance Dasmer places on knowing Objective-C (even as he’s extolling the virtues of Swift).

Supporting our iOS students means learning from our iOS students

We have two Nanodegree programs exclusively devoted to programming with Swift—our Beginning iOS App Development Nanodegree program, and the iOS Developer Nanodegree program—and from the moment these programs launched, we’ve watched with amazement at the things our students have accomplished. Here, for example, is just a recent sampling of Nanodegree program projects that our students have successfully submitted to the Apple App Store:

PuzzPic
By Muath Othman

Text Shade
By Mehmet Akif Acar

Space-Explorer
By Marius Horga

Ben Wong Pho Shizzle – Vietnamese Pho Restaurant Rating Aggregator
By Ben Wong

Manga Explorer
By Sanjib Bashir Ahmad

(Sanjib recently wrote a wonderful post for the Udacity blog detailing his path to success, which you can read here)

We’re so inspired by student success, and we’re also very motivated by student feedback. “Objective-C for Swift Developers” is the direct result of our students helping us to understand that there was a real need for this course. That’s why we’re especially excited to announce the launch! Ultimately, this course is a resource for you, and we truly hope you enjoy it, learn from it, and perhaps most of all, we hope that it makes a significant contribution to your success as a Swift developer! As Fernando, one of our resident iOS instructors likes to say, Code Long and Prosper!