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
58
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
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
300
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
150
[JAWS-UG横浜 #76] イケてるアップデートを宇宙いち早く紹介するよ!
maroon1st
0
500
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
170
return文におけるstd::moveについて
onihusube
1
1.2k
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
3
490
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
210
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
110
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
950
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
8
1.8k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
540
Featured
See All Featured
Side Projects
sachag
452
42k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Code Review Best Practice
trishagee
65
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
BBQ
matthewcrist
85
9.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Adopting Sorbet at Scale
ufuk
73
9.1k
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