SlideShare a Scribd company logo
1 of 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

More Related Content

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

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
 

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

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

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