Course Outline
Basic Concepts of Programming
- OOPS concepts
- What is a software
- Organized v/s un-organized rooms concept in programming
- Why Software
Why Apple and iOS
- Why iOS
- History of Apple
- iOS History
- Apple’s USP
- What Apple is famous for
- UX v/s UI
Development environment
- Development environment requirements
- Xcode and the iOS SDK
- Apple Developer Registration
- Reasons why Applications get rejected
- Human Interface Guidelines
Xcode iOS Projects
- Overview of Xcode
- Creating an iOS project
- Running on simulator and real devices
Swift Basics
- Why Objective C and now why Swift?
- Wow Factors in Swift
- Variables
- Constants
- Hello World in Swift
- Making UILabel with code
Image Animation and image loading
- UIImageView
- Basic UIView and UIImageView animations
- Playground
- Lazy loading of images
- Lazy properties
Swift Classes and Scenes
- Creating Swift classes
- Memory management
- Strong and weak references
- Constructor types and destructors in Swift
- Protocols, Hashable and Printable
- Inheritance
- Creating Scenes
- Implementing View Controllers
- Playground
Life Cycle and Responder Chain
- View Life Cycle
- Application Life Cycle
- Responder Chain - touchBegan, touchMoved, etc methods
- NSTimer
Adaptive Layout
- Storyboards vs XiB
- Multiple Device Support
- Icon Sizing and Device Orientation
- Building a User Interface using code
- Outlets and Actions
- Protocols - Required and optional
- Memory management
Notifications and Localization
- Push Notification - Silent and Push
- Localization
Overview of Objective C
- Properties
- Categories
- Functions syntax
- Property attributes readWrite and readOnly
Social Media Integration in iOS :
- Facebook Integration
- Twitter Integration
- Mail Integration
- Integrating a third party app
UI Components in iOS :
- UITextField
- UITextView
- UISegementControl
- UISlider
- UiSwtich
- UIProgessBar
- UIPageControl
- UIStepper
- UIScrollView
- UIPicker
- UIActionSheet
- UIWebView
- SearchBar
Some other basics components and others in iOS :
- Groups and folders
- Closure
- Tuples
- URL Session
- URLRequest
- UIAlertView
- UIActivityIndicatorView
- internal, public, private
- Guard
- Optionals
Threading in iOS :
- GCD
- NSOperationQueue
- Main Thread and Background Threads
User Interaction
- Buttons and handlers
- Pan gesture recognition
- Tap gesture recognition
- Custom Table View
- Basics of Collection View
Multiple Screen Applications
- Table Navigation
- Tabbed Applications
- Navigation Controllers
- Presenting a controller and different animations while presenting and pushing controllers
Location Services
- Position and Altitude
- Compass Direction
Device Access and Storage
- File Storage
- Music Library Access
- CoreData and Sqlite in iOS
- Key Chain
- User Defaults
- PLists
- NSSearchDomain
- Directory concept and security of apps NSSearchDomain
Speech Framework
- Speech to text
- Text to Speech
Multipeer Framework
- Sending data from one device to other
- Connecting multiple devices
Networking
- Network Access
- Serialising and Deserialising JSON
- REST Web Services
- Basics of XML Parsing
Upload App to App Store
- ITunes Connect
- Developer Portal - Provisioning profiles
- Deployment and distribution
- Running app on real devices
- Uploading app to app store
Applications
- Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
- Notes app : Notes App
- Contacts App
- Getting data from server from an open API app and make a table view and populate data and show its details also and show Search bar and search for something and use Core Data to save data offline
- Application of your own idea
Requirements
You must have at least one programming language experience in the past.
Testimonials (4)
The way of transferring knowledge and the knowledge of the trainer.
Jakub Rękas - Bitcomp Sp. z o.o.
Course - Machine Learning on iOS
Pacing, depth, and explanations were all superb. It's clear Scott is an expert on the subject and learning from him was super enjoyable.
Ben Leiken - SurveyMonkey
Course - Reactive Programming for iOS with RxSwift
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.
Abdullah Alaradi - Thiqah Business Services
Course - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.