Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Swift and the future of iOS
Search
Chiara Chiappini
November 23, 2015
Programming
33
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift and the future of iOS
Chiara Chiappini
November 23, 2015
More Decks by Chiara Chiappini
See All by Chiara Chiappini
From an idea to your first tested app
kul3r4
0
45
Other Decks in Programming
See All in Programming
golang-bob.pdf
iwatsukayura
0
130
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
220
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
430
APNsからLive Activityを開始する話
yumnumm
0
170
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Navigating Team Friction
lara
192
16k
Visualization
eitanlees
153
17k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
The browser strikes back
jonoalderson
0
1.8k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
The untapped power of vector embeddings
frankvandijk
2
1.9k
Side Projects
sachag
456
43k
Transcript
Swift and the future of iOS Chiara Chiappini @chiarachiappini google.com/+chiarachiappini
Swift @chiarachiappini Jun 2014 June 2015 Some point this year?
Swift announced at WWDC 2014 Swift 2 announced at WWDC 2015 Swift will be open source
Useful reading Swift language guide raywenderlich.com NSHipster.com @chiarachiappini
4 key features of Swift Modern @chiarachiappini
4 key features of Swift Modern Easy @chiarachiappini
4 key features of Swift Modern Easy Safe @chiarachiappini
4 key features of Swift Modern Easy Safe Small @chiarachiappini
Who is using Swift? SlideShare American Airlines Duolingo do you
know more? @chiarachiappini
Swift Playground @chiarachiappini
Swift and Objective-C Swift let name ="Chiara" print("Hello \(name)") Objective-C
NSString*str =@"Hello Chiara"; NSLog(@"%@", str) @chiarachiappini
Xcode vs Appcode @chiarachiappini
Dependency management Cocoapods vs Maven vs Gradle @chiarachiappini
sudo gem install cocoapods pod init edit PodFile (similar to
editing pom.xml) pod install @chiarachiappini
platform :ios, '8.0' use_frameworks! target 'SwiftTalk' do pod 'Alamofire', '~>
3.1' end target 'SwiftTalkTests' do pod 'Quick', '~> 0.6.0' pod 'Nimble', '2.0.0-rc.3' end
Protocol vs Interface @chiarachiappini
protocol Sweet { var sugarQuantity: Int { get } }
class BlackChocolate: Sweet { var sugarQuantity: Int = 10 } @chiarachiappini
Unit Tests @chiarachiappini
XCTest vs JUnit testing framework integrated with XCode @chiarachiappini
XCTest example class MyTestsXCTests: XCTestCase{ let myNumbers = [1,2,3] func
testNumbersWithXCTest() { XCTAssertEqual(1 + 1, 2, "expected one plus one to equal two") for number in myNumbers{ XCTAssertLessThan(number, 4) } } } @chiarachiappini
Use @testable import XCTest @testable import CodemotionExamples class CodemotionExamplesTests: XCTestCase
{ func testBlackChocolateHasSugar() { let blackChocolate = BlackChocolate() XCTAssertEqual(blackChocolate.sugarQuantity, 10, "Expected sugar quantity is 10") } } @chiarachiappini
Quick and Nimble Quick:behaviour driven testing framework Nimble: fluent assertions
https://github.com/Quick/Nimble @chiarachiappini
Nimble func testNumbersWithNimble() { expect(1+1).to(equal(2)) expect([1,2,3]).to(allPass(beLessThan(4))) } @chiarachiappini
func testStringWithNimble() { let myString = "Hello!" expect(myString).to(equal("Hello!")) expect(myString)==("Hello!") expect(myString).to(beginWith("Hel"))
} @chiarachiappini
Quick class MyTestsQuick: QuickSpec { override func spec() { describe("Testing
numbers") { context("when adding 1 and 2"){ it("results as 3") { expect(1+2).to(equal(3)) } } } @chiarachiappini
Testing and CI @chiarachiappini
Continuous Integration early feedback @chiarachiappini
Continuous Integration early feedback team peace of mind and alerting
@chiarachiappini
Continuous Integration early feedback team peace of mind and alerting
standardized build @chiarachiappini
Continuous Integration early feedback team peace of mind and alerting
standardized build record of results @chiarachiappini
Continuous Integration early feedback team peace of mind and alerting
standardized build record of results support release process @chiarachiappini
Continuous Integration early feedback team peace of mind and alerting
standardized build record of results support release process first step to continuous deployment @chiarachiappini
CI for mobile maturity emulators and real devices @chiarachiappini
CI for iOS Xcode server @chiarachiappini
CI for iOS Xcode server Jenkins @chiarachiappini
CI for iOS Xcode server Jenkins ... @chiarachiappini
Xcode service and bots Xcode service integrated in Xcode @chiarachiappini
Xcode service and bots Xcode service integrated in Xcode manage
bots from Xcode @chiarachiappini
Jenkins Xcode plugin or Xcode tool @chiarachiappini
Jenkins Jobs build and unit test the app @chiarachiappini
Jenkins Jobs build and unit test the app run functional
tests @chiarachiappini
Jenkins Jobs build and unit test the app run acceptance
tests build application archive (ipa) @chiarachiappini
Jenkins Jobs build and unit test the app run acceptance
tests build application archive (ipa) tag and archive the ipa @chiarachiappini
Jenkins Jobs build and unit test the app run acceptance
tests build application archive (ipa) tag and archive the ipa send to TestFlight @chiarachiappini
What we learnt What is Swift
What we learnt What is Swift How to practice
What we learnt What is Swift How to practice Some
Java-Swift language equivalences
What we learnt What is Swift How to practice Some
Java-Swift language equivalences Tools
What we learnt What is Swift How to practice Some
Java-Swift language equivalences Tools Testing and CI
Go for Swift!