/
Swift road to the paradise Swift road to the paradise

Swift road to the paradise - PowerPoint Presentation

yoshiko-marsland
yoshiko-marsland . @yoshiko-marsland
Follow
360 views
Uploaded On 2018-02-09

Swift road to the paradise - PPT Presentation

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

carthage pod code cocoapods pod carthage cocoapods code github nslocalizedstring storyboards work file naming conventions productivity install swift xcode

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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?