The Hack Reactor curriculum teaches specific skills, but more than that, it teaches the Computer Science fundamentals that allow our Software Engineers to learn new technologies as the need arises. Nowhere is this ability to adopt new skills better illustrated than in recent student projects built using Swift, Apple’s three month-old language, which is still in beta.
Swift is more fully-formed than most new languages, yet it has many of the same difficulties that challenge early adopters, namely a relative lack of documentation. That did not deter two student projects, which were built entirely in Swift.
“We taught ourselves,” says Roger Goldfinger, Lead Engineer on one of the projects. “The experience was great. We all knew exactly what we had to do to learn. Hack Reactor taught us how to approach this problem of using a totally new environment, unsupported.”
Goldfinger’s project, built with Larry May, and Neil Lobo, uses location and train schedule data to tell the user how much time they have to make their train. The app, titled Should I Run, was inspired by a near-universal experience.
“I was walking to the BART [the Bay Area’s train system] one day and got there just in time to see the train go by,” Goldfinger explains, “and I thought if I had just gone a little bit faster I could have made it.”
Should I Run uses Swift in concert with the APIs of Google Directions, Apple Maps Directions, BART and MUNI (a within-San Francisco mass transit system).
“Everything is in beta and the language is evolving,” May explains. “We spent a lot of time reading different resources.”
The group ended up learning a lot of Objective C as well, because one can translate Objective C documentation to make use of Swift.
“Swift is much nicer to read than Objective C,” Lobo notes.
The other recent student project built in Swift is the mobile version of a client project called campaignCents, built entirely by Jasen Lew. Commissioned by the International Forum on Globalization and MoveOn, the project tracks money donated to political campaigns by David and Charles Koch.
Like the others, Lew first had to get a handle on Swift before the project could take shape.
“Within Swift, all your development occurs in Xcode, which is pretty complex,” Lew explains, referring to the integrated development environment (IDE) that Swift requires. “I had to step back and get comfortable with the developer environment first, and then I started working on Swift, and then I started working on the application.”
Once he got into it, Lew found that Swift is logically built.
“It’s thought out,” says Lew. “I think it’s going to catch on.”
While Lew plans to keep working in Swift, the greater lesson is what one is able to do with a strong base of fundamentals:
“Going through the challenge of picking up a new developer environment, a new language, and produce something in a month, validated that Hack Reactor is amazing and instilled in me the self confidence that if I can do that in a Swift, I can do that in any language.”
Both apps have to wait for Swift to come out of beta before they are released.