Skip to content

Latest commit

 

History

History
212 lines (144 loc) · 2.49 KB

File metadata and controls

212 lines (144 loc) · 2.49 KB

iOS app development preparation list

Premises

Project characters

(scope / development duration / constraints / differences from general projects)

Product characters

(technologies to use / framework / OS / devices)

Motivations of each developer

(want to do / popular technologies / improvements from previous projects)

Things to decide

Development methods

  • GitHubFlow
  • Code reviewing
  • Pair programming
  • Scrum
  • Test Driven Development
  • ...

Tools to manage tasks

  • spreadsheet
  • zenhub
  • trello
  • github issue
  • Kanban
  • ...

Development tools

Library management

  • CocoaPods
  • Carthage
  • (Swift Package Manager)

Resource management

  • SwiftGen
  • R.swift
  • L.swift
  • ...

Version management

  • github
  • gitlab
  • bitbucket
  • ...

Coding support

  • swiftlint
  • ...

UI development

  • Reveal
  • PaintCode
  • CoreAnimator / QuartzCode
  • Tweak
  • ...

UITest

  • appium
  • KIF
  • ...

CI

  • CircleCI
  • bitrise
  • Jenkins
  • fastlane
  • ...

CD

  • Fabric
  • DeployGate
  • TestFlight
  • ...

Libraries

cf.) awesome-swift, awesome-ios

Test

  • Quick / Nimble
  • SwiftCheck
  • ...

Stub / Mock

  • OHHTTPStubs
  • Mockingjay
  • ...

Database

  • CoreData
  • Realm
  • ...

UserDefaults

  • SwiftyUserDefaults

Network

  • Alamofire
  • APIKit
  • ...

Image fetch management

  • Kingfisher
  • Nuke
  • ...

Localization support

  • SwiftGen
  • ...

App Routing

  • Coordinator Pattern (without library)
  • Compass
  • ...

JSON encoder / decoder

(swift4 Codable protocol will be enough)

DI container

  • swinject
  • ...

Functional Reactive Programming

  • ReactiveSwift / ReactiveCocoa
  • RxSwift / RxCocoa
  • ReSwift
  • ...

Analytics / Crash management

  • Firebase
  • Crashlytics
  • Google Analytics
  • ...

Push notification

  • Firebase
  • Amazon SNS
  • ...

UI implementation

  • POP
  • ...

Architecture / Design Patterns

  • MVVM
  • MVC
  • MVP
  • VIPER
  • Clean Architecture
  • Redux
  • ReactorKit (Library/Framework)
  • RIBs
  • MVC+ViewState
  • ModelAdapter-ViewBinder
  • Elm
  • ...

Framework division

  • by repositories
  • by targets
  • no division

Coding guidelines

  • Swift API Design Guideline
  • Wantedly coding guidelines
  • GitHub
  • Ray Wenderlich

Styles to write

  • how to use storyboard
  • how to manage colors / fonts
  • how to manage TableView / CollectionViewのDataSource
  • how much to write tests
  • ...

Apps to reference