Skip to content

Project Files & Resources for the Philly Cocoa: Starting Swift Workshop

Notifications You must be signed in to change notification settings

tomparkp/starting-swift

Repository files navigation

Swift First Cut - Introduction for Objective-C Developers

These are the project files and companion materials for the Philly Cocoa: Starting Swift workshop that took place in January 2015.

The interactive (better) version of the slides can be viewed here.

The Hosts

Special thanks to our wonderful hosts.

Instructor - Tom Piarulli

TA - Amit Rao

TA - Kotaro Fujita

Venue Sponsor - Indy Hall

The Project - Swift Movies

The goal of the workshop was to create something:

  • Functional - not a "proof-of-concept" or "micro-app", an actual app
  • Polished - proper loading indicators, error handling, fallbacks for missing data, etc.
  • Fun - something you would actually want to build

Additional Reading

This is a list of the articles, websites, books, etc. that served as inspiration for the materials in this workshop. They are great supplementary materials to continue your journey with Swift.

Blogs/Resource Lists

  • Introducing Swift - Apple's official Swift website - there is a blog as well as a number of official articles and videos.

  • Design + Code - My favorite resource list. Not only does it contain many great Swift resources, but it contains useful design resources as well.

  • That Thing in Swift - A listing of articles describing how common Objective-C patterns translate to Swift.

  • Swift Developer Weekly - A weekly email newsletter containing interesting Swift articles.

  • Learn Swift - Tips - An extensive list of Swift learning resources, grouped by skill level.

  • Favorite Swift Tips & Tricks of 2014 - One of my favorite lists - some really outstanding Swift articles contained here.

  • Alexandros Salazar - Alexandros has published some of the interesting and useful articles I've encountered regarding Swift.

  • Natasha the Robot - Another blog containing some really excellent Swift articles.

  • Swift Tips - A Github repo containing some Swift tips - you can do a pull request to contribute your own.

  • We Heart Swift - A new blog containing a number of Swift articles and resources.

  • Swiftcast - A new blog containing Swift articles, screencasts, and podcasts.

Books/Courses

Articles

  • Learn Swift - No Frills Introduction - My favorite Swift cheatsheet - straightforward and easy to read.

  • Learn Swift from Objective-C - A series of tutorials with side-by-side examples of Objective-C code and Swift code.

  • Swift Optionals Made Simple - The issue with teaching about optionals is that they are difficult to explain. This article does a good job of explaining optionals in a simple fashion.

  • A Beginner's Guide to Optionals in Swift - Optionals are one of the most important and often confusing aspects of Swift. I recommend reading many of these introductory articles until the information sinks in.

  • Swift Initialization and the Pain of Optionals - Swift doesn't permit nil references which creates often confusing issues - specifically with initializing objects. This article explores some options for dealing with these issues.

  • Enums instead of Booleans - There are times when you would normally use booleans to represent data when an Enum would actually be more effective. This article explains.

  • Type-safe URL routes in Swift - We typically use strings to describe endpoints when working with APIs - this article describes a clever approach for creating strongly typed URL routes.

  • Efficient JSON in Swift with Functional Concepts and Generics - We touched on why handling JSON in Swift can be a nightmare but resorted to using SwiftyJSON to handle it for us. When you're ready to write your own JSON handler this is a good place to start.

  • Real World JSON Parsing with Swift - An expansion on the article above to incorporate handling nil values.

  • Optionals? If We Must - I think optionals become much easier to grip when you start to understand the point is to avoid using them as much as possible.

  • Understanding Optional Chaining - A more in depth look at optional chaining.

  • Tearing Down Swift's Optional Pyramid of Doom - this article describes some techniques for dealing with the optional if-let pyramid you'll likely encounter when dealing with many optionals.

  • Error Handling in Swift: Might and Magic - This article describes a very clean (and very awesome if you're coming from Obj-C) way of performing error handling in Swift.

  • Nice Web Services, Swift Edition - This article describes a great way to handle API data after its been parsed. A lot of the TMDB code in the workshop is based on this article.

  • Secret of Swift Performance - A brief article about how to identify performance bottlenecks in your Swift code.

  • Swift: Using Complex Enums to Improve TableViews - I really love how powerful enums are in Swift. This article should open up your mind to some of the possibilities.

  • Swift Failable Initializers - Swift's code safety features are only useful if we take advantage of them. Too frequently we resort to using variables and optionals when we don't actually need to. Failable initializers can be useful for only producing objects we know are a certain way.

  • Nil Coalescing in Swift - How often do you find yourself wanting to unwrap an optional and provide a different value instead if its nil? Nil coalescing provides a concise means of doing so.

  • Swift Closures and Funtions - A great reference for the often difficult-to-remember syntax of closures in Swift (though its way better than blocks in Obj-C)

  • Welcome!...and Generics - Generics are a more advanced topic that we only briefly touched on in the workshop, but they are very powerful and should not be ignored.

Tools/References

  • Swift Toolbox - A community catalog of libraries written in Swift.

  • Carthage - Carthage is a less intrusive alternative to Cocoapods that is gaining popularity.

  • CocoaPods Frameworks - A Cocoapods blog post describing the introduction of Frameworks and Swift (beta available).

About

Project Files & Resources for the Philly Cocoa: Starting Swift Workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages