Slide 1

Slide 1 text

SWIFT � BAS BROEK @BASTHOMAS 1

Slide 2

Slide 2 text

SWIFT ɣ BAS BROEK @BASTHOMAS 2

Slide 3

Slide 3 text

EXPECTED RELEASE DATE: LATE 2017 3

Slide 4

Slide 4 text

STAGE 1 & 2 4

Slide 5

Slide 5 text

STAGE 1 5

Slide 6

Slide 6 text

STRINGS 6

Slide 7

Slide 7 text

! 7

Slide 8

Slide 8 text

NO 8

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

! 10

Slide 17

Slide 17 text

! 11

Slide 18

Slide 18 text

WHAT ABOUT SOURCE STABILITY? 12

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

! 14

Slide 21

Slide 21 text

STAGE 2 "SOME TIME IN SPRING 2017" 15

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

AND OF COURSE... 7 https://github.com/swift-server 6 https://lists.swift.org/pipermail/swift-evolution-announce/2017-January/000307.html 18

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

WORLD DOMINATION 19

Slide 35

Slide 35 text

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