SlideShare une entreprise Scribd logo
1  sur  111
Télécharger pour lire hors ligne
The art of developing
more in less time -
how to not get caught
by long build times?
@EliSawic
The art of developing
more in less time
@EliSawic
How to not get
caught by long build
times?
@EliSawic
About me
Eliasz Sawicki
Blog: www.eliaszsawicki.com
Twitter: @EliSawic
www.brightinventions.pl
@EliSawic
The beginning...
@EliSawic
Objective-C
@EliSawic
$wift
@EliSawic
Think
@EliSawic
A short story
about Love
@EliSawic
A short story about Love
1. Friendship
@EliSawic
A short story about Love
1. Friendship
2. Love
@EliSawic
A short story about Love
1. Friendship
2. Love
3. Doubt
@EliSawic
A short story about Love
1. Friendship
2. Love
3. Doubt
4. Betrayal
@EliSawic
A short story about Love
1. Friendship
2. Love
3. Doubt
4. Betrayal
5. Starting over again
@EliSawic
A short story about Love
1. Friendship
2. Love
3. Doubt
4. Betrayal
5. Starting over again
6. Rebuild the trust
@EliSawic
How does it end?
@EliSawic
Friendship
@EliSawic
Objective-C
@EliSawic
The UIKit
@EliSawic
Why do we need
UIKit?
@EliSawic
Love
@EliSawic
Swift
@EliSawic
Practice
@EliSawic
Tests!
@EliSawic
Why do we need
tests?
@EliSawic
Why do we
have brakes
in a car??
@EliSawic
To stop?
@EliSawic
To go faster!
@EliSawic
Test
Driven
Development
@EliSawic
Doubt
@EliSawic
Long
build
times
@EliSawic
Slow
feedback
loops
@EliSawic
No tests
for you today
@EliSawic
Betrayal
@EliSawic
React Native
@EliSawic
Testing feels
natural
@EliSawic
Quick reloading
@EliSawic
Not a
silver bullet
@EliSawic
Starting over again
@EliSawic
What was the
problem?
@EliSawic
Long
build
times
@EliSawic
Slow
feedback
loop
@EliSawic
Rebuild
the trust
@EliSawic
Tackling
compilation
times
@EliSawic
Type
Inference
@EliSawic
Bottleneck
@EliSawic
Warnings
-Xfrontend
-warn-long-function-bodies=200
-Xfrontend
-warn-long-expression-type-checking=100
@EliSawic
Did not work
in my case
@EliSawic
Debug
information
format
@EliSawic
With or without you?
@EliSawic
Take a look at
your build phases
@EliSawic
Build phases
@EliSawic
Build phases
@EliSawic
Build Active Architecture Only
@EliSawic
Xcode settings
defaults write com.apple.Xcode
PBXNumberOfParallelBuildSubtasks 10
defaults write com.apple.dt.Xcode
IDEBuildOperationMaxNumberOfConcurrentCompileTasks 5
@EliSawic
Whole
module
optimization
@EliSawic
Drastically decreased
time in which the
project compiles
@EliSawic
A catch
@EliSawic
A trick
@EliSawic
Why isn't it
turned on
all the time?
@EliSawic
Managing
dependencies
@EliSawic
Cocoapods
@EliSawic
Carthage
@EliSawic
Build tools
@EliSawic
Bazel, Buck
@EliSawic
Xcode
@EliSawic
Xcode
@EliSawic
Easy way to decrease
the compilation time
by half
@EliSawic
Do not compile
the other half
@EliSawic
Modularizing
the code
@EliSawic
More things to think
about...
@EliSawic
Is it bad?
@EliSawic
Nope
@EliSawic
How do we split?
@EliSawic
Don't bite off more
than you can chew
@EliSawic
Step
by
step
@EliSawic
What is the code
that I write?
@EliSawic
We
write
apps!
@EliSawic
Do we really
write apps?
@EliSawic
Tests!
@EliSawic
Why do we compile
the UI code?
@EliSawic
Separating
the UI
@EliSawic
Is it bad that we
break up
with UIKit?
@EliSawic
Nope
@EliSawic
MVC
@EliSawic
MVC
@EliSawic
MVVM
@EliSawic
MVVM
@EliSawic
Why would you
remove UIKit?
@EliSawic
Can be used
anywhere
@EliSawic
Can be tested
anywhere
@EliSawic
Passive Views
@EliSawic
Logic
@EliSawic
Why are they still
together?
@EliSawic
Multiple targets
@EliSawic
One for UIKit
@EliSawic
One for logic
@EliSawic
Two for Tests
@EliSawic
Better architecture
@EliSawic
Speeded up tests
@EliSawic
Faster builds
@EliSawic
The art of developing
more in less time -
how to not get caught
by long build times?
@EliSawic
The art of developing
more in less time
@EliSawic
How to not get
caught by long build
times?
@EliSawic
Time is not the only
issue
@EliSawic
The art of developing
more in less time
@EliSawic
It's about the
experience
@EliSawic
How does the love
story end?
@EliSawic
Stronger
relationship
@EliSawic
It depends on you
@EliSawic
@EliSawic
www.eliaszsawicki.com
@EliSawic

Contenu connexe

Plus de Eliasz Sawicki

Plus de Eliasz Sawicki (12)

Redux - 4Developers
Redux - 4DevelopersRedux - 4Developers
Redux - 4Developers
 
Eliasz sawickimeetupit
Eliasz sawickimeetupitEliasz sawickimeetupit
Eliasz sawickimeetupit
 
Tech fest
Tech festTech fest
Tech fest
 
Introduction to react native
Introduction to react nativeIntroduction to react native
Introduction to react native
 
iOSCon
iOSConiOSCon
iOSCon
 
Code europe
Code europeCode europe
Code europe
 
Introduction To Functional Reactive Programming Poznan
Introduction To Functional Reactive Programming PoznanIntroduction To Functional Reactive Programming Poznan
Introduction To Functional Reactive Programming Poznan
 
Introduction to Functional Reactive Programming
Introduction to Functional Reactive ProgrammingIntroduction to Functional Reactive Programming
Introduction to Functional Reactive Programming
 
Time traveling with ReSwift
Time traveling with ReSwiftTime traveling with ReSwift
Time traveling with ReSwift
 
Calabash
CalabashCalabash
Calabash
 
ReSwift CocoaHeads Tricity
ReSwift CocoaHeads TricityReSwift CocoaHeads Tricity
ReSwift CocoaHeads Tricity
 
ReactiveCocoa workshop
ReactiveCocoa workshopReactiveCocoa workshop
ReactiveCocoa workshop
 

Dernier

CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
anilsa9823
 

Dernier (7)

CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 

The art-of-developing-more-in-less-time-berlin