If you haven’t heard, Apple unveiled a brand new programming language exclusively for Apple developers this week at WWDC. The new language is called Swift and is designed to streamline the development of iOS and Mac OS apps. While any Apple-backed programming language is an exciting prospect, Swift definitely has the potential to shake up the Apple app ecosystem in ways that are both good and bad for the developer community.
Swift is meant to be a high-level coding language that combines the power of Objective-C with the relative flexibility of scripting languages like Python and Node.js. For devs, Swift offers automatic memory management, a “playground” feature for easy debugging, and simplified syntax which is both easier to learn and less susceptible to errors.
Without a doubt, Swift was intended by Apple to speed up the app development process. By moving away from the hard-to-learn, bug-prone, and time-consuming confines of Objective-C, developers can develop high-performing, functional apps faster and easier. Moving away from the clunkiness of Objective-C will also help consumers see a big difference in terms of app speed and graphics rendering. Swift will also open Apple’s app market up to a flood of more cheaply developed apps which will be beneficial to consumers and developers.
While some devs are wary of a new programming language until it has been extensively tested, Swift has the added bonus of being an Apple product. Apple isn’t known for releasing unfinished products (besides the Maps fiasco of 2012), so developers can count on a reliable product and very strong support from the Apple Developer team. If the Swift experience goes well, devs should expect most of the Apple development environment to be switched over from Objective-C to Swift.
The main shock from the introduction of Swift will be felt by current, high-level iOS developers. Objective-C was a difficult and time-consuming language to learn, and there was only a small community of developers with the right expertise to develop high-level iOS apps.
Now that Swift has been introduced, more developers will be able to create high-level apps and distribute them for a lower cost. With so many more devs entering the field, old iOS developers will begin to see an increase in competition, both in the App Store and in the job market.
Another drawback to Swift is its continued reliance on big chunks of Objective-C. Since all of the old apps, tool suites, and code libraries are written in Objective-C, Swift has to work closely with the existing Objective-C development environment and frameworks (Cocoa and Cocoa Touch). Ideally, Swift and Objective-C will work seamlessly side-by-side. But, if there are any interoperability issues, only developers with Objective-C knowledge will be able to tinker around to fix the bugs in their apps.
Most likely, Apple’s hope is that Swift will catch on with developers quickly, and they will begin to switch over all of their existing environments from Swift to Objective-C. Until this is done, however, devs should be prepared for a few bugs and compatibility issues, though hopefully exposure to both will be limited.