The Journey ● Moving from Monolithic app to having frameworks (pods) ● Reduces compilation times due to incremental builds ● decouple your code, helps with Unit tests
The Journey Disadvantages to Interoperability ● Developers need to know 2 languages ● Xcode is buggy ( refactoring , debugging , Code completion) ● Swift is a Static dispatcher - no reflection =( ● Swift embedded Libraries (app bloat) ● 3rd Party library problems ● Code Standards ● AppCode did not have great support
The Journey The Journey Advantages to Interoperability/Swift ● Less boilerplate code ● Functions are 1st class citizens ● Functional programming paradigm ● Protocol Oriented Programming
● Generics ● Tuples ● Enumerations defined in Swift without Int raw value type ● Structures defined in Swift ● Top-level functions defined in Swift ● Global variables defined in Swift ● Typealiases defined in Swift ● Swift-style variadics ● Nested types ● Curried functions The Journey Swift Types