Ivan Ostafiychuk Skype iostaf Swift Universe Disclaimer Im not going to talk about Swift languages Sorry for that Agenda Team Work Productivity Bright Future Team work Make it pleasant experience ID: 629594
Download Presentation The PPT/PDF document "Swift road to the paradise" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Swift road to the paradise
Ivan Ostafiychuk
Skype:
iostafSlide2
Swift UniverseSlide3
Disclaimer
I’m not going to talk about Swift languages. Sorry for that.Slide4
Agenda
Team Work
Productivity
Bright FutureSlide5
Team work
Make it pleasant experienceSlide6
Start around your project
Conventions, how to naming file (code, images, etc.) and folders
Structure, how to organize things in both
X
code and File systemStoryboards: Godsend or Evil spirit?Slide7
Code Conventions: examples
Ray
Wenderlich
NYTimes
Ray Wenderlich
GitHubSlide8
One good example
It looks nice and clean. Right?
├─ Frameworks
├─
Models
├─ View Controllers
├─ Views├─ Helpers├─ SupportSlide9
But…Slide10
Project conventions
It’s not about
coding style
only
But also:UI Assets (e.g. image file naming, color naming, etc.)VCS/SCM MessagesVCS/SCM CHANGES (e.g.
git/svn commits)Slide11
StoryboardsSlide12
Storyboards: Good or EviL
?
PROS:
Fast and efficient to layout controls
Cool workflow visualization (Big Pic.)Auto Layout is a breeze
Size Classes support
CONS:Merge conflictsChanges noiseSlide13
Storyboards: Change noiseSlide14
Tame the beast
Unify your environment
Divide and
conquer ruleEstablish ownership
Use XIBsMerge oftenSlide15
Productivity
Right tools for right workSlide16
Know your toolbox
Productivity TipsSlide17
Open QUickly
⌘⇧OSlide18
Named TabsSlide19
Custom Code SnippetsSlide20
Find PaneSlide21
Jump BarSlide22
Version EditorSlide23
Go beyond your toolbox
Xcode
PluginsSlide24
alcatraz.io
curl -
fsSL
https://
raw.githubusercontent.com
/
supermarin/Alcatraz/deploy/Scripts/
install.sh | shSlide25
FuzzyAutocompleteSlide26
KSImageNamed-XcodeSlide27
XAlignSlide28
VVDocumenter-XcodeSlide29
Bright Future
It’s all about adapting to changeSlide30
L10n || i18n
Because we care about our usersSlide31
NSLocalizedString: use it in your code
textField.placeholder
=
NSLocalizedString
(@"Username", nil);
textField.placeholder = NSLocalizedString
("Username", comment: "")Slide32
NSLocalizedString: Configuration
//
Main.strings
"I like" = "Me
gusta
";Slide33
Dependency managementSlide34
CocoaPods
The first and still actualSlide35
CocoaPods:
Installation
$ [
sudo
] gem install
cocoapods
$ pod setupSlide36
CocoaPods: Use
$ edit
Podfile
platform :
ios
[
use_frameworks!
]pod 'JSONKit
’, '~>
1.4'
pod '
Reachability’, '
~>
3.0.0’
$ pod install
$ open
MyApp.xcworkspaceSlide37
CocoaPods: Find a pod
Open
cocoapods.org
Type your pod in search
Copy and paste in your
PodfileSlide38
Create a pod
DemoSlide39
Carthage
Modern RivalSlide40
Carthage: Installation and usage
Download installer from
https
://
github.com/Carthage/Carthage/releasesCreate
CartfileRun carthage update [--platform iOS]
Cartfile
:
github
"
thoughtbot
/Argo" ~>
2.
github
"Carthage/Commandant" "0.7.0-beta.1"Slide41
Questions?