Você está na página 1de 35

FPT Software

SMART DEVICES AND MOBILITY DAY ONE


Version 0.3

Copyright 2011 FPT Software

Agenda
Common Smart Devices Why Smart Devices Differences between Smart Devices & PC Operating Systems for Smart Devices Programming Tools iOS Training Class

Copyright 2011 FPT Software

Smart Device Types

Copyright 2011 FPT Software

Smart Device Types (cont)

Copyright 2011 FPT Software

Smart Device Types (cont)

Copyright 2011 FPT Software

Why?
~3.5 billion mobile subscribers, ~77% world population (compare to ~2 billion Internet users). 85% mobile devices now can access Internet. Total ~300 million smart devices shipped, growing ~70%, number of smart devices selling in 2015 would be ~600 million. 1/2 billion people access Internet using mobile more often than using PC.

Copyright 2011 FPT Software

Why? (cont.)

Web waves
Internet to be popular Basic HTML

1997-2000
Client-server Heavy serverside solutions

Thin client/webbased HTML5, JS

1994-1996

2001-2003

Copyright 2011 FPT Software

Why? (cont)

Mobile waves
Smart devices starts Windows Mobile/Symbian

2006-2011
Apps are kings but more on content and entertainment iPhone/Android

Mobile enterprise systems? Cross-platform? Mobile migration?

2001-2005

2012-

Copyright 2011 FPT Software

Why? (cont)

Copyright 2011 FPT Software

Differences
Screen size is smaller than PC

Copyright 2011 FPT Software

10

Differences (cont)
User works on only one screen at a time

Copyright 2011 FPT Software

11

Differences (cont)
Hardware is not strong as PC (CPU, RAM)

Copyright 2011 FPT Software

12

Differences (cont)
(Multi) Touches rather mouse click

Copyright 2011 FPT Software

13

Operating Systems
Apple has iOS (running on iPhone / iPod Touch / iPad)

Copyright 2011 FPT Software

14

Operating Systems (cont)


Google has Android running on many smart phones

Copyright 2011 FPT Software

15

Operating Systems (cont)


Microsoft has Windows Phone

Copyright 2011 FPT Software

16

Development Tools
iOS programming tools

Copyright 2011 FPT Software

17

Development Tools (cont)


Android programming tools

Copyright 2011 FPT Software

18

Development Tools (cont)


Windows Phone programming tools

Copyright 2011 FPT Software

19

Development Tools (cont)


HTML5 is new and can be used for development on almost devices

Copyright 2011 FPT Software

20

iOS Training Class


FSoft has 2 iOS training classes: Basic iOS and Advanced iOS Basic iOS class:
11 sessions + final exercise Requirement: know C programming language

Advanced iOS class:


8 session + final exercise

Copyright 2011 FPT Software

21

Basic iOS Class Day 1


Objective-C & Hello World application. Get familiar with MacOSX environment, shortcut keys
XCode
Project templates Run simulator GUI features of XCode Debug Interface Builder Story Board

Objective-C for C# developers. Homework

Copyright 2011 FPT Software

22

Basic iOS Class Day 2


Day 2: Objective-C in-depth
Declare variables, type, NSObject NSLog with different print format Declaration
Create custom class Define properties Define & and call methods

Alloc and Init


Allocate and initialize object (alloc, init, self, super) String (allocate, manipulate, convert string)

Array (NSArray / NSMuttableArray, loop through array) 2 dimensions array (student self study)

Copyright 2011 FPT Software

23

Basic iOS Class Day 2 (cont.)


Dictionary / Set (student self study) Determine method or class available at runtime (to compatible with different iOS versions) Automatic Reference Counting (strong vs weak) Homework

Copyright 2011 FPT Software

24

Basic iOS Class Day 3


MVC pattern & UI Controls
Anatomy of first GUI app using Empty Application template UILabel, UIButton, UITextField
Create a simple quiz app using Single View Application template UIViewController NSArray, NSMutableArray Target Action Delegate function

Study Apples UICatalog example. UISwitch, UIImage, UISegmentedControl, UISlider, UIStepper


Add image from resource to UISegmentedControl Customize UISlider

Homework
Copyright 2011 FPT Software 25

Basic iOS Class Day 4


UITabBarController, UINavigationControler and Views
Create custom UIViewController with and without XIB file Navigate screens using UINavigationController Customize navigation bar Present multiple view controllers in UITabBarController Combine UINavigationController, UITabBarControlle and custom view controllers. Homework

Copyright 2011 FPT Software

26

Basic iOS Class Day 5


Views, Touch and Multi touches
Display alert with UIAlertView UIScrollView UIWebView
Build a simple web browser Detect memory leaking

Choose value with UIPickerView


UIPickerViewDataSource, UIPickerViewDelegate Row- components

UIDatePicker
Learn code example from Apples UICatalog

Homework

Copyright 2011 FPT Software

27

Basic iOS Day 6


UITableView, UITableViewController
Relationship between UITableView and UITableViewController Populating data for table view Handle table view events Customize table view cell
UITableViewCellAssoryType Add custom view (control) to table view cell. Learn Apples Battery Status app. Add photo thumbnail to table view cell Display context menu on table view cell

Customize headers and footers of table view Manipulate table view cell
Delete a row (swipe delete / program to delete)

Homework

Copyright 2011 FPT Software

28

Basic iOS Class Day 7


Maps
Create a simple Map application Using MKMapViewDelegate Using MKAnnotation Customize MKAnnotationView Edit annotation information Search direction

Copyright 2011 FPT Software

29

Basic iOS Class Day 8


Core Data
Create core data model Generate class files for core data entities Create, Read, Update, Delete, Sort operation with Core Data Manage data relationship in Core Data

Copyright 2011 FPT Software

30

Basic iOS Class Day 9


Networking JSON
Serialize array and dictionary into JSON Deserialize JSON into array and dictionary iOS calls JSON enabled Microsoft WCF Service Homework

Copyright 2011 FPT Software

31

Basic iOS Class Day 10


UI features for iPad
UIPopoverController UISplitViewController Design app that work for both iPhone and iPad devices.
Porting app from iPhone to iPad Dual XIB files for iPhone and Dual story boards iPhone and iPad

Homework
Copyright 2011 FPT Software 32

Basic iOS Class Day 11


Advanced topics
Core Image Camera Custom UIView Multi-tasking Etc.

Copyright 2011 FPT Software

33

Basic iOS Class (cont)


Final Exercise

Copyright 2011 FPT Software

34

Thank you!

Copyright 2011 FPT Software

35