SlideShare a Scribd company logo
1 of 47
Download to read offline
T H E S W I F T A R C H I T E C T
@ N A TA S H A T H E R O B O T
@ N ATA S H AT H E R O B O T
โ€ข NatashaTheRobot.com
โ€ข Swift Newsletter -
swiftnews.curated.co
J U N E 2 0 1 4
J U N E 2 0 1 4
mkBlog <*> int(dict,"id")
<*> string(dict,"name")
<*> bool(dict,"needspassword")
<*> (string(dict, "url") >>= toURL)
@ C H R I S E I D H O F
J S O N PA R S I N G I N S W I F T
T H E S W I F T A R C H I T E C T
L E A R N I N G โ€ฆ
W O R K W I T H O T H E R S
T E A C H
P U T Y O U R S E L F O U T
T H E R E
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
C E L E B R AT E
B R E A K T H R O U G H S ๐ŸŽ‰
@ashsmash
S W I F T L E A R N I N G โ€ฆ
โ€ข Value Types
โ€ข Optionals?!
โ€ข Testing
VA L U E T Y P E S
VA L U E T Y P E S
โ€ข structs
โ€ข enums
โ€ข (tuples)
@ A N D Y _ M AT U S C H A K
โ€ข Functional Swift Conference: Functioning as a
Functionalist
โ€ข Realm: Controlling Complexity in Swift
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
โ€“ 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.โ€
$ grep -e "^struct " swift.md | wc -l
87
$ grep -e "^enum " swift.md | wc -l
8
$ grep -e "^class " swift.md | wc -l
4
O P T I O N A L S ? !
โ€“ S U N S E T L A K E S O F T WA R E
โ€œ~40% of bugs shipped to customers in the last
three years would have been caught immediately
by using Swiftโ€
Objc.io Issue 13
@ J E S S E _ S Q U I R E S
โ€ข Failable initializers, revisited
T E S T I N G
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
W W D C 2 0 1 5
โ€“ @ 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?โ€
S T I L L L E A R N I N G โ€ฆ
โ€ข Value Types
โ€ข Optionals?!
โ€ข Testing
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!!!)
โ€“ U N K N O W N
โ€œLive as if you were to die tomorrow. Learn as if
you were to live forever.โ€

More Related Content

Viewers also liked

Viewers also liked (20)

How to Win on the Apple Watch
How to Win on the Apple WatchHow to Win on the Apple Watch
How to Win on the Apple Watch
ย 
Protocol-Oriented MVVM (extended edition)
Protocol-Oriented MVVM (extended edition)Protocol-Oriented MVVM (extended edition)
Protocol-Oriented MVVM (extended edition)
ย 
Protocol-Oriented MVVM
Protocol-Oriented MVVMProtocol-Oriented MVVM
Protocol-Oriented MVVM
ย 
The Secret Life of a Digital Nomad
The Secret Life of a Digital NomadThe Secret Life of a Digital Nomad
The Secret Life of a Digital Nomad
ย 
The Zen Guide to WatchOS 2
The Zen Guide to WatchOS 2The Zen Guide to WatchOS 2
The Zen Guide to WatchOS 2
ย 
Practical Protocol-Oriented-Programming
Practical Protocol-Oriented-ProgrammingPractical Protocol-Oriented-Programming
Practical Protocol-Oriented-Programming
ย 
Hello, WatchKit
Hello, WatchKitHello, WatchKit
Hello, WatchKit
ย 
Hello, WatchKit
Hello, WatchKitHello, WatchKit
Hello, WatchKit
ย 
Hello, WatchKit
Hello, WatchKitHello, WatchKit
Hello, WatchKit
ย 
HealthKit Deep Dive
HealthKit Deep DiveHealthKit Deep Dive
HealthKit Deep Dive
ย 
Hello watchOS2
Hello watchOS2 Hello watchOS2
Hello watchOS2
ย 
Unleash the Power of Playgrounds
Unleash the Power of PlaygroundsUnleash the Power of Playgrounds
Unleash the Power of Playgrounds
ย 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
ย 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
ย 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
ย 
Persuading with Powerpoint
Persuading with PowerpointPersuading with Powerpoint
Persuading with Powerpoint
ย 
Persuasive Visualization: Data + Design = Engagement
Persuasive Visualization: Data + Design = EngagementPersuasive Visualization: Data + Design = Engagement
Persuasive Visualization: Data + Design = Engagement
ย 
Awesomizing your Squarespace Website
Awesomizing your Squarespace WebsiteAwesomizing your Squarespace Website
Awesomizing your Squarespace Website
ย 
Marketing Strategy, Tools & Tactics
Marketing Strategy, Tools & TacticsMarketing Strategy, Tools & Tactics
Marketing Strategy, Tools & Tactics
ย 
The 3-Hour Website
The 3-Hour WebsiteThe 3-Hour Website
The 3-Hour Website
ย 

