SlideShare une entreprise Scribd logo
1  sur  48
iOS Introduction
 Mobile*China Forum App Conference 2011
Santa Clara Convention Center, Santa Clara
             October 23, 2011
Silence
Follow Us   #iOS

            •   Adjunct Professor
            •   Guest Lecture @ University
            •   Conference Speaker
            •   Technical Editor
Bess Ho
@bess
            •   Book Author
Follow Us     #iOS


          •    10 years in Web designer &
               development
          •    3 years in Mobile

Bess Ho
          •    Focus in UI & Architecture
@bess     •    Background in consumer
               behavior & data analytic
          •    Advising startup at seed &
               early stage
Why iOS
93% of Fortune 500 companies
are testing or deploying the
iPhone.
Over 80% of the top hospitals in
the US are testing or piloting
iPads.
92% of the Fortune 500
companies are testing or
deploying iPad. It is unheard of.
250 Million
   iOS Devices
#1
iOS the number 1 mobile OS
Single App Idea
Requirements
•   Intel-based Mac OSX Snow Leopard or Lion
•   Update Mac OSX Software 10.6.8 or 10.7
•   Apple Developer Account
•   Safari (FREE) Mac ($99/yr) iOS ($99/yr)
•   iOS4.3 SDK
•   Xcode 3 or Xcode 4 ($)
•   Requires 5GB+ Download
•   Requires 11GB+ Install
                 Bess.co 2011 Copyright © All rights are reserved
Apple Developer Acct
http://developer.apple.com/programs/register/



                                                                FREE
             Bess.co 2011 Copyright © All rights are reserved
Bess.co 2011 Copyright © All rights are reserved
Bess.co 2011 Copyright © All rights are reserved
Xcode 4




Instruments                        Interface Builder

        Bess.co 2011 Copyright © All rights are reserved
Xcode 4




IDE
UI Editor - Interface Builder
Debugger
Source code repository Management
Single “workspace window”
        Bess.co 2011 Copyright © All rights are reserved
workspace window




Bess.co 2011 Copyright © All rights are reserved
Xcode 4         workspace window




          Bess.co 2011 Copyright © All rights are reserved
Bess.co 2011 Copyright © All rights are reserved
Bess.co 2011 Copyright © All rights are reserved
Templates

iOS4




       Bess.co 2011 Copyright © All rights are reserved
MVC

Model View Controller (MVC) pattern separates
application’s data structures (Model) from user interface
(View) with the connecting layer (Controller)



             View                                    Model




                           Controller
              Bess.co 2011 Copyright © All rights are reserved
MVC

.xib                                 Data
                                                          List of tasks
View                               Model                  State of each task

                                                          Object containing a table with
                                                          cells allowing text entry and
                                                          user interaction

         Controller
       ViewController
 Respond to user input or inform
 the view to update visual elements
 Trigger Model to perform action
 to data
       Bess.co 2011 Copyright © All rights are reserved
Simple App
                   .xib
    Interface Builder
                  View




           Controller
                Model
                .h & .m

      ViewController
Bess.co 2011 Copyright © All rights are reserved
Frameworks



     UIKit.framework

Foundation.framework

CoreGraphics.framewrk




Bess.co 2011 Copyright © All rights are reserved
Frameworks


                           1) Cocoa Touch
                           touch and event-driven and interface components
Cocoa Touch
                           2) Media
                           Play and record audio; animation for 2D & 3D
   Media
                           3) Core Services
                           Access lower level features such as files, networking,
Core Services              location, in-app purchase

                           4) Core OS
  Core OS                  Access to memory, file system, lower level networking
                           and hardware




            Bess.co 2011 Copyright © All rights are reserved
Bess.co 2011 Copyright © All rights are reserved
Bess.co 2011 Copyright © All rights are reserved
View Controller


     header file                                    implementation file
        (.h)                                             (.m)

       Declare                                                 Execute

•   instance variables
•   properties
•   methods
                 Bess.co 2011 Copyright © All rights are reserved
Debugging



/* This is a comment */

/*
 * This is a comment
 * Continue into next line(s)
 */

// This is a Comment




                        Bess.co 2011 Copyright © All rights are reserved
Import Directive
                                    helloiphoneViewController.h


Never include more than once



  // Include header files
  #import <UIKit/UIKit.h>

  // Declare class names and its superclasses
  @interface helloiphoneViewController : UIViewController
  <UITableViewDelegate> {

  }

  // Declare properties and methods

  // Close @interface directive
  @end


                           Bess.co 2011 Copyright © All rights are reserved
