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

Paul Miard - Objective-C U L8R: A Swift Transition

Paul Miard - Objective-C U L8R: A Swift Transition

As a mobile agency, Prolific Interactive builds and maintains many apps at once. Since the introduction of Swift 2, they've launched 5 greenfield projects entirely in Swift, integrated it into the rest of their legacy code, and launched several open source projects. In this talk, Paul Miard will be showing off what they've learned about bringing a team up to speed, getting stakeholders on board, and writing production-quality code in a brand new language.

Recording from the March 2016 Brooklyn Swift Developers Meetup: http://meetup.com/Brooklyn-Swift-Developers/events/231125444/

Video: https://www.youtube.com/watch?v=ifO-zPg-j3A

More Decks by Brooklyn Swift Developers Meetup

Other Decks in Technology

Transcript

  1. Talk Overview • Why did we switch? • How did

    we switch? • Should you switch?
  2. Swift 2.0 introduced Deadline: read Swift books Deadline: code test

    due Start first all-Swift project End of 3-phase code test review All projects have Sw ift! Present Swift Style Guide June 2015 July 2015 August 2015 September 2015 November 2015 End of 2015 February 2016
  3. Swift 2.0 introduced Deadline: read Sw ift books Deadline: code

    test due Start first all-Swift project End of 3-phase code test review All projects have Sw ift! Present Swift Style Guide June 2015 July 2015 August 2015 September 2015 November 2015 End of 2015 February 2016
  4. Swift 2.0 introduced Deadline: read Swift books Deadline: code test

    due Start first all-Swift project End of 3-phase code test review All projects have Sw ift! Present Swift Style Guide June 2015 July 2015 August 2015 September 2015 November 2015 End of 2015 February 2016
  5. Swift 2.0 introduced Deadline: read Swift books Deadline: code test

    due Start first all-Sw ift project End of 3-phase code test review All projects have Sw ift! Present Swift Style Guide June 2015 July 2015 August 2015 September 2015 November 2015 End of 2015 February 2016
  6. Swift 2.0 introduced Deadline: read Swift books Deadline: code test

    due Start first all-Swift project End of 3-phase code test review All projects have Sw ift! Present Swift Style Guide June 2015 July 2015 August 2015 September 2015 November 2015 End of 2015 February 2016
  7. How Comfortable P’s Feel Writing Swift Self-reported. 1 = “Can’t

    write FizzBuzz,” 5 = “Literally Chris Lattner”
  8. Swift on a new project • Performance • Development speed

    • Safety — less bugs • Future-proof
  9. “Without Swift, the app would have been harder to build

    in four weeks… The increased power Swift gave us was more than enough to compensate for the time the learning curve took away.” — Thibault Klein
  10. “We're learning something new so let's just go all- in

    with new things.” — Chris Jones
  11. New architectures • Language features promote alternative paradigms to OOP

    • Syntax makes functional style more readable • Writing in a new language makes you question old habits MVVM VIPER CLEAN
  12. Swift on a legacy project • Optionals, type system will

    all help you • Can’t use advanced, Swift- only features • At the end, you’ll still have a lot of NSObjects
  13. “Modernizing the project is very important. You can't live on

    Objective-C forever, at some point Apple is going to kill you.” — John Lin
  14. • Switch if you can • The hardest part of

    switching to Swift is the learning curve • For a brand new project, it’ll be worth the effort — development is much faster • For a legacy project, it can still be worth it to learn and get some of the benefits Takeaways
  15. Check out our blog! • Objective-C U L8TR - A

    Swift Transition • Communication in Code: Engineering Standards for Growing Teams • People-Focused Engineering Culture A few process oriented posts
  16. Prolific open-source Swift • Swift Style Guide - a Style

    Guide for Swift. • Caishen - a Payment Card UI & Validator for iOS. • Simcoe - a simple, light analytics framework for iOS. • Yoshi - an in-app debug panel for iOS. • Marker - a light wrapper around NSAttributedString. • Optik - a library for displaying images from any source, local or remote. • Cake - a Cocoapods wrapper allowing for greater control over your workspaces • Gloss - a JSON parsing library written by a Prolific P!
  17. More Prolific talks!? • Advanced Topics in Swift & Objective-C

    Generics • Chris Jones, Senior iOS Engineer at Prolific Interactive • June 13th, 2016 @Google We can also get technical :)
  18. • Objective-C U L8TR - A Swift Transition • This

    very presentation! • More Prolific videos • Our Youtube channel We make videos (this slide was added later :)
  19. Thank you. Brooklyn 45 Main St, Suite 1006 Brooklyn, NY

    11201 347.462.0990 San Francisco 995 Market St, 14th Floor San Francisco, CA 94103 415.813.4199