Conquering Your Fear of Adopting Swift

1fa9cb8c7997c8c4d3d251fb5e41f749?s=47 Realm
February 25, 2016

Conquering Your Fear of Adopting Swift

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

1fa9cb8c7997c8c4d3d251fb5e41f749?s=128

Realm

February 25, 2016
Tweet

Transcript

  1. CONQUERING YOUR FEAR OF ADOPTING SWIFT YOUR FIRST STEPS !

  2. 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.
  3. SUMMARY ▸ Who is the audience? ▸ What’s going on

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

    to Swift ▸ Managers who feel Swift is too risky
  5. WHAT’S GOING ON WITH OBJECTIVE-C?

  6. WHAT’S GOING ON WITH OBJECTIVE-C? THE HERO YOU DO NOT

    EXPECT BUT GETS THE JOB DONE
  7. 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...
  8. WHY SWIFT?

  9. WHY SWIFT? THE HERO WHO CAN TAKE ON A ROOM

    FULL OF PROBLEMS
  10. WHY SWIFT? Chris Lattner, Quentin Tarantino of the Apple universe.

    LLVM IS GOOD. SWIFT IS GOOD.
  11. 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
  12. 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
  13. 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)
  14. WHY SWIFT? Swift has many advantages over Objective-C ▸ Dependencies

    can be organized more easily ▸ Swift Package Manager (coming soon)
  15. WHY SWIFT? What about CocoaPods? ! All those great pods

    may simply become Swift packages.
  16. 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
  17. HOW CAN WE MINIMIZE COSTS?

  18. HOW CAN WE MINIMIZE COSTS? ▸ Depend on Swift ▸

    Don't depend on Objective-C
  19. HOW CAN WE MINIMIZE COSTS? ▸ Depend on Swift ▸

    Don't depend on Objective-C WHAT DOES THAT EVEN MEAN?!
  20. 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
  21. 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.
  22. WHAT ARE THE RISKS?

  23. 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
  24. WHAT ARE THE RISKS? ▸ Avoid structs ▸ Avoid tuples

    ▸ Avoid... See Michele Titolo's great talk which covers Swift gotchas. http://sstools.co/swift-protocols
  25. 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
  26. 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
  27. THANK YOU!

  28. QUESTIONS? BRENNAN STEHLING @BRENNANSV GITHUB.COM/BRENNANMKE