YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: The past, present and future of swift, Voxxed Belgrade 2016

The Past, Present and Future of Swift

Voxxed Belgrade @chrischinch

Page 2: The past, present and future of swift, Voxxed Belgrade 2016
Page 3: The past, present and future of swift, Voxxed Belgrade 2016
Page 4: The past, present and future of swift, Voxxed Belgrade 2016
Page 5: The past, present and future of swift, Voxxed Belgrade 2016

My Apple Adventure

Page 6: The past, present and future of swift, Voxxed Belgrade 2016
Page 7: The past, present and future of swift, Voxxed Belgrade 2016
Page 8: The past, present and future of swift, Voxxed Belgrade 2016
Page 9: The past, present and future of swift, Voxxed Belgrade 2016
Page 10: The past, present and future of swift, Voxxed Belgrade 2016

The Past of SwiftObjective-C

Page 11: The past, present and future of swift, Voxxed Belgrade 2016
Page 12: The past, present and future of swift, Voxxed Belgrade 2016
Page 13: The past, present and future of swift, Voxxed Belgrade 2016
Page 14: The past, present and future of swift, Voxxed Belgrade 2016
Page 15: The past, present and future of swift, Voxxed Belgrade 2016

Score Card+ Thin Runtime

+ Leverage GCC and Libraries

+ Low barrier to entry (At the time)

- Larger than C / C++

- Namespace support

- Optimisation

- High barrier to entry (Now)

- Closed Source

Page 16: The past, present and future of swift, Voxxed Belgrade 2016

The PastRelease

Page 17: The past, present and future of swift, Voxxed Belgrade 2016
Page 18: The past, present and future of swift, Voxxed Belgrade 2016

–Not everyone is a fan…

“Type a quote here.”

Page 19: The past, present and future of swift, Voxxed Belgrade 2016

2.2+ Apache License 2.0December 3, 2015

Page 20: The past, present and future of swift, Voxxed Belgrade 2016
Page 21: The past, present and future of swift, Voxxed Belgrade 2016
Page 22: The past, present and future of swift, Voxxed Belgrade 2016

The Present

Page 23: The past, present and future of swift, Voxxed Belgrade 2016
Page 24: The past, present and future of swift, Voxxed Belgrade 2016

What’s Included?

• Compiler

• Standard Library

• SDK Overlays

• Debugger

• Package Manager

Page 25: The past, present and future of swift, Voxxed Belgrade 2016

Who’s using it?

• Libraries (Alamo, Vapor, Perfect etc)

• Swift AI

• Duolingo, Dub Smash, EyeEm*

• Pandora, Twitter, FitBit, Groupon

Page 26: The past, present and future of swift, Voxxed Belgrade 2016

Installation - MacOS

swiftenv install 2.2

Page 27: The past, present and future of swift, Voxxed Belgrade 2016

Installation - Linux

sudo apt-get install clang libicu-dev wget https://swift.org/builds/swift-3.0-release/ubuntu1404/swift-3.0-RELEASE/swift-3.0-RELEASE-ubuntu14.04.tar.gz

tar -xvf xxx.tar.gz

export PATH=~/swift-3.0-RELEASE-ubuntu14.04/usr/bin

Page 28: The past, present and future of swift, Voxxed Belgrade 2016

Compile & Run

swiftc helloworld.swift ls -al ./helloworld

Page 29: The past, present and future of swift, Voxxed Belgrade 2016

The Future…And maybe some of the present

Page 30: The past, present and future of swift, Voxxed Belgrade 2016

Server-side Swift• REST

• JSON

• Cookies

• Database connectors

• Web Servers

• Templates

Page 31: The past, present and future of swift, Voxxed Belgrade 2016

And there’s more…

• Vapor - RoR for Swift

• Kitura - IBM

Page 32: The past, present and future of swift, Voxxed Belgrade 2016

Tools, tools, tools

• Package Manager

• swiftenv

• http servers, markdown parsers, connectors…

Page 33: The past, present and future of swift, Voxxed Belgrade 2016

The Future…Maybe

Page 34: The past, present and future of swift, Voxxed Belgrade 2016
Page 35: The past, present and future of swift, Voxxed Belgrade 2016

In Theory…

• Leverage NDK

• Generate an object file from the LLVM-IR

• Package that object file in an Android app (Likely C)

• Pack in a Shared Library and run

• The future…? (Search if you really want to)

Page 36: The past, present and future of swift, Voxxed Belgrade 2016
Page 37: The past, present and future of swift, Voxxed Belgrade 2016

Swift for Windows

• github.com/tinysun212/swift-windows

• swiftforwindows.codeplex.com

• Microsoft Visual C++ and Cygwin binaries

• No UI or platform libraries (yet)

Page 38: The past, present and future of swift, Voxxed Belgrade 2016
Page 39: The past, present and future of swift, Voxxed Belgrade 2016

Score Card+ Type, generics, optionals, chaining, Protocol-oriented

+ Simple(ish) and clean(ish)

+ Memory management

+ Big backer

- Support (Docs, Tools)

- Fast development*

- www.linkedin.com/pulse/who-said-swift-better-than-objective-c-willie-shi

Page 40: The past, present and future of swift, Voxxed Belgrade 2016

Yet to come

• Even more stable ABI

• Platform independence

• Better C++ compatibility

• General stability

• Concurrency

Page 41: The past, present and future of swift, Voxxed Belgrade 2016

Thanks!Chris Ward @chrischinch Contentfulgregariousmammal.com

I have stickers and merchandise!


Related Documents