Top Banner
The Past, Present and Future of Swift Voxxed Belgrade @chrischinch
41

The past, present and future of swift, Voxxed Belgrade 2016

Feb 11, 2017

Download

Technology

Chris Ward
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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!