Upload
mobilenepal
View
153
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Mr. Samesh Swongamikha and Mr. Neetin Sharma gave
Citation preview
iOS App Development
Presented By:
Samesh Swongamikha Neetin Sharma&
Design Patterns
• Loosely based on mvc• Massive view controller
MVVM Pattern
• Model – View –ViewModel
The communication pattern
• Direct• Notification• Delegates• The Reactive way
Database
• Anything that floats• CoreData• Light weight• NSObjectContext• Class Interface
Database optimization
• Normalization• No images• Extensions
Schema-less DB
• Why go schema-less ?• Parse
Networking
• Why do we need web server’s data in iOS?• What kind of data we can get from server?
• JSON or XML or something else?• What kind of server API we need?
• RESTful API , any other?
Networking continued
• Do we need our own server?• use BAAS, for e.g. Parse
Networking continued
• API for server request• NSURLConnection• NSURLSession (iOS 7 on wards)• AFNetworking (third party)• Alamofire (written in swift)
Networking continued
• Use asynchronous server request (do not block main thread).• Use background thread for downloads and uploads.• Don’t store large size image in disk/database but curl when needed in the background using
background thread.• Do not initiate heavy downloads on mobile data, check if device is using wifi.
Memory Management
• Retain/Release• ARC• Be careful (Outlets/ Popovers/ Timers)
Swift• What is swift?• What is new in swift?
• It is designed for type safety• Tuples• Generics• Memory is managed automatically.• Functional programming pattern. e.g. Filters.• Functions are first class objects.
Useful tools/ links
• Cocoapods (http://cocoapods.org/)• Ray Wenderlich Tutorials (http://www.raywenderlich.com/)• Cocoa Controls ( https://www.cocoacontrols.com/)• Realm : a mobile database (http://realm.io/)• Reactive Cocoa (https://github.com/ReactiveCocoa/ReactiveCocoa)• AFNetwoking (https://github.com/AFNetworking/AFNetworking)• Masonry ()
Thank You