Similar to The Swift Architect

From Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsFrom Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dots
Ronald Ashri
ย 
From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the Dots
Ronald Ashri
ย 
Andrea Lattuada, Gabriele Petronella - Building startups on Scala
Andrea Lattuada, Gabriele Petronella - Building startups on ScalaAndrea Lattuada, Gabriele Petronella - Building startups on Scala
Andrea Lattuada, Gabriele Petronella - Building startups on Scala
Scala Italy
ย 

Similar to The Swift Architect (20)

High quality Front-End
High quality Front-EndHigh quality Front-End
High quality Front-End
ย 
New Android Languages
New Android LanguagesNew Android Languages
New Android Languages
ย 
Choosing the right database
Choosing the right databaseChoosing the right database
Choosing the right database
ย 
WordPress for the 99%
WordPress for the 99%WordPress for the 99%
WordPress for the 99%
ย 
Witchcraft
WitchcraftWitchcraft
Witchcraft
ย 
Choosing the Right Database
Choosing the Right DatabaseChoosing the Right Database
Choosing the Right Database
ย 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019
ย 
Bristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQLBristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQL
ย 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at Scale
ย 
Testable JavaScript Strategies
Testable JavaScript StrategiesTestable JavaScript Strategies
Testable JavaScript Strategies
ย 
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
ย 
Graph Modelling
Graph ModellingGraph Modelling
Graph Modelling
ย 
Smoke tests and mirrors
Smoke tests and mirrorsSmoke tests and mirrors
Smoke tests and mirrors
ย 
From Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dotsFrom Content Strategy to Drupal Site Building - Connecting the dots
From Content Strategy to Drupal Site Building - Connecting the dots
ย 
From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the Dots
ย 
The Road to QA
The Road to QAThe Road to QA
The Road to QA
ย 
Andrea Lattuada, Gabriele Petronella - Building startups on Scala
Andrea Lattuada, Gabriele Petronella - Building startups on ScalaAndrea Lattuada, Gabriele Petronella - Building startups on Scala
Andrea Lattuada, Gabriele Petronella - Building startups on Scala
ย 
Walk of Claim - A Meteor Meetup presentation
Walk of Claim - A Meteor Meetup presentationWalk of Claim - A Meteor Meetup presentation
Walk of Claim - A Meteor Meetup presentation
ย 
Transforming developer from Commodity to Premium - A tale of micorservices
Transforming developer from Commodity to Premium - A tale of micorservicesTransforming developer from Commodity to Premium - A tale of micorservices
Transforming developer from Commodity to Premium - A tale of micorservices
ย 
Statistical Programming with JavaScript
Statistical Programming with JavaScriptStatistical Programming with JavaScript
Statistical Programming with JavaScript
ย 

More from Natasha Murashev

The Many Faces of Swift Functions
The Many Faces of Swift FunctionsThe Many Faces of Swift Functions
The Many Faces of Swift Functions
Natasha Murashev
ย 

More from Natasha Murashev (10)

