Course intended for:

The training is intended for programmers, who want to get to know the Objective-C language and the iOS platform from the start, including more advanced issues (e.g. working with a large database).

Course objective:

The training objective is to get the participants familiar with the iOS platform and with the Requirements defined by Apple company for development of applications for iPhone, iPod Touch and iPad devices. The training curriculum is focused on the solid theoretical base (understanding of documentation and techniques, including a historic outline, e.g. methods of manual memory management) with practical applications. Three complete applications will be written during the training.

During a three-day course, the participants will get familiar with the Objective-C language and the Apple developer environment (Xcode IDE), the popular patterns used in the iOS platform and several accessible frameworks.

Course strengths:

The training curriculum includes mobile application development for iOS platform in the Objective-C language. Not only the basic topics will be presented, but also those, which are used in many applications and can be difficult to learn on one’s own.

The curriculum is being constantly updated to present always the new version of iOS SDK.

Requirements:

The training participants are required to have the object-oriented programming skills. It is recommended that they are familiar with C language (it is not required).

Course parameters:

3*8 hours (3*7 net hours) of lectures and workshops (80% of the training consists of workshops).

During the training, the participant will develop applications using the most frequently utilized frameworks in popular iOS applications.

Course curriculum

  1. Basics and introduction to iOS SDK

    1. The historic outline of NextStep and development of Apple iOS in the recent years

    2. History of iPhone and iPad devices

    3. Hardware and software requirements

    4. Programmer tools

      1. Xcode and Interface Builder,

      2. iOS Simulator,

      3. Instruments

    5. The outline of iOS Software Developer Kit and differences between Cocoa and Cocoa Touch

    6. Getting to know the Human Interface Guideline for Apple mobile devices

      1. Best practices

      2. Case Studies illustrated by the example of Polish companies

    7. Programming in Objective-C language

      1. Objective-C in relation to C language

      2. Language syntax and presentation of new data types

      3. Message transmission

      4. Classes and instances

      5. The role of NSObject in memory management

      6. Memory management methods (manual and ARC)

      7. NSArray and NSDictionary classes

      8. Development of strings, comparison of write lines etc.

      9. Development of numeric objects

      10. Development of getters and setters using property

      11. Development of own getters and setters

      12. Using the delegation pattern

      13. Using the singleton pattern

      14. Defining and management of protocols

      15. Defining of categories

      16. New aspects of Modern Objective-C

  2. Views and navigation between views in iOS

    1. Application development and structure

      1. Discussing of NSBundle

      2. .h, .m, .xib, .nib, .plist files

      3. Development of objects in Interface Builder

      4. The Model-View-Controller paradigm in iOS SDK

      5. Presentation of IBAction and IBOutlet

    2. Interface structure:

      1. Development of the application using StoryBoard and AutoLayout

      2. Interface development for iPhone 4/4S and iPhone 5

      3. Development of universal applications

      4. Development of multilanguage applications

      5. Translation of texts and graphics

      6. Translation using Base Internationalization

    3. Navigation between many views

      1. Presentation of UINavigationController

      2. Presentation of UITabBarController

    4. File management in the iOS system

      1. Presentation of the NSFileManager singleton

      2. Security of data stored

      3. Data management in JSON formats

    5. Adapting of UITableView

      1. UITableViewDelegate and UITableViewDataSource protocols

      2. Development of indexes (ABC... like in an address book)

      3. Adding of UISearchBar and UISearchBarController

    6. Project integration with CocoaPods

  3. Development of lists and the local file system

    1. Concurrent programming

      1. Blocks - Introduction to anonymous functions

      2. Discussing of the NSOperationQueue class

      3. Asynchronous data collection

        • Discussing of NSURL,NSURLRequest and NSURLConnection

        • Downloading of data using NSURLConnection and completionBlock

        • Sending of requests POST/PUT/DELETE

        • Basics of AFNetworking

    2. Basics of databases for iOS

      1. Introduction to CoreData

      2. CRUD methods

      3. Development of subclasses for objects

      4. Development of associations between objects

      5. Data search

      6. Presentation of NSFetchedResultsController protocol

      7. Introduction of changes in the database structure (Schema edition)

      8. Automatic migrations

      9. Development of many context using the Parent-Child paradigm

Any questions?

* Required.


Contact
Phone +48 22 2035600
Fax +48 22 2035601
Email