The Swift Architect
Click here to load reader
-
Upload
natasha-murashev -
Category
Software
-
view
2.391 -
download
0
Transcript of The Swift Architect
![Page 1: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/1.jpg)
T H E S W I F T A R C H I T E C T@NATASHATHEROBOT
![Page 2: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/2.jpg)
@ N ATA S H AT H E R O B O T
• NatashaTheRobot.com
• Swift Newsletter - swiftnews.curated.co
![Page 3: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/3.jpg)
![Page 4: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/4.jpg)
J U N E 2 0 1 4
![Page 5: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/5.jpg)
J U N E 2 0 1 4
![Page 6: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/6.jpg)
![Page 7: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/7.jpg)
![Page 8: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/8.jpg)
![Page 9: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/9.jpg)
mkBlog <*> int(dict,"id") <*> string(dict,"name") <*> bool(dict,"needspassword") <*> (string(dict, "url") >>= toURL)
@CHR I SE IDHOF
J S O N PA R S I N G I N S W I F T
![Page 10: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/10.jpg)
![Page 11: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/11.jpg)
![Page 12: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/12.jpg)
![Page 13: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/13.jpg)
T H E S W I F T A R C H I T E C T
![Page 14: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/14.jpg)
![Page 15: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/15.jpg)
L E A R N I N G …
![Page 16: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/16.jpg)
![Page 17: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/17.jpg)
![Page 18: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/18.jpg)
W O R K W I T H O T H E R S
![Page 19: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/19.jpg)
T E A C H
![Page 20: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/20.jpg)
P U T Y O U R S E L F O U T T H E R E
![Page 21: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/21.jpg)
E X P O S E Y O U R S E L F T O A D VA N C E D T O P I C S
![Page 22: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/22.jpg)
C E L E B R AT E B R E A K T H R O U G H S 🎉
![Page 23: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/23.jpg)
@ashsmash
![Page 24: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/24.jpg)
S W I F T L E A R N I N G …
• Value Types
• Optionals?!
• Testing
![Page 25: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/25.jpg)
VA L U E T Y P E S
![Page 26: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/26.jpg)
VA L U E T Y P E S
• structs
• enums
• (tuples)
![Page 27: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/27.jpg)
![Page 28: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/28.jpg)
@ A N D Y _ M AT U S C H A K
• Functional Swift Conference: Functioning as a Functionalist
• Realm: Controlling Complexity in Swift
![Page 29: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/29.jpg)
W H AT A B O U T S U B C L A S S I N G ?
• WWDC 2015: Protocol-Oriented Programming in Swift
![Page 30: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/30.jpg)
– F U N C T I O N A L S W I F T B O O K
“Almost all types in Swift are value types, including arrays, dictionaries, numbers, booleans, tuples,
and enums. Classes are the exception rather than the rule.”
![Page 31: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/31.jpg)
$ grep -e "^struct " swift.md | wc -l 87
$ grep -e "^enum " swift.md | wc -l 8
$ grep -e "^class " swift.md | wc -l 4
![Page 32: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/32.jpg)
O P T I O N A L S ? !
![Page 33: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/33.jpg)
![Page 34: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/34.jpg)
![Page 35: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/35.jpg)
– S U N S E T L A K E S O F T W A R E
“~40% of bugs shipped to customers in the last three years would have been caught immediately
by using Swift”
![Page 37: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/37.jpg)
@ J E S S E _ S Q U I R E S
• Failable initializers, revisited
![Page 38: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/38.jpg)
T E S T I N G
![Page 39: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/39.jpg)
W W D C 2 0 1 4• Performance Tests
• Asynchronous Tests
• Xcode CI Improvements
W W D C 2 0 1 5
• UI Tests
• Code Coverage
![Page 40: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/40.jpg)
![Page 41: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/41.jpg)
W W D C 2 0 1 5
![Page 42: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/42.jpg)
![Page 43: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/43.jpg)
![Page 44: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/44.jpg)
– @ C AT E H S T N
When asked "I have to move fast, do I test?", the answer is "How long do you want to move fast for?”
![Page 45: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/45.jpg)
S T I L L L E A R N I N G …
• Value Types
• Optionals?!
• Testing
![Page 46: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/46.jpg)
P O W E R S W I F T W O R K S H O P
• Tomorrow, 14:00
• Download the latest Xcode Beta (or GM!!!)
![Page 47: The Swift Architect](https://reader038.fdocuments.net/reader038/viewer/2022102322/589f83e81a28abf0638b5e79/html5/thumbnails/47.jpg)
– U N K N O W N
“Live as if you were to die tomorrow. Learn as if you were to live forever.”