Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Conquering Your Fear of Adopting Swift

Realm
February 25, 2016

Conquering Your Fear of Adopting Swift

Presented by Brennan Stehling at the Swift Language User Group on 02.25.16

Realm

February 25, 2016
Tweet

More Decks by Realm

Other Decks in Technology

Transcript

  1. WHO AM I? Brennan Stehling iOS Developer since 2008 I've

    built apps using Objective-C long before ARC, Blocks and GCD. A lot has changed since 2008.
  2. SUMMARY ▸ Who is the audience? ▸ What’s going on

    with Objective-C? ▸ Why Swift? ▸ How can we minimize costs? ▸ What are the risks?
  3. WHO IS THE AUDIENCE? ▸ Developers who want to move

    to Swift ▸ Managers who feel Swift is too risky
  4. WHAT’S GOING ON WITH OBJECTIVE-C? ▸ Seasoned over multiple decades

    (NeXT) ▸ Proven APIs and Frameworks (lots of kits) ▸ Not going away anytime soon ▸ Legacy rooted in C ▸ Complex builds (Header search path?) ▸ We can do better with Swift...
  5. WHY SWIFT? Swift has many advantages over Objective-C ▸ Optionals

    are a superpower ▸ Languages features prevent errors and crashes ▸ Syntax is easier to read (no brackets or semicolons) ▸ Enhanced modularization
  6. WHY SWIFT? See Swift Thinking by Natasha the Robot Lots

    of helpful information to get you started on the right foot. ▸ http://sstools.co/swift-thinking
  7. WHY SWIFT? Swift has many advantages over Objective-C ▸ Simplified

    tooling with Xcode (no header files) ▸ Frameworks are the primary building blocks ▸ Code boundaries which are now enforced (public, private, etc)
  8. WHY SWIFT? Swift has many advantages over Objective-C ▸ Dependencies

    can be organized more easily ▸ Swift Package Manager (coming soon)
  9. BUSINESS REASONS FOR SWIFT? ▸ Hiring Objective-C engineers is getting

    harder ▸ New projects are built with Swift more and more each day ▸ College grads are unlikely to learn Objective-C ▸ Swift will be less costly to maintain in coming years ▸ Apps built with Swift make users happy
  10. HOW CAN WE MINIMIZE COSTS? ▸ Depend on Swift ▸

    Don't depend on Objective-C WHAT DOES THAT EVEN MEAN?!
  11. HOW CAN WE MINIMIZE COSTS? ▸ Time updating legacy code

    is wasted time ⏰ = " ▸ Do not make your legacy code Swift compatible ▸ Just make your new Swift code compatible with Objective-C
  12. HOW CAN WE MINIMIZE COSTS? Creating new frameworks with Swift

    as new dependencies can be made compatible with your legacy code base from the start.
  13. WHAT ARE THE RISKS? There are some risks, but at

    this point there's a lot of content shared on how to avoid the common problems. See recent SLUG talks. ! http://sstools.co/past-slug
  14. WHAT ARE THE RISKS? ▸ Avoid structs ▸ Avoid tuples

    ▸ Avoid... See Michele Titolo's great talk which covers Swift gotchas. http://sstools.co/swift-protocols
  15. FINALLY, EMBRACE THE FRESH START ▸ Approach your architecture with

    new ideas ▸ Rebuild your most unreliable code with a new approach ▸ Let go of techical debt which is been building up for years
  16. MORE RESOURCES There are many ways you can use to

    get up to speed. ▸ Natasha the Robot ▸ Swift Blog (from Apple) ▸ iOS Dev Weekly ▸ iOS Bytes podcast