iOS Development


Michael L. Collard, Ph.D.

Department of Computer Science, The University of Akron


  • Exciting time to be an iOS Developer
  • Clear that iOS development (and Apple) are moving to Swift
  • Rare to be involved in this sort of change

Legacy Objective-C

  • Established language (30+ years) and framework (base is from 30+ years)
  • Current applications
  • Deep developer knowledge
  • Large amount of resources

Youth of Swift

  • New language (weeks), with established framework, with major changes to the language since announced
  • New applications
  • Lack of developer knowledge
  • Good amount of resources
  • REPL and Playground change learning and development

Effect of Maturity

  • "Right" way of doing things in Swift is not clear
  • Assumptions of Objective-C do not always hold, i.e., much advice from Objective-C developers may not hold in Swift
  • Unclear when to use Objective-C (and framework) objects and when to use Swift, e.g., array and dictionary
  • Swift does not always directly support the framework in a direct way

Fundamental Tension

  • Stick with the current, i.e., Objective-C
    • Easiest, safest, path
    • Problem: Over time, they can incur technical debt
  • Move everything to the new, i.e., Swift
    • New knowledge, risk
    • Problem: May have trouble delivering


  • For developers that embrace Swift
  • As new APIs are created with Swift in mind
  • To observe such a large change