SlideShare una empresa de Scribd logo
1 de 53
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

Más contenido relacionado

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

Contributing swift
Contributing swiftContributing swift
Contributing swiftYuki Kuroda
 
KWDC 2023-Swift 히스토리 탐방
KWDC 2023-Swift 히스토리 탐방KWDC 2023-Swift 히스토리 탐방
KWDC 2023-Swift 히스토리 탐방수환 조
 
Try! Swift Tokyo2017
Try! Swift Tokyo2017Try! Swift Tokyo2017
Try! Swift Tokyo2017Amy Cheong
 
A Modest Introduction to Swift
A Modest Introduction to SwiftA Modest Introduction to Swift
A Modest Introduction to SwiftJohn 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 2016Carl Brown
 
Introducing Swift to the Touchwonders Team
Introducing Swift to the Touchwonders TeamIntroducing Swift to the Touchwonders Team
Introducing Swift to the Touchwonders TeamTouchwonders
 
Swift Reference Guide
Swift Reference GuideSwift Reference Guide
Swift Reference GuideGlowTouch
 
Open Source Swift Workshop
Open Source Swift WorkshopOpen Source Swift Workshop
Open Source Swift WorkshopYusuke Kita
 
The Open Source... Behind the Tweets
The Open Source... Behind the TweetsThe Open Source... Behind the Tweets
The Open Source... Behind the TweetsChris 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 uglytlv-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 2016Adam Gask
 
Swift should I switch?
Swift should I switch?Swift should I switch?
Swift should I switch?wulfgeng
 
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 swiftichiko_revjune
 
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 ServerChris Bailey
 
Pushing Swift to the Server
Pushing Swift to the ServerPushing Swift to the Server
Pushing Swift to the Serveribmmobile
 
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)Ontico
 

Similar a 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)
 

Último

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
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.docxComplianceQuest1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
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...ICS
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
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...panagenda
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
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 ...harshavardhanraghave
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
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 🔝✔️✔️Delhi Call girls
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 

Último (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
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
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
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...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
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 ...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
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 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

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