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

Swift rEvolution

Konstantin
November 05, 2016

Swift rEvolution

Swift Revolution

Konstantin

November 05, 2016
Tweet

More Decks by Konstantin

Other Decks in Programming

Transcript

  1. rEvolution start • "Sat Jul 17 23:50:59 2010 +0000" •

    September 9, 2014 - ! Swift 1.0 • September 21, 2015 - "# Swift 2.0
  2. rEvolution start • "Sat Jul 17 23:50:59 2010 +0000" •

    September 9, 2014 - ! Swift 1.0 • September 21, 2015 - "# Swift 2.0 December 3, 2015 Big Bang -!"✨
  3. Open ! 1. Source at GitHub, not opensource.apple.com 2. Full

    commit history 43,429 43,898 commits 3. Commit access 4. New open source projects: swift-protobuf 5. Workflow 6. Evolution and discussions
  4. Learning & Teaching & Coding • simple - clean -

    nice Syntax • Swift Playgrounds • Xcode Playground
  5. Learning & Teaching & Coding • simple - clean -

    nice Syntax • Swift Playgrounds • Xcode Playground Great as first programming language!
  6. Tools ! • Swift compiler + stdlib • foundation, libdispatch

    • xctest • Swift Package Manager, llbuild • CI, !, Benchmark • More: playgrounds, protobuf
  7. Platforms • iOS and macOS -  • Linux -

     • Web - IBM +  + Server APIs • Android - Community + "Brian Gesiak" Other • Raspberrypi, Windows, FreeBSD, PS4,
  8. static const StringRef OSs[] = { static const StringRef Arches[]

    = { "OSX", "arm", "tvOS", "arm64", "watchOS", "i386", "iOS", "x86_64", "Linux", "powerpc64", "FreeBSD", "powerpc64le", "Windows", "s390x" "Android", }; "PS4", }; static const StringRef Endianness[] = { "little", "big" };
  9. Web ! • Swift@IBM: • Frameworks: Kitura, Vapor, Perfect, Zewo

    • Hosting: Heroku, AWS, Digital Ocean, Azure • Performance: > nodeJS, java, ruby
  10. Web ! • Swift@IBM: • Frameworks: Kitura, Vapor, Perfect, Zewo

    • Hosting: Heroku, AWS, Digital Ocean, Azure • Performance: > nodeJS, java, ruby Server APIs Project
  11. Android • apple/swift -  • stdlib + Foundation •

    swift-corelibs-libdispatch open PR "#162" • !"# SwiftAndroid
  12. Android Requirements: NDK, libiconv-libicu, .... • swift repo: 100% swift

    • SwiftAndroid: android app + swift lib "How we put an app in the Android Play Store using Swift"
  13. Android limitations • Hard to setup • No java interoperability

    • Community driven Not production ready, Yet
  14. It is not the strongest that survive, but the one

    who are willing to adapt — Evolution
  15. Evolution apple/swift-evolution -> apple.github.io/swift-evolution • 3 major release in 2

    years • 144 Accepted proposals. 1,591 commits • hundred thousand of emails in mailing list
  16. Swift 3.0 • 90+ proposals • Syntax, Syntax, (if let

    - where, open, fileprivate, ...) • Swifty Foundation, GCD and API • Removed automatic objc-swift bridging • C and UnsafePointer • Swift Package Manager release !
  17. But where is ABI ? Not there yet. We were

    busy breaking the language !
  18. Swift 4.0 ! • ! No Source breaking changes (unless

    impacts ABI) *hopefully, maybe • ABI • Stabilization, Resilience • Generics, String • Memory ownership
  19. Stay up to date with Swift • try? Swift •

    Beta • Newsletters • Evolutions • Mailing List ! - lists.swift.org