Digital Nomad: The New Normal
Digital Nomad: The New NormalDigital Nomad: The New Normal
Digital Nomad: The New Normal
ย 
Swift Thinking
Swift ThinkingSwift Thinking
Swift Thinking
ย 
Funcitonal Swift Conference: The Functional Way
Funcitonal Swift Conference: The Functional WayFuncitonal Swift Conference: The Functional Way
Funcitonal Swift Conference: The Functional Way
ย 
Intro To Swift
Intro To SwiftIntro To Swift
Intro To Swift
ย 
HealthKit: Getting Ready for the New Year
HealthKit: Getting Ready for the New YearHealthKit: Getting Ready for the New Year
HealthKit: Getting Ready for the New Year
ย 
Learning.... Swift functions!
Learning.... Swift functions!Learning.... Swift functions!
Learning.... Swift functions!
ย 
A Swift introduction a.k.a Fun with Minions!
A Swift introduction a.k.a Fun with Minions!A Swift introduction a.k.a Fun with Minions!
A Swift introduction a.k.a Fun with Minions!
ย 
The Many Faces of Swift Functions
The Many Faces of Swift FunctionsThe Many Faces of Swift Functions
The Many Faces of Swift Functions
ย 
Getting Started with Open Source
Getting Started with Open SourceGetting Started with Open Source
Getting Started with Open Source
ย 
iOSDevCampDC: A Swift Introduction
iOSDevCampDC: A Swift IntroductioniOSDevCampDC: A Swift Introduction
iOSDevCampDC: A Swift Introduction
ย 

Recently uploaded

CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
ย 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
bodapatigopi8531
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
ย 

Recently uploaded (20)

CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
ย 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
ย 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
ย 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
ย 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ย 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
ย 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
ย 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
ย 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ย 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
ย 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
ย 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
ย 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
ย 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
ย 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
ย 
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 

The Swift Architect

  • 1. T H E S W I F T A R C H I T E C T @ N A TA S H A T H E R O B O T
  • 2. @ N ATA S H AT H E R O B O T โ€ข NatashaTheRobot.com โ€ข Swift Newsletter - swiftnews.curated.co
  • 3.
  • 4. J U N E 2 0 1 4
  • 5. J U N E 2 0 1 4
  • 6.
  • 7.
  • 8.
  • 9. mkBlog <*> int(dict,"id") <*> string(dict,"name") <*> bool(dict,"needspassword") <*> (string(dict, "url") >>= toURL) @ C H R I S E I D H O F J S O N PA R S I N G I N S W I F T
  • 10.
  • 11.
  • 12.
  • 13. T H E S W I F T A R C H I T E C T
  • 14.
  • 15. L E A R N I N G โ€ฆ
  • 16.
  • 17.
  • 18. W O R K W I T H O T H E R S
  • 19. T E A C H
  • 20. P U T Y O U R S E L F O U T T H E R E
  • 21. 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
  • 22. C E L E B R AT E B R E A K T H R O U G H S ๐ŸŽ‰
  • 24. S W I F T L E A R N I N G โ€ฆ โ€ข Value Types โ€ข Optionals?! โ€ข Testing
  • 25. VA L U E T Y P E S
  • 26. VA L U E T Y P E S โ€ข structs โ€ข enums โ€ข (tuples)
  • 27.
  • 28. @ A N D Y _ M AT U S C H A K โ€ข Functional Swift Conference: Functioning as a Functionalist โ€ข Realm: Controlling Complexity in Swift
  • 29. 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
  • 30. โ€“ 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.โ€
  • 31. $ grep -e "^struct " swift.md | wc -l 87 $ grep -e "^enum " swift.md | wc -l 8 $ grep -e "^class " swift.md | wc -l 4
  • 32. O P T I O N A L S ? !
  • 33.
  • 34.
  • 35. โ€“ S U N S E T L A K E S O F T WA R E โ€œ~40% of bugs shipped to customers in the last three years would have been caught immediately by using Swiftโ€
  • 37. @ J E S S E _ S Q U I R E S โ€ข Failable initializers, revisited
  • 38. T E S T I N G
  • 39. 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
  • 40.
  • 41. W W D C 2 0 1 5
  • 42.
  • 43.
  • 44. โ€“ @ 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?โ€
  • 45. S T I L L L E A R N I N G โ€ฆ โ€ข Value Types โ€ข Optionals?! โ€ข Testing
  • 46. 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!!!)
  • 47. โ€“ U N K N O W N โ€œLive as if you were to die tomorrow. Learn as if you were to live forever.โ€