r
-
Upload
phuochiep123 -
Category
Recruiting & HR
-
view
0 -
download
0
description
Transcript of r
![Page 1: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/1.jpg)
Storyboards vs. Interface Builder vs. Code
![Page 2: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/2.jpg)
Different Methods
![Page 3: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/3.jpg)
StoryboardsHas more than one view and manages transitions
![Page 4: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/4.jpg)
Supported by Apple
![Page 5: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/5.jpg)
Interface Builder
![Page 6: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/6.jpg)
Interface BuilderCirca 1993
![Page 7: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/7.jpg)
Code
![Page 8: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/8.jpg)
Storyboards
![Page 9: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/9.jpg)
One application, one storyboard
![Page 10: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/10.jpg)
One application, one storyboard
![Page 11: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/11.jpg)
Storyboards
![Page 12: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/12.jpg)
Storyboards
![Page 13: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/13.jpg)
BREAK INTO PIECES» Authentication / Registration
![Page 14: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/14.jpg)
BREAK INTO PIECES» Authentication / Registration
» Multi-step Order Forms
![Page 15: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/15.jpg)
BREAK INTO PIECES» Authentication / Registration
» Multi-step Order Forms
» Wizards, Tutorials, etc.
![Page 16: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/16.jpg)
BREAK INTO PIECES» Authentication / Registration
» Multi-step Order Forms
» Wizards, Tutorials, etc.
» Master-Detail
![Page 17: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/17.jpg)
BREAK INTO PIECES: WHY?<viewControllerLayoutGuide type="top" id="cIm-e0-J51"/><viewControllerLayoutGuide type="bottom" id="a0L-h9-sNL"/>
![Page 18: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/18.jpg)
BREAK INTO PIECES: WHY?
![Page 19: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/19.jpg)
CONFLICT
![Page 20: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/20.jpg)
WHEN TO USEADVANTAGES
» Easier Transitions
![Page 21: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/21.jpg)
WHEN TO USEADVANTAGES
» Easier Transitions
» No alloc] init]
![Page 22: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/22.jpg)
WHEN TO USEADVANTAGES
» Easier Transitions
» No alloc] init]
» Visual Tool
![Page 23: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/23.jpg)
WHEN TO USEADVANTAGES
» Easier Transitions
» No alloc] init]
» Visual Tool
» Static Table Views
![Page 24: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/24.jpg)
WHEN TO USEADVANTAGES
» Easier Transitions
» No alloc] init]
» Visual Tool
» Static Table Views
» More than one Cell Templates
![Page 25: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/25.jpg)
WHEN TO USEADVANTAGES
» Easier Transitions
» No alloc] init]
» Visual Tool
» Static Table Views
» More than one Cell Templates
» Less file count
![Page 26: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/26.jpg)
WHEN NOT TO USE» Complex custom UI
» UI with too many clear backgrounds
» Already implemented with code or XIBs
![Page 27: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/27.jpg)
Storyboard Pros +
![Page 28: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/28.jpg)
Storyboard Pros +
PERFORMANCE» Only the initial view is allocated
![Page 29: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/29.jpg)
Storyboard Pros +
PROTOTYPING» Can be used to quickly create prototypes
![Page 30: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/30.jpg)
Storyboard Pros +
VISUAL» For those who are better with visuals
![Page 31: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/31.jpg)
Storyboard Pros +
AUTO-LAYOUT» We'll come back to this
![Page 32: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/32.jpg)
I should use storyboards then.
![Page 33: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/33.jpg)
Storyboard Cons -REUSABILITY
![Page 34: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/34.jpg)
Storyboard Cons -DATA FLOW
![Page 35: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/35.jpg)
Storyboard Cons -
DATA FLOW» prepareForSegue:
![Page 36: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/36.jpg)
Storyboard Cons -CONFLICT
![Page 37: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/37.jpg)
Interface Builder
![Page 38: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/38.jpg)
Interface BuilderOld.
![Page 39: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/39.jpg)
Interface BuilderOld. But NSString is old too.
![Page 40: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/40.jpg)
Interface BuilderMultiple Files for Single views or Single Files for Multiple related views
![Page 41: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/41.jpg)
Interface BuilderEvery view has its own XIB file.
![Page 42: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/42.jpg)
Interface BuilderEvery view has its own XIB file.
“After all, that's what Object-Oriented programming stands for.”
-- Some programmer dude
![Page 43: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/43.jpg)
WHEN TO USE» Modal Views
![Page 44: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/44.jpg)
WHEN TO USE» Modal Views
» Login/Register screens
![Page 45: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/45.jpg)
WHEN TO USE» Modal Views
» Login/Register screens
» Reusable Views (templates, table cells)
![Page 46: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/46.jpg)
WHEN TO USE» Modal Views
» Login/Register screens
» Reusable Views (templates, table cells)
» Everywhere basically
![Page 47: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/47.jpg)
Interface Builder Pros +
Reusability» Prepare once, use everywhere
![Page 48: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/48.jpg)
Interface Builder Pros +
Visual Tool» See what you are making
![Page 49: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/49.jpg)
Interface Builder Pros +Auto-Layout
![Page 50: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/50.jpg)
Interface Builder Cons -
Localization» It's not easy for the unexperienced
![Page 51: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/51.jpg)
Code
![Page 52: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/52.jpg)
Code» When IB and Storyboards aren't enough
![Page 53: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/53.jpg)
Code» Understanding what's under the hood.
![Page 54: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/54.jpg)
Code» Use coding only for a project at least once.
![Page 55: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/55.jpg)
Code Pros +Performance
![Page 56: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/56.jpg)
Code Pros +
Reusability» Good for small changes on similar views
» Open Source
![Page 57: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/57.jpg)
Code Cons -Donkey Corpse amount of Code
![Page 58: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/58.jpg)
Code Cons -
Seeing Results Ain't Easy» Iterate/Run/Debug/Iterate Cycle
![Page 59: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/59.jpg)
Code Cons -
Not Imminent» Changes to the layout can't be applied that fast.
![Page 60: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/60.jpg)
Code Cons -
Anti-Prototyping» Say farewell to your loved ones if you are trying
this.
![Page 61: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/61.jpg)
Code Cons -
Auto-Layout[NSLayoutConstraint constraintWithItem:self.button1 attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.button2 attribute:NSLayoutAttributeLeft multiplier:1.0 constant:-12.0];
![Page 62: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/62.jpg)
The way I work
![Page 63: r](https://reader035.fdocumentos.com/reader035/viewer/2022071302/60a77956c239044ad7681979/html5/thumbnails/63.jpg)
THANKS@seyfoyun - @wearethreadco