sommai - Fotolia
Channel companies active in mobile development have begun to explore Swift, Apple's programming language for iOS and OS X.
Apple announced Swift in June at its annual Worldwide Developers Conference. The language marks a departure from Apple's past focus on Objective-C, the key language for iOS and OS X applications. The new Swift language takes a page from easier-to-use scripting languages, which could open native mobile app creation to a wider range of developers.
Compared with Objective-C, Swift offers a simpler syntax, characteristic of more modern languages. Apple described Swift as providing "modern features" that make coding easier, noting that the language is "friendly to new programmers." The new coterie of programmers is expected to accelerate the pace of app creation in the Apple environment.
In early September, Apple said Swift version 1.0 for iOS had reach Gold Master (GM) status, the company's seal of approval that the software is ready to use for creating customer apps. Developers may now submit their Swift apps to the company's App Store. Swift for OS X has yet to reach its GM date, but Apple said the language for OS X will become GM later this fall when OS X Yosemite ships. Swift for OS X requires the OS X Yosemite software developer kit.
Tim HoechstCTO at Agilex
Solutions providers' first steps with using Apple's Swift have ranged from building in-house apps to encouraging developers to experiment with the language. Swift's ultimate impact remains to be seen, and opinions differ on the language's significance. But Apple's offering seems to be on track with broader trends in application development.
"We are seeing a shift in application development, in general, to these higher-level languages that are focused a little bit more on application assembly, rather than low-level coding," said Tim Hoechst, CTO at Agilex, a Chantilly, Va., federal solutions provider with a focus on enterprise mobility. "Swift feels like a big step in that direction for writing real software, not just the user interface."
"Swift is built to be more accessible, easier to learn and easier to program than Objective-C," added Dave Messinger, chief community officer at Appirio Inc., a cloud consulting firm based in San Francisco. "It takes all the modern language features and benefits and brings it to iPhone, iPad [and] Mac development. I think it is really exciting to open it up to a wide range of developers, which presents greater opportunity across the board."
Agilex, a member of Apple's Consultants Network, builds mobile solutions for customers, pursuing such areas as field inspection, emergency response management and healthcare. Apple's Swift has started to play a role in that latter market segment. Visu Patlolla, application architect at Agilex, said the company is using Swift as it develops prototypes for its government healthcare customers with Apple's HealthKit APIs.
According to Apple, HealthKit lets health applications share data with Apple's recently released Health app and also permits sharing among different health applications. Apple's Health app provides a dashboard that displays a user's health and fitness data. The Health app was announced in June along with iOS 8. While iOS 8 became available Sept. 17, Apple has delayed the release of HealthKit. A beta version, however, is available.
In another nod toward Swift, Hoechst pointed to an internal app that Agilex developed largely on the language. The app interacts with iBeacons, low-energy Bluetooth devices. Feedback from developers indicates that Swift is stable and fast, allowing app creators to get more work done with each keystroke, Hoechst added.
"That kind of increase in productivity to simply get to a working result ... will help a lot in native app development," he said.
Other channel partners have also embraced Swift. Appirio Inc. is working to get its Topcoder developer community engaged with Apple's programming language. Appirio's Topcoder crowdsourcing development platform connects businesses with a worldwide pool of designers, developers and data scientists. Appirio seeks to migrate developers using other mobile development environments to Swift, which the company believes will have an important impact on the speed and agility of its community.
"We want our community to have the best opportunity to build real-world apps and expand their own skill sets," Messinger said.
In August, Appirio announced GetSwifter, a series of challenges in which Topcoder members will compete for more than $500,000 in prizes. Messinger said Apple is making a big push into the enterprise. The challenges, he added, will provide developer incentives while creating an app-building resource for customers investing in applications within the Apple ecosystem.
"It's a great way to reward our community and build up some Swift muscles that our clients can tap into in the future," Messinger said.
Appirio's entry-level Learn Swift challenge encourages developers to complete a random challenge and submit it for review.
"They are 'get-your-feet-wet' type challenges where people can get some experience and some feedback," Messinger said.
With the next step up -- the Fun Challenges category -- developers create small apps for cash and prizes.
Developers in the Real World Challenges category build apps for customers who review the entries and select the winners. In one such challenge, developers are competing to build a venue/event check-in app for Brivo Labs, a software-as-a-service company that specializes in the Internet of Things. The winner receives $1,000 while the second place winner will receive $250.
Sponsors of the Swift challenges include Brivo, BMC Software Inc., Booz Allen & Hamilton Inc., Harman International Industries, HP and NTT Innovation Institute Inc. The Topcoder crowdsourcing community has grown its Swift-experienced developers to more than 3,500 since the launch of the GetSwifter Challenge Series, according to Appirio.
Messinger, who called Swift "a much more approachable language" compared with Objective-C, said Topcoder developers are now adopting Swift. Appirio tracks the language its developers use and found that people with no previous background in Objective-C or C++ are jumping into Swift, according to Messinger.
But Swift's cooperation with Objective-C also presents an attractive feature, industry executives have noted. Developers accustomed to working in Objective-C can introduce Swift code within the same program. Messinger said developers can't call C++ from Swift, but could wrapper a C++ class with Objective-C and then call it from Swift.
"One other important thing that [Apple] did was to make Swift and Objective-C work together at the same time," Hoechst said. "It's going to enhance the adoption of the platform."
Hoechst also cited Swift's real-time features as a plus. Traditionally, a developer would write a program, compile it and then test the program to see if it works, he said. Swift, however, allows developers to see the results of their code as they create it.
"This is incredibly useful for developers who are designing algorithms. … [They] can get instant feedback on the correctness and efficiency of their code before deploying it in a real application," Hoechst said.
In one example of Swift's real-time features, the language provides "playgrounds" in which developers can experiment with code before moving it to a project.
"The real-time nature of Swift Playgrounds is nearly unparalleled for programming languages," Hoechst explained.
He said previous real-time simulators, such as the Groovy Console, still required a compilation phase before executing the code. Groovy is a dynamic language built on top of Java.
Hoechst said developers will be watching how Swift scales and performs, but said the language has done well so far.
"We just have to see over time how widely adopted it gets," he said.
Sumner said he believes that cross-platform, hybrid apps are good enough for the vast majority of use cases. He said Apple's Swift could make a bigger splash in app categories such as video games.
"Because of the performance requirement, there is a far more compelling case to be made for writing native code," Sumner said.
Learn about the latest features in Swift 3.0