Over at Ludisto, we’ve been using Apple’s new programming language Swift for our latest mobile game. We started back in July while Xcode 6 was still in beta, and the language has evolved and improved a lot over that time period. Most of the time, the experience is fantastic! Other times, well…
The upside is, you know the issue was caused by your most recent code change(s). Tracking it down usually isn’t too hard, but figuring out a workaround can be annoying. Most of the major issues were hammered out during Xcode 6’s beta phase, but you do still run into problems from time to time. Some form of continuous integration (i.e. automated builds) would likely be pretty useful for catching issues early. For example, right now, we’re dealing with an issue where our project won’t Archive, which is needed to build the app for the app store; that would’ve gotten caught much earlier if we had an automated build system checking things nightly.
For anyone with any reasonable amount of programming experience, Swift is super easy to learn. Apple’s book The Swift Programming Language covers it really well, and is a good reference manual. The catch here is that you won’t learn any of Apple’s APIs from that book, so jumping into actually writing an app in Swift is probably a lot easier if you’ve used Objective-C in the past. As someone who had no prior experience with native iOS development, I struggled a little, but it was absolutely manageable. Adobe Flash was über easy to get started with back in the day; SpriteKit is even easier. Apple’s Swift resources page gives a lot of useful links. For a really good tutorial project to get started with SpriteKit, I highly recommend How to Make a Game Like Candy Crush with Swift. Additionally, Apple’s WWDC 2014 videos have a ton of useful talks to watch for free.
Overall: Swift is great! I highly recommend checking it out and using it, especially for smaller projects. There are still some small kinks that need to get hammered out, though, so I’d recommend against using Swift exclusively in a large project just yet; check back in maybe six months to a year.