Interface Directive
                               helloiphoneViewController.h

     Protocol(s)                      Class                     Superclass



// Include header files
#import <UIKit/UIKit.h>

// Declare class names and its superclasses
@interface helloiphoneViewController : UIViewController
<UITableViewDelegate> {

}

@end


          // Adding Multiple Delegates
          <UITableViewDelegate, UIAccelerometerDelegate>


                      Bess.co 2011 Copyright © All rights are reserved
ViewController.h
                                    helloiphoneViewController.h




#import <UIKit/UIKit.h>


@interface helloiphoneViewController : UIViewController {

      UILabel *myLabel;
}

@property (nonatomic, retain) IBOutlet UILabel *myLabel;

-void()myMethod;

@end


                                                                              Property
    Instance variables                   Method
                           Bess.co 2011 Copyright © All rights are reserved
Declare Variable


Declare an UILabel variable named “myLabel”




                // Declare UILabel variable
                UILabel *myLabel;




                        Bess.co 2011 Copyright © All rights are reserved
Declare Property

1) Declare a property of UILabel object named “myLabel”
2) Assign IBOulet to UILabel object
3) Assign retain and nonatomic to UILabel object




// Declare UILabel variable
@property (nonatomic, retain) IBOutlet UILabel *myLabel;




                        Bess.co 2011 Copyright © All rights are reserved
Declare Method


Declare a method that implementation file is going to use




          // Declare a method
          -void()myMethod;




                         Bess.co 2011 Copyright © All rights are reserved
ViewController.m
                                      helloiphoneViewController.m


#import directive          #import "helloiphoneViewController.h"

@implementation            @implementation helloiphoneViewController
section
                           @synthesize myLabel;

Synthesizing a property    - (void)didReceiveMemoryWarning {
                           
 // Releases the view if it doesn't have a superview.
                              [super didReceiveMemoryWarning];
                           
Method Declaration         
 // Release any cached data, images, etc that aren't in use.
                           }

                           - (void)viewDidUnload {
                           
 // Release any retained subviews of the main view.
                           
 // e.g. self.myOutlet = nil;
                           }

                           - (void)dealloc {
                              [super dealloc];
                           }

@end directive             @end



                              Bess.co 2011 Copyright © All rights are reserved
IBOutlet vs IBAction


                           UIElements
 Interface Builder
                              add
        .xib
                              UIView
IBActions                                                 IBOutlets
   Optional                                                  Always
                         ViewController
                                subclass

       Add UI elements to UIView in Interface Builder. You
       subclass UIViewController to add functionality. IBOutlets
       hook up UIElements in UIView to access them. IBActions
       trigger actions based on user gestures on UIView
       elements.      Bess.co 2011 Copyright © All rights are reserved
UI Color




self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage
imageNamed: @"Background.png"]];




                Bess.co 2011 Copyright © All rights are reserved
320 pixel




                                                        480 pixel




iPhone /2011 Copyright © All rights are reserved Size
     Bess.co
             iTouch Screen
640 pixel




                                            960 pixel




iPhoneCopyright © All rights are reserved
  Bess.co 2011
               4 Screen Size
768 pixel




                                                   1024 pixel




iPad Screen Size
Bess.co 2011 Copyright © All rights are reserved
Coding Options




       Universal App


 Bess.co 2011 Copyright © All rights are reserved
Icon.png         Icon@2x.png                           iTunesArtwork




57 x 57 pixel
Icon-72.png       114 x 114 pixel
                  Icon-Small.png


72 x 72 pixel    29 x 29 pixel      512 x 512 pixel
Icon-Small-50.png Icon-Small@2x.png



  50 x 50 pixel          58 x 58 pixel
                           App Icons reserved
                  Bess.co 2011 Copyright © All rights are
Paper Wireframe
    Pen + Paper
Digital Wireframe
      Balsamiq
 http://www.balsamiq.com/
http://www.slideshare.net/bess.ho




   Q&A
           Find out class schedules
             http://bit.ly/iOSClass
   http://www.udemy.com/ios-development/
Q&A
                    Thank you
       Find out class schedules

          http://bit.ly/iOSClass
http://www.udemy.com/ios-development/
        Bess.co 2011 Copyright © All rights are reserved

