iOS
Swift girls 2/20
Sean Chen
QUICK POLL
•
• Swift
• Command line
• git
• git sub-module
• Design pattern
• Fastlane
SEAN
•
• Found
• System & App development
• HackNTU 2015 award, 2016 iOS Speaker
CORE IDEAS
• Clean code
• Automation
• How to write less and more effective?
• Automation for Continuous Integration
HOWTO WRITE LESS?
A. Follow OOP guides
B. Snippet, snippet and snippet
C. Clean Project Structures
D. Use Design Patterns
A. OBJECT ORIENTED
PROGRAMMING
•
•
•
OBJECT ORIENTED
PROGRAMMING
• 4 major principles
• Abstraction
• Encapsulation (Accessor, Mutator)
• Inheritance
• Polymorphism
• Best Practice: Code Review
ABSTRACTION
• is used to manage complexity. Software
developers use abstraction to decompose
complex systems into smaller components
ABSTRACTION
• Class
• Class
ABSTRACTION
ENCAPSULATION
POLYMORPHISM
POLYMORPHISM
INHERITANCE
B. SNIPPETS
• Xcode Demo
• Evernote
SNIPPETS
• Xcode Demo
• Evernote
SNIPPETS
• Xcode Demo
• Evernote
SNIPPETS
• Xcode Demo
• Evernote
C. PROJECT STRUCTURE
• MVC &ViewController
• Controller
PROJECT STRUCTURE - 2
• ViewControllers
• VC
PROJECT STRUCTURE - 3
• Core Logic
• Model
• Helpers
• Codebase (git submodule)
• UI Subclasses
PROJECT STRUCTURE - 4
• Views
• Color
• Storyboard/ Xib
• Assets
D. USE DESIGN PATTERNS
• What is design patterns?
• Why use them?
• https://github.com/ochococo/Design-Patterns-In-Swift
• Singleton
• Façade
• Bridge
SINGLETON
FAÇADE
BRIDGE
•
•
•
• git
-
2
• git submodule
• git repo git repo
• repo
• ex: https://github.com/SeanChenU/
Swift_Codebase
FASTLANE -
• sudo gem install fastlane
• https://fabric.io/features/distribution?utm_campaign=fastlane.tools
• Command line
•
• Build iOS ipa
• Testflight
• Slack, Crashlytics
•
• APNs profiles
FASTLANE - FILES
• Appfile
• Fastfile
/
IS HIRING…!
• iOS full-time/ part-time developer
• appar.com.tw
• facebook.com.tw/sean820816
• sean@appar.com.tw
SOURCES
• http://www.iphonelife.com/blog/31369/swift-
programming-101-inheritance-polymorphism
• https://github.com/ochococo/Design-Patterns-In-
Swift

如何提升 iOS 開發速度?