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

Swift rEvolution

Avatar for Konstantin Konstantin
November 05, 2016

Swift rEvolution

Swift Revolution

Avatar for Konstantin

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