Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift rEvolution
Search
Konstantin
November 05, 2016
Programming
1
230
Swift rEvolution
Swift Revolution
Konstantin
November 05, 2016
Tweet
Share
More Decks by Konstantin
See All by Konstantin
How does complier see your app
konstantinkoval
4
120
Swift Package Manager
konstantinkoval
2
160
Refactoring an Ugly Objective-C with Swift
konstantinkoval
0
220
React Native - from a mobile (iOS) developer prospective
konstantinkoval
0
61
Swift - Pushing technology limits
konstantinkoval
1
220
WatchKit
konstantinkoval
0
57
Intro in WatchKit and Watch apps
konstantinkoval
0
53
Functional Swift
konstantinkoval
1
130
I love swift.pdf
konstantinkoval
1
180
Other Decks in Programming
See All in Programming
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
220
React への依存を最小にするフロントエンド設計
takonda
19
5.6k
Djangoの開発環境で工夫したこと - pre-commit / DevContainer
hiroki_yod
1
280
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
0
400
romajip: 日本の住所CSVデータを活用した英語住所変換ライブラリを作った話
sangunkang
0
280
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
9
1.3k
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
130
Jakarta EE meets AI
ivargrimstad
0
290
Jakarta EE meets AI
ivargrimstad
0
820
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
270
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
130
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
Featured
See All Featured
Site-Speed That Sticks
csswizardry
0
40
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Building an army of robots
kneath
302
43k
Six Lessons from altMBA
skipperchong
27
3.5k
For a Future-Friendly Web
brad_frost
175
9.4k
Navigating Team Friction
lara
183
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
140
Fireside Chat
paigeccino
34
3k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Transcript
Swift rEvolution Kostiantyn Koval !@KostiaKoval
Swift Modern and Powerful strives for Simplicity and Safety with
"C-like" Performance
The Beginning -?
rEvolution start Jul 2010
rEvolution start • "Sat Jul 17 23:50:59 2010 +0000" •
September 9, 2014 - ! Swift 1.0 • September 21, 2015 - "# Swift 2.0
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 -!"✨
Swift - Open Source
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
Syntax: simple - clean - nice let swift = "!"
Learning & Teaching & Coding • simple - clean -
nice Syntax • Swift Playgrounds • Xcode Playground
Learning & Teaching & Coding • simple - clean -
nice Syntax • Swift Playgrounds • Xcode Playground Great as first programming language!
Tools ! • Swift compiler + stdlib • foundation, libdispatch
• xctest • Swift Package Manager, llbuild • CI, !, Benchmark • More: playgrounds, protobuf
Community - People ! " #
Platforms Mobile | Desktop Server | Web Embedded
Platforms • iOS and macOS - • Linux -
• Web - IBM + + Server APIs • Android - Community + "Brian Gesiak" Other • Raspberrypi, Windows, FreeBSD, PS4,
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" };
Web ! • Swift@IBM: • Frameworks: Kitura, Vapor, Perfect, Zewo
• Hosting: Heroku, AWS, Digital Ocean, Azure • Performance: > nodeJS, java, ruby
Web ! • Swift@IBM: • Frameworks: Kitura, Vapor, Perfect, Zewo
• Hosting: Heroku, AWS, Digital Ocean, Azure • Performance: > nodeJS, java, ruby Server APIs Project
None
Android • apple/swift - • stdlib + Foundation •
swift-corelibs-libdispatch open PR "#162" • !"# SwiftAndroid
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"
Android limitations • Hard to setup • No java interoperability
• Community driven Not production ready, Yet
Evolution Swift is Young and Moves fast
It is not the strongest that survive, but the one
who are willing to adapt — Evolution
Hottest News!! !
Swift 2.3 is Deprecated Xcode 8.2 release notes
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
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 !
But where is ABI ? Not there yet. We were
busy breaking the language !
Swift 4.0 ! • ! No Source breaking changes (unless
impacts ABI) *hopefully, maybe • ABI • Stabilization, Resilience • Generics, String • Memory ownership
Stay up to date with Swift • try? Swift •
Beta • Newsletters • Evolutions • Mailing List ! - lists.swift.org
One More Thing
Compile time • Compilation performance • Debugging Slow Swift Compile
Compile time • Compilation performance • Debugging Slow Swift Compile
25% speedup
Thanks Questions? @KostiaKoval