Contenu connexe

En vedette

Fp Franchising Orientation Version 2
Fp Franchising Orientation Version 2Fp Franchising Orientation Version 2
Fp Franchising Orientation Version 2Leopold Laset
 
IBS International Builders Show 2008, Orlando, Florida
IBS International Builders Show 2008, Orlando, FloridaIBS International Builders Show 2008, Orlando, Florida
IBS International Builders Show 2008, Orlando, Floridapalmharbor
 
Women in Mobile
Women in MobileWomen in Mobile
Women in MobileBess Ho
 
Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013SEO Summer Festival
 
1.28.08 Integration Intro
1.28.08   Integration Intro1.28.08   Integration Intro
1.28.08 Integration Introchrismac47
 
Kindoma - Aging 2.0 - 2013.01.22
Kindoma - Aging 2.0 - 2013.01.22Kindoma - Aging 2.0 - 2013.01.22
Kindoma - Aging 2.0 - 2013.01.22ballagas
 
The Real Way Of Success
The Real Way Of SuccessThe Real Way Of Success
The Real Way Of Successguest50b09f
 
How to make sales when you dont like selling 2
How to make sales when you dont like selling 2How to make sales when you dont like selling 2
How to make sales when you dont like selling 2Alan Fairweather
 
We Need to Talk About CSS
We Need to Talk About CSSWe Need to Talk About CSS
We Need to Talk About CSSSean Durham
 
VAWA Self Petitioning
VAWA Self PetitioningVAWA Self Petitioning
VAWA Self PetitioningDesh Kapoor
 
Tolstoi
TolstoiTolstoi
TolstoiVeraN
 
Active Galactic Nuclei
Active Galactic NucleiActive Galactic Nuclei
Active Galactic Nucleiguest2ff6d8
 
Develop Flash Lite App in Nokia S60
Develop Flash Lite App in Nokia S60Develop Flash Lite App in Nokia S60
Develop Flash Lite App in Nokia S60Bess Ho
 
Death Valley
Death ValleyDeath Valley
Death Valleybiology6
 

En vedette (20)

Innovation
InnovationInnovation
Innovation
 
Fp Franchising Orientation Version 2
Fp Franchising Orientation Version 2Fp Franchising Orientation Version 2
Fp Franchising Orientation Version 2
 
lub-nong
lub-nonglub-nong
lub-nong
 
Ife Ina
Ife InaIfe Ina
Ife Ina
 
IBS International Builders Show 2008, Orlando, Florida
IBS International Builders Show 2008, Orlando, FloridaIBS International Builders Show 2008, Orlando, Florida
IBS International Builders Show 2008, Orlando, Florida
 
Women in Mobile
Women in MobileWomen in Mobile
Women in Mobile
 
Cytech iBeacon Primer
Cytech iBeacon PrimerCytech iBeacon Primer
Cytech iBeacon Primer
 
Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013Congreso Internet3.0 Alicante 2013
Congreso Internet3.0 Alicante 2013
 
1.28.08 Integration Intro
1.28.08   Integration Intro1.28.08   Integration Intro
1.28.08 Integration Intro
 
CrowdSourcing
CrowdSourcingCrowdSourcing
CrowdSourcing
 
Kindoma - Aging 2.0 - 2013.01.22
Kindoma - Aging 2.0 - 2013.01.22Kindoma - Aging 2.0 - 2013.01.22
Kindoma - Aging 2.0 - 2013.01.22
 
The Real Way Of Success
The Real Way Of SuccessThe Real Way Of Success
The Real Way Of Success
 
How to make sales when you dont like selling 2
How to make sales when you dont like selling 2How to make sales when you dont like selling 2
How to make sales when you dont like selling 2
 
I-9 Compliance
I-9 ComplianceI-9 Compliance
I-9 Compliance
 
We Need to Talk About CSS
We Need to Talk About CSSWe Need to Talk About CSS
We Need to Talk About CSS
 
VAWA Self Petitioning
VAWA Self PetitioningVAWA Self Petitioning
VAWA Self Petitioning
 
Tolstoi
TolstoiTolstoi
Tolstoi
 
Active Galactic Nuclei
Active Galactic NucleiActive Galactic Nuclei
Active Galactic Nuclei
 
Develop Flash Lite App in Nokia S60
Develop Flash Lite App in Nokia S60Develop Flash Lite App in Nokia S60
Develop Flash Lite App in Nokia S60
 
Death Valley
Death ValleyDeath Valley
Death Valley
 

Plus de Bess Ho

Product Design Using Solidworks
Product Design Using SolidworksProduct Design Using Solidworks
Product Design Using SolidworksBess Ho
 
4/7/2021 Investment Panel
4/7/2021 Investment Panel4/7/2021 Investment Panel
4/7/2021 Investment PanelBess Ho
 
SVB 4/21/2021 Introduction
SVB 4/21/2021 IntroductionSVB 4/21/2021 Introduction
SVB 4/21/2021 IntroductionBess Ho
 
Competitor Analysis
Competitor AnalysisCompetitor Analysis
Competitor AnalysisBess Ho
 
InvoTech Happy Hour 2019
InvoTech Happy Hour 2019InvoTech Happy Hour 2019
InvoTech Happy Hour 2019Bess Ho
 
Fundraising in Silicon Valley
Fundraising in Silicon ValleyFundraising in Silicon Valley
Fundraising in Silicon ValleyBess Ho
 
Empowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile EraEmpowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile EraBess Ho
 
WITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile TrendWITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile TrendBess Ho
 
Gmicsv 2012 oct
Gmicsv 2012 octGmicsv 2012 oct
Gmicsv 2012 octBess Ho
 
WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012Bess Ho
 
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and USStanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and USBess Ho
 
Putting Web Into Native App
Putting Web Into Native AppPutting Web Into Native App
Putting Web Into Native AppBess Ho
 
Android Open 2011
Android Open 2011Android Open 2011
Android Open 2011Bess Ho
 
Silicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce PanelSilicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce PanelBess Ho
 
Iosdevcamp 2011.key
Iosdevcamp 2011.keyIosdevcamp 2011.key
Iosdevcamp 2011.keyBess Ho
 
Icon & App Design Secrets for Mobile
Icon & App Design Secrets for MobileIcon & App Design Secrets for Mobile
Icon & App Design Secrets for MobileBess Ho
 
SF Lean Startup Machine Workshop
SF Lean Startup Machine WorkshopSF Lean Startup Machine Workshop
SF Lean Startup Machine WorkshopBess Ho
 
JumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for MomsJumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for MomsBess Ho
 
Where Should I Go: Smart Phones
Where Should I Go: Smart PhonesWhere Should I Go: Smart Phones
Where Should I Go: Smart PhonesBess Ho
 
Beautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & ArchitectureBeautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & ArchitectureBess Ho
 

Plus de Bess Ho (20)

Product Design Using Solidworks
Product Design Using SolidworksProduct Design Using Solidworks
Product Design Using Solidworks
 
4/7/2021 Investment Panel
4/7/2021 Investment Panel4/7/2021 Investment Panel
4/7/2021 Investment Panel
 
SVB 4/21/2021 Introduction
SVB 4/21/2021 IntroductionSVB 4/21/2021 Introduction
SVB 4/21/2021 Introduction
 
Competitor Analysis
Competitor AnalysisCompetitor Analysis
Competitor Analysis
 
InvoTech Happy Hour 2019
InvoTech Happy Hour 2019InvoTech Happy Hour 2019
InvoTech Happy Hour 2019
 
Fundraising in Silicon Valley
Fundraising in Silicon ValleyFundraising in Silicon Valley
Fundraising in Silicon Valley
 
Empowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile EraEmpowered Entrepreneurs and Hyper Growth in Mobile Era
Empowered Entrepreneurs and Hyper Growth in Mobile Era
 
WITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile TrendWITI Summit 2013 Mobile Trend
WITI Summit 2013 Mobile Trend
 
Gmicsv 2012 oct
Gmicsv 2012 octGmicsv 2012 oct
Gmicsv 2012 oct
 
WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012WITI.ORG Women Technology Summit 2012
WITI.ORG Women Technology Summit 2012
 
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and USStanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
Stanford EE402T 2012: Hong Kong Startup & Funding Between Hong Kong and US
 
Putting Web Into Native App
Putting Web Into Native AppPutting Web Into Native App
Putting Web Into Native App
 
Android Open 2011
Android Open 2011Android Open 2011
Android Open 2011
 
Silicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce PanelSilicon Valley China Wireless Conference m-commerce Panel
Silicon Valley China Wireless Conference m-commerce Panel
 
Iosdevcamp 2011.key
Iosdevcamp 2011.keyIosdevcamp 2011.key
Iosdevcamp 2011.key
 
Icon & App Design Secrets for Mobile
Icon & App Design Secrets for MobileIcon & App Design Secrets for Mobile
Icon & App Design Secrets for Mobile
 
SF Lean Startup Machine Workshop
SF Lean Startup Machine WorkshopSF Lean Startup Machine Workshop
SF Lean Startup Machine Workshop
 
JumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for MomsJumpyBirds iTunes for Toddlers & Amazon for Moms
JumpyBirds iTunes for Toddlers & Amazon for Moms
 
Where Should I Go: Smart Phones
Where Should I Go: Smart PhonesWhere Should I Go: Smart Phones
Where Should I Go: Smart Phones
 
Beautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & ArchitectureBeautiful Mind: iPhone Anatomy & Architecture
Beautiful Mind: iPhone Anatomy & Architecture
 

Dernier

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Dernier (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Mobile China Forum App Conference 2011 iOS Session

  • 1. iOS Introduction Mobile*China Forum App Conference 2011 Santa Clara Convention Center, Santa Clara October 23, 2011
  • 3. Follow Us #iOS • Adjunct Professor • Guest Lecture @ University • Conference Speaker • Technical Editor Bess Ho @bess • Book Author
  • 4. Follow Us #iOS • 10 years in Web designer & development • 3 years in Mobile Bess Ho • Focus in UI & Architecture @bess • Background in consumer behavior & data analytic • Advising startup at seed & early stage
  • 6. 93% of Fortune 500 companies are testing or deploying the iPhone. Over 80% of the top hospitals in the US are testing or piloting iPads. 92% of the Fortune 500 companies are testing or deploying iPad. It is unheard of.
  • 7. 250 Million iOS Devices
  • 8. #1 iOS the number 1 mobile OS
  • 10.
  • 11. Requirements • Intel-based Mac OSX Snow Leopard or Lion • Update Mac OSX Software 10.6.8 or 10.7 • Apple Developer Account • Safari (FREE) Mac ($99/yr) iOS ($99/yr) • iOS4.3 SDK • Xcode 3 or Xcode 4 ($) • Requires 5GB+ Download • Requires 11GB+ Install Bess.co 2011 Copyright © All rights are reserved
  • 12. Apple Developer Acct http://developer.apple.com/programs/register/ FREE Bess.co 2011 Copyright © All rights are reserved
  • 13. Bess.co 2011 Copyright © All rights are reserved
  • 14. Bess.co 2011 Copyright © All rights are reserved
  • 15. Xcode 4 Instruments Interface Builder Bess.co 2011 Copyright © All rights are reserved
  • 16. Xcode 4 IDE UI Editor - Interface Builder Debugger Source code repository Management Single “workspace window” Bess.co 2011 Copyright © All rights are reserved
  • 17. workspace window Bess.co 2011 Copyright © All rights are reserved
  • 18. Xcode 4 workspace window Bess.co 2011 Copyright © All rights are reserved
  • 19. Bess.co 2011 Copyright © All rights are reserved
  • 20. Bess.co 2011 Copyright © All rights are reserved
  • 21. Templates iOS4 Bess.co 2011 Copyright © All rights are reserved
  • 22. MVC Model View Controller (MVC) pattern separates application’s data structures (Model) from user interface (View) with the connecting layer (Controller) View Model Controller Bess.co 2011 Copyright © All rights are reserved
  • 23. MVC .xib Data List of tasks View Model State of each task Object containing a table with cells allowing text entry and user interaction Controller ViewController Respond to user input or inform the view to update visual elements Trigger Model to perform action to data Bess.co 2011 Copyright © All rights are reserved
  • 24. Simple App .xib Interface Builder View Controller Model .h & .m ViewController Bess.co 2011 Copyright © All rights are reserved
  • 25. Frameworks UIKit.framework Foundation.framework CoreGraphics.framewrk Bess.co 2011 Copyright © All rights are reserved
  • 26. Frameworks 1) Cocoa Touch touch and event-driven and interface components Cocoa Touch 2) Media Play and record audio; animation for 2D & 3D Media 3) Core Services Access lower level features such as files, networking, Core Services location, in-app purchase 4) Core OS Core OS Access to memory, file system, lower level networking and hardware Bess.co 2011 Copyright © All rights are reserved
  • 27. Bess.co 2011 Copyright © All rights are reserved
  • 28. Bess.co 2011 Copyright © All rights are reserved
  • 29. View Controller header file implementation file (.h) (.m) Declare Execute • instance variables • properties • methods Bess.co 2011 Copyright © All rights are reserved
  • 30. Debugging /* This is a comment */ /* * This is a comment * Continue into next line(s) */ // This is a Comment Bess.co 2011 Copyright © All rights are reserved
  • 31. Import Directive helloiphoneViewController.h Never include more than once // Include header files #import <UIKit/UIKit.h> // Declare class names and its superclasses @interface helloiphoneViewController : UIViewController <UITableViewDelegate> { } // Declare properties and methods // Close @interface directive @end Bess.co 2011 Copyright © All rights are reserved
  • 32. Interface Directive helloiphoneViewController.h Protocol(s) Class Superclass // Include header files #import <UIKit/UIKit.h> // Declare class names and its superclasses @interface helloiphoneViewController : UIViewController <UITableViewDelegate> { } @end // Adding Multiple Delegates <UITableViewDelegate, UIAccelerometerDelegate> Bess.co 2011 Copyright © All rights are reserved
  • 33. ViewController.h helloiphoneViewController.h #import <UIKit/UIKit.h> @interface helloiphoneViewController : UIViewController { UILabel *myLabel; } @property (nonatomic, retain) IBOutlet UILabel *myLabel; -void()myMethod; @end Property Instance variables Method Bess.co 2011 Copyright © All rights are reserved
  • 34. Declare Variable Declare an UILabel variable named “myLabel” // Declare UILabel variable UILabel *myLabel; Bess.co 2011 Copyright © All rights are reserved
  • 35. Declare Property 1) Declare a property of UILabel object named “myLabel” 2) Assign IBOulet to UILabel object 3) Assign retain and nonatomic to UILabel object // Declare UILabel variable @property (nonatomic, retain) IBOutlet UILabel *myLabel; Bess.co 2011 Copyright © All rights are reserved
  • 36. Declare Method Declare a method that implementation file is going to use // Declare a method -void()myMethod; Bess.co 2011 Copyright © All rights are reserved
  • 37. ViewController.m helloiphoneViewController.m #import directive #import "helloiphoneViewController.h" @implementation @implementation helloiphoneViewController section @synthesize myLabel; Synthesizing a property - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; Method Declaration // Release any cached data, images, etc that aren't in use. } - (void)viewDidUnload { // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)dealloc { [super dealloc]; } @end directive @end Bess.co 2011 Copyright © All rights are reserved
  • 38. IBOutlet vs IBAction UIElements Interface Builder add .xib UIView IBActions IBOutlets Optional Always ViewController subclass Add UI elements to UIView in Interface Builder. You subclass UIViewController to add functionality. IBOutlets hook up UIElements in UIView to access them. IBActions trigger actions based on user gestures on UIView elements. Bess.co 2011 Copyright © All rights are reserved
  • 39. UI Color self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed: @"Background.png"]]; Bess.co 2011 Copyright © All rights are reserved
  • 40. 320 pixel 480 pixel iPhone /2011 Copyright © All rights are reserved Size Bess.co iTouch Screen
  • 41. 640 pixel 960 pixel iPhoneCopyright © All rights are reserved Bess.co 2011 4 Screen Size
  • 42. 768 pixel 1024 pixel iPad Screen Size Bess.co 2011 Copyright © All rights are reserved
  • 43. Coding Options Universal App Bess.co 2011 Copyright © All rights are reserved
  • 44. Icon.png Icon@2x.png iTunesArtwork 57 x 57 pixel Icon-72.png 114 x 114 pixel Icon-Small.png 72 x 72 pixel 29 x 29 pixel 512 x 512 pixel Icon-Small-50.png Icon-Small@2x.png 50 x 50 pixel 58 x 58 pixel App Icons reserved Bess.co 2011 Copyright © All rights are
  • 45. Paper Wireframe Pen + Paper
  • 46. Digital Wireframe Balsamiq http://www.balsamiq.com/
  • 47. http://www.slideshare.net/bess.ho Q&A Find out class schedules http://bit.ly/iOSClass http://www.udemy.com/ios-development/
  • 48. Q&A Thank you Find out class schedules http://bit.ly/iOSClass http://www.udemy.com/ios-development/ Bess.co 2011 Copyright © All rights are reserved

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n