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

Swift 4

79fe3c13c618a61329298bdd6a86ec42?s=47 Bas Broek
February 15, 2017

Swift 4

We will be taking a look at the two stages in which Swift 4.0 will be developed and what we can expect from that. We will also take a look at the evolution proposals that are awaiting us in Stage 2.

This talk was presented at CocoaHeads NL.

79fe3c13c618a61329298bdd6a86ec42?s=128

Bas Broek

February 15, 2017
Tweet

Transcript

  1. SWIFT � BAS BROEK @BASTHOMAS 1

  2. SWIFT ɣ BAS BROEK @BASTHOMAS 2

  3. EXPECTED RELEASE DATE: LATE 2017 3

  4. STAGE 1 & 2 4

  5. STAGE 1 5

  6. STRINGS 6

  7. ! 7

  8. NO 8

  9. STRINGS IN SWIFT 4 RE-EVALUATE THE API1 2 Localization &

    internationalization itself are planned for Swift 5 1 https://github.com/apple/swift/blob/master/docs/StringManifesto.md 9
  10. STRINGS IN SWIFT 4 RE-EVALUATE THE API1 > How to

    use internationalization API's correctly2 2 Localization & internationalization itself are planned for Swift 5 1 https://github.com/apple/swift/blob/master/docs/StringManifesto.md 9
  11. STRINGS IN SWIFT 4 RE-EVALUATE THE API1 > How to

    use internationalization API's correctly2 > Better unicode support 2 Localization & internationalization itself are planned for Swift 5 1 https://github.com/apple/swift/blob/master/docs/StringManifesto.md 9
  12. STRINGS IN SWIFT 4 RE-EVALUATE THE API1 > How to

    use internationalization API's correctly2 > Better unicode support > No more .characters for most operations 2 Localization & internationalization itself are planned for Swift 5 1 https://github.com/apple/swift/blob/master/docs/StringManifesto.md 9
  13. STRINGS IN SWIFT 4 RE-EVALUATE THE API1 > How to

    use internationalization API's correctly2 > Better unicode support > No more .characters for most operations > Supporting Range in favor of NSRange 2 Localization & internationalization itself are planned for Swift 5 1 https://github.com/apple/swift/blob/master/docs/StringManifesto.md 9
  14. STRINGS IN SWIFT 4 RE-EVALUATE THE API1 > How to

    use internationalization API's correctly2 > Better unicode support > No more .characters for most operations > Supporting Range in favor of NSRange > Improved string interpolation & formatting 2 Localization & internationalization itself are planned for Swift 5 1 https://github.com/apple/swift/blob/master/docs/StringManifesto.md 9
  15. STRINGS IN SWIFT 4 RE-EVALUATE THE API1 > How to

    use internationalization API's correctly2 > Better unicode support > No more .characters for most operations > Supporting Range in favor of NSRange > Improved string interpolation & formatting > Regex 2 Localization & internationalization itself are planned for Swift 5 1 https://github.com/apple/swift/blob/master/docs/StringManifesto.md 9
  16. ! 10

  17. ! 11

  18. WHAT ABOUT SOURCE STABILITY? 12

  19. SE-01413 TO THE RESCUE @available(swift 4, *) extension Collection {

    func index(offset: IndexDistance) -> Index { return index(startIndex, offsetBy: offset) } func offset(of i: Index) -> IndexDistance { return distance(from: startIndex, to: i) } } 3 https://github.com/apple/swift-evolution/blob/master/proposals/0141-available-by-swift-version.md 13
  20. ! 14

  21. STAGE 2 "SOME TIME IN SPRING 2017" 15

  22. SWIFT-EVOLUTION4 4 https://apple.github.io/swift-evolution/ 16

  23. WHAT IS UPON US?5 5 https://github.com/apple/swift-evolution/pulls? utf8=✓&q=label%3A%22out%20of%20scope%20for%20current%20release%22 17

  24. WHAT IS UPON US?5 > Enforce calling super 5 https://github.com/apple/swift-evolution/pulls?

    utf8=✓&q=label%3A%22out%20of%20scope%20for%20current%20release%22 17
  25. WHAT IS UPON US?5 > Enforce calling super > Multi-line

    string literals 5 https://github.com/apple/swift-evolution/pulls? utf8=✓&q=label%3A%22out%20of%20scope%20for%20current%20release%22 17
  26. WHAT IS UPON US?5 > Enforce calling super > Multi-line

    string literals > User-provided warning diagnostics at compile time 5 https://github.com/apple/swift-evolution/pulls? utf8=✓&q=label%3A%22out%20of%20scope%20for%20current%20release%22 17
  27. WHAT IS UPON US?5 > Enforce calling super > Multi-line

    string literals > User-provided warning diagnostics at compile time > The pipeline (|>) operator 5 https://github.com/apple/swift-evolution/pulls? utf8=✓&q=label%3A%22out%20of%20scope%20for%20current%20release%22 17
  28. WHAT IS UPON US?5 > Enforce calling super > Multi-line

    string literals > User-provided warning diagnostics at compile time > The pipeline (|>) operator > Increased Objective-C & Swift interoperability 5 https://github.com/apple/swift-evolution/pulls? utf8=✓&q=label%3A%22out%20of%20scope%20for%20current%20release%22 17
  29. WHAT IS UPON US?5 > Enforce calling super > Multi-line

    string literals > User-provided warning diagnostics at compile time > The pipeline (|>) operator > Increased Objective-C & Swift interoperability > Much more once Stage 2 starts... 5 https://github.com/apple/swift-evolution/pulls? utf8=✓&q=label%3A%22out%20of%20scope%20for%20current%20release%22 17
  30. AND OF COURSE... 7 https://github.com/swift-server 6 https://lists.swift.org/pipermail/swift-evolution-announce/2017-January/000307.html 18

  31. AND OF COURSE... > Swift Package Manager improvements6 7 https://github.com/swift-server

    6 https://lists.swift.org/pipermail/swift-evolution-announce/2017-January/000307.html 18
  32. AND OF COURSE... > Swift Package Manager improvements6 > Swift

    on the server7 7 https://github.com/swift-server 6 https://lists.swift.org/pipermail/swift-evolution-announce/2017-January/000307.html 18
  33. AND OF COURSE... > Swift Package Manager improvements6 > Swift

    on the server7 > ??? 7 https://github.com/swift-server 6 https://lists.swift.org/pipermail/swift-evolution-announce/2017-January/000307.html 18
  34. WORLD DOMINATION 19

  35. @BASTHOMAS @SWIFTLYBRIEF8 8 https://swiftweekly.github.io 20