SlideShare a Scribd company logo
Swift
(@_mono)
https://iosdc.jp/2016/c/node/155#


Swift 👻
- 2010 07 17 : Swift
- 2014 06 02 : 1.0
- 2014 09 15 : 1.0
- 2014 10 15 : 1.1
- 2014 04 08 : 1.2
- 2015 09 16 : 2.0
- 2014 10 20 : 2.1
- 2015 12 03 :
- 2016 03 21 : 2.2
- 2016 05 03 : 2.2.1
- 2016 09 : 3.0
- 2017 09 : 4.0
←
Swift
Swift 3.0, 3.x, 4…
Swift
Swift 3.0, 3.x, 4…
2014 6 WWDC
Swift 🎉
https://www.youtube.com/watch?v=w87fOAG8fjk
( * ω´)
2014 Swift 

Swift
https://www.mago-ch.com
Apple 

iOS Swift
Swift (2014 6 )
•
•
•
• map filter reduce
•
• [] Objective-C
🏃
Swift (2014 6 )
•
• Swift
• 9 Xcode 6

Swift ✋️
Swift (2014 6 )
• iOS 

Apple
• CocoaPods
• Objective-C
• Objective-C Swift 

( )
👛
Swift 😋
🤕
Swift
• Xcode
•
💀
Swift
• Objective-C
•
😡
Swift
• Objective-C
•
😡
CTO iMac 5K
💸
Swift
•
• Set (NSSet NSMutableSet )
•
🤔
2015 9 Swift 2
🎉
Swift 2 🎉
• 💀
• 😡
• 🤔
Swift 1.2
Swift 2
Swift 2 🎉
• 💀
• 😡
• 🤔
Swift 1.2
Swift 2
•
• Set (NSSet NSMutableSet )
•
🤔
2014 🤕
•
• Set (NSSet NSMutableSet )
•
🤔
Swift 2 😋
Swift 1.0 beta 5
Swift 2.0
Swift 1.2
enum MyError: ErrorType {
case 💀
}
func someMethod(input: Int) throws {
if input == 0 {
throw MyError.💀
}
print("input: (input)")
}
do {
try someMethod(0)
}
catch let e {
print(e)
}
try? someMethod(0) // nil
try! someMethod(0) //
2015 12 3 Swift
6 WWDC 👏
Swift
• Swift
• Swift
• (Foundation, libdispatch, XCTest)
• Swift Package Manager(SPM)
• SourceKit
😋
Swift
Linux(Ubuntu)
Swift 👀
- IBM Bluemix Swift
macOS 💻
Swift
/
(https://swift.org/about/#swiftorg-and-open-source)
Swift
swift.org
swift-evolution
-
👪
swift.org 👀
Swift
Swift 3.0, 3.x, 4…
Swift
Swift 3.0, 3.x, 4…
Switt 3.0:
Swift 2.2: Swift 3.0
- Swift Evolution
Proposal
-
- Swift 3.0
- SE-0004: ++/—
- SE-0007: C for
Swift 3
-
- ABI(Application Binary Interface) 4.0
Swifty (Swifitication)
- Swift
- Objective-C API C Swifty
Swift
🤔
🤔
Swift 3
-
- ABI(Application Binary Interface) 4.0
Swifty (Swifitication)
- Swift
- Objective-C API C Swifty
Swift
🤔
🤔
Swift
•
•
Swift 3.0:
Swift
•
•
Swift 3.0:
Swift
Swift
OS Swift
- 10MB
ABI(Application Binary Interface) 4.0
ABI …
( API)
Swift
Swift 3.0 :
-
Swift 3.x:
-
- ABI
Swift 4.0: ABI
- 3.0
Swift 3
-
- ABI(Application Binary Interface) 4.0
Swifty (Swifitication)
- Swift
- Objective-C API C Swifty
Swift 3
-
- ABI(Application Binary Interface) 4.0
Swifty (Swifitication)
- Swift
- Objective-C API C Swifty
Swift 2
• Foundation, UIKit Objective-C API
• Objective-C
• C
Objective-C
😞
Swifitication
Swifty
- : Swift API Design Guidelines (Swift 3 ) - Qiita
SE-0023: API 👀
Swifitication
SE-0006: Swift 💪
:
Swifitication
Objective-C API
Swift
Apple Objective-C
SE-0005: Objective-C API Swift ⚙
Swift 2
Swift 3
Swifitication
NS
- : NSURL → URL
var let
- : NSData NSMutableData → Data let var
SE-0069: Foundation Swift
NS
Swifitication
SE-0044: C API Swift ( ) ⚙
Swift 2: Quartz
Swift 3: 🎉


Swift 6,130 CHANGELOG
👀
Swift
Swift Programming Language Evolution: Proposal Status
👀
👀
Swift 3.0, 4.0…
Swift
http://www.buildinsider.net/column/ono-masayuki
Swift
http://www.buildinsider.net/column/ono-masayuki
1 : Swift 3
2 : Swift 3
3 : Swift 3.0 C for
`++` `--` Swift
4 : Swifty Objective-C API
3 : Swift 3
4 : Swift Protocol Value Oriented
6 : Swift 3 SPM
7 : Swift
:
Swift
http://www.buildinsider.net/column/ono-masayuki
1 : Swift 3
2 : Swift 3
3 : Swift 3.0 C for
`++` `--` Swift
4 : Swifty Objective-C API
3 : Swift 3
4 : Swift Protocol Value Oriented
6 : Swift 3 SPM
7 : Swift
:
Swift
http://www.buildinsider.net/column/ono-masayuki
1 : Swift 3
2 : Swift 3
3 : Swift 3.0 C for
`++` `--` Swift
4 : Swifty Objective-C API
3 : Swift 3
4 : Swift Protocol Value Oriented
6 : Swift 3 SPM
7 : Swift
:
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016

More Related Content

Similar to Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016

Contributing swift
Contributing swiftContributing swift
Contributing swift
Yuki Kuroda
 
KWDC 2023-Swift 히스토리 탐방
KWDC 2023-Swift 히스토리 탐방KWDC 2023-Swift 히스토리 탐방
KWDC 2023-Swift 히스토리 탐방
수환 조
 
Try! Swift Tokyo2017
Try! Swift Tokyo2017Try! Swift Tokyo2017
Try! Swift Tokyo2017
Amy Cheong
 
A Modest Introduction to Swift
A Modest Introduction to SwiftA Modest Introduction to Swift
A Modest Introduction to Swift
John Anderson
 
Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016
Carl Brown
 
Introducing Swift to the Touchwonders Team
Introducing Swift to the Touchwonders TeamIntroducing Swift to the Touchwonders Team
Introducing Swift to the Touchwonders Team
Touchwonders
 
Swift Reference Guide
Swift Reference GuideSwift Reference Guide
Swift Reference Guide
GlowTouch
 
Open Source Swift Workshop
Open Source Swift WorkshopOpen Source Swift Workshop
Open Source Swift Workshop
Yusuke Kita
 
The Open Source... Behind the Tweets
The Open Source... Behind the TweetsThe Open Source... Behind the Tweets
The Open Source... Behind the Tweets
Chris Aniszczyk
 
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the uglyUri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
tlv-ios-dev
 
Tips and Tricks for Swift & Dot Swift 2016
Tips and Tricks for Swift & Dot Swift 2016Tips and Tricks for Swift & Dot Swift 2016
Tips and Tricks for Swift & Dot Swift 2016
Adam Gask
 
Swift should I switch?
Swift should I switch?Swift should I switch?
Swift should I switch?
wulfgeng
 
Swift, a Swift Sample
Swift, a Swift SampleSwift, a Swift Sample
Swift, a Swift Sample
Michael Finney
 
A Framework Driven Development
A Framework Driven DevelopmentA Framework Driven Development
A Framework Driven Development
정민 안
 
Integration with swift
Integration with swiftIntegration with swift
Integration with swift
ichiko_revjune
 
Server Side Swift
Server Side SwiftServer Side Swift
Server Side Swift
Software Infrastructure
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the Server
Chris Bailey
 
Swift for-rubyists
Swift for-rubyistsSwift for-rubyists
Swift for-rubyists
Michael Yagudaev
 
Pushing Swift to the Server
Pushing Swift to the ServerPushing Swift to the Server
Pushing Swift to the Server
ibmmobile
 
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Ontico
 

Similar to Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016 (20)

Contributing swift
Contributing swiftContributing swift
Contributing swift
 
KWDC 2023-Swift 히스토리 탐방
KWDC 2023-Swift 히스토리 탐방KWDC 2023-Swift 히스토리 탐방
KWDC 2023-Swift 히스토리 탐방
 
Try! Swift Tokyo2017
Try! Swift Tokyo2017Try! Swift Tokyo2017
Try! Swift Tokyo2017
 
A Modest Introduction to Swift
A Modest Introduction to SwiftA Modest Introduction to Swift
A Modest Introduction to Swift
 
Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016Swift 2.2 Design Patterns CocoaConf Austin 2016
Swift 2.2 Design Patterns CocoaConf Austin 2016
 
Introducing Swift to the Touchwonders Team
Introducing Swift to the Touchwonders TeamIntroducing Swift to the Touchwonders Team
Introducing Swift to the Touchwonders Team
 
Swift Reference Guide
Swift Reference GuideSwift Reference Guide
Swift Reference Guide
 
Open Source Swift Workshop
Open Source Swift WorkshopOpen Source Swift Workshop
Open Source Swift Workshop
 
The Open Source... Behind the Tweets
The Open Source... Behind the TweetsThe Open Source... Behind the Tweets
The Open Source... Behind the Tweets
 
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the uglyUri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
Uri Nachmias - Adopting Swift @Houzz - The good, the bad and the ugly
 
Tips and Tricks for Swift & Dot Swift 2016
Tips and Tricks for Swift & Dot Swift 2016Tips and Tricks for Swift & Dot Swift 2016
Tips and Tricks for Swift & Dot Swift 2016
 
Swift should I switch?
Swift should I switch?Swift should I switch?
Swift should I switch?
 
Swift, a Swift Sample
Swift, a Swift SampleSwift, a Swift Sample
Swift, a Swift Sample
 
A Framework Driven Development
A Framework Driven DevelopmentA Framework Driven Development
A Framework Driven Development
 
Integration with swift
Integration with swiftIntegration with swift
Integration with swift
 
Server Side Swift
Server Side SwiftServer Side Swift
Server Side Swift
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the Server
 
Swift for-rubyists
Swift for-rubyistsSwift for-rubyists
Swift for-rubyists
 
Pushing Swift to the Server
Pushing Swift to the ServerPushing Swift to the Server
Pushing Swift to the Server
 
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
 

Recently uploaded

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
devvsandy
 

Recently uploaded (20)

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
 

Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016