“It’s currently used in 15,000 apps, including many of the top 200 App Store apps,” Barreto says, adding that the community around Eureka offers various plugins to customize how users enter information.
Quick is a behavior-driven development framework for both Swift and Objective-C. Nimble is a matcher framework for the same two languages. Both are developed and maintained by Jeff Hui.
“I developed Nimble to help write tests in the style I preferred—behavior-driven development—as opposed to a JUnit-style of testing,” says Hui. “Also, it was a great way to learn the nuance of Swift’s generics system when Swift was first announced.”
Both Quick and Nimble are stable at this stage, says Hui, a senior software engineer at Mayvenn. But more documentation is needed.
“It was only a matter of time [before tools started emerging for Swift],” he says. “Like any programming language that is popular, there will be tools built to make it easier for developers to use it.”
Also riding the Swift wave is SwiftyJSON, for dealing with JSON data in the language.
“Swift is very strict about types. But although explicit typing is good for saving us from mistakes, it becomes painful when dealing with JSON and other areas that are, by nature, implicit about types,” the SwiftyJSON GitHub repo states. SwiftyJSON looks to provide a better way for Swift to work with JSON, handling functions such as optional wrapping.
TypeLift, meanwhile, is developing a number of Swift tools. SwiftCheck is a testing library for generating random data to test program properties; it is also called QuickCheck for Swift. And TypeLift’s Swiftz is a library for functional programming in Swift. It defines functional data structures, functions, idioms, and extensions to augment the Swift standard library.
“Swift is Apple’s attempt to take Bjarne Stroustrup literally when he spoke of a ‘smaller, cleaner language struggling to get out [of C++],’” says Robert Widman, co-founder of TypeLift and author of SwiftCheck. Swift was the product of a meticulous design process by experts, says Widman, adding that the language’s open, inclusive community has prompted developers to write tools and frameworks for it.
Sign up for Computerworld eNewsletters.