SlideShare a Scribd company logo
Hybrid App
                        Development for the
                              iPhone
                                Bill Heyman
                               Damon Allison

                               CodeMorphic
                            www.codemorphic.com

Monday, April 6, 2009
What makes an iPhone App?

                        A iPhone app package is:
                        ➡ built using Apple’s IDE: XCode
                        ➡ written in Objective C
                        ➡ using frameworks in iPhone SDK
                        ➡ signed with a developer’s certificate
                        ➡ distributed via iTunes (or Ad Hoc)


Monday, April 6, 2009
Native iPhone Apps Can Use...

                        • Sqlite Database / File System
                        • Location / GPS services
                        • Camera / Photo Library
                        • Accelerometer
                        • OpenGL / Quartz / Animation / Audio
                        • Socket communication, custom protocols
                         ➡ Web apps can’t (or are limited...)


Monday, April 6, 2009
Web = Mobile Safari

                        • Built on WebKit (525.20)
                         • HTML 4.01, XHTML 1.0
                         • DOM 2, ECMAScript 3
                         • CSS 2.1, partial CSS 3
                         • SVG, Canvas
                        • 320 x 416 Screen Size
Monday, April 6, 2009
Native Web View

                        • Mobile Safari sans “chrome”
                          (up to 480 visible pixels high)
                        • Load HTML via URL or string
                        • Native side can:
                         • run JavaScript on Web page
                         • receive events when links
                            are clicked


Monday, April 6, 2009
So, what’s a web developer
                                    to do?
                    • Learn Objective C?
                    • Learn Cocoa Framework?
                    • Become a native iPhone app developer?
                        ➡ Fortunately, it can be a bit easier...



Monday, April 6, 2009
Hybrid iPhone App Spectrum

                                       Hybrid
                 Native                                       Web

                             A whole range of possibilities
                               for mixing and matching
                             web and native development
                                    on the iPhone




Monday, April 6, 2009
Hybrid iPhone App Spectrum

                                         Hybrid
                 Native                                       Web


                                  More Native, Less Web
                         Selectively use UIWebView controls within
                              your app for custom formatting.




Monday, April 6, 2009
Hybrid iPhone App Spectrum

                                         Hybrid
                 Native                                      Web


                                  Less Native, More Web
                         Host your web content on the iPhone in a
                               native UIWebView container.




Monday, April 6, 2009
Hybrid Containers

                                           Hybrid

                        A few options...
                           1. PhoneGap
                           2. Quick Connect
                           3. Roll Your Own




Monday, April 6, 2009
Hybrid: PhoneGap

                        • www.phonegap.com
                        • Open source, developed by sintaxi
                        • Is a native shell for hosting web pages
                        • Uses JavaScript and custom URL schemes
                          to interact with the hardware
                        • Supports: iPhone, Android, and Blackberry
Monday, April 6, 2009
Hybrid: QCiPhone

                        • quickconnect.sourceforge.net
                        • Open source web app hosting framework
                        • Interface can be developed in DashCode
                        • Uses JavaScript calls to interface with iPhone
                        • Supports: iPhone, Android, Linux, Mac

Monday, April 6, 2009
Hybrid: Roll Your Own

                        Sometimes, you need:
                          •   improved user experience
                          •   better performance
                          •   more hardware access and graphics
                          •   custom protocols
                              ➡So, you’ll need more native code...

Monday, April 6, 2009
Case Study: My Health


                        • CodeMorphic prototype for health care
                          industry
                        • Native container for navigation and tabs
                        • All screen content is HTML/CSS, styled
                          with iUI CSS framework



Monday, April 6, 2009
MyHealth: Calendar

                          All HTML in a Web View




Monday, April 6, 2009
MyHealth: Account/Network

                            HTML with images, iUI styled




Monday, April 6, 2009
Case Study: Mobile Cookbook

                        • Betty Crocker Mobile Cookbook
                          developed January 2009
                        • Mostly native, all data on phone:
                         • Sqlite database contains 4000+ recipes
                        • Uses HTML formatting for dynamic recipe
                          view


Monday, April 6, 2009
Mobile Cookbook: Search

                                native screens




Monday, April 6, 2009
Mobile Cookbook: Recipe

                        HTML-based, catches add favorites link




Monday, April 6, 2009
Mobile Cookbook: e-mail

                           HTML is used to format e-mail




Monday, April 6, 2009
Case Study: Real Estate

                        • Smarter Agent Mobile Real Estate Search
                        • Mostly native, but web used for:
                         • Maps
                         • Property Details
                         • Picture Display (CoverFlow !?!)

Monday, April 6, 2009
Real Estate: Search

                             native screens




Monday, April 6, 2009
Real Estate: Maps

                               Web-based Google map,
                        catches arrow click for property details




Monday, April 6, 2009
Real Estate: Property Details

                        HTML/CSS presentation + JavaScript actions




Monday, April 6, 2009
Real Estate: CoverFlow
                              UIWebView with zflow
                         http://code.google.com/p/css-vfx/




Monday, April 6, 2009
Case Study: Public Radio Tuner

                        • Originally: Minnesota Public Radio app
                        • Transferred to Public Radio Exchange to
                          fashion into the iPhone app for Public Radio
                        • Version 1.1 released January 2009,
                          1.6M downloads (According to Doc Searls
                          as of this AM)
                        • Version 2.0 to be released Summer 2009
Monday, April 6, 2009
PRT 1.1: Overview

                             native screens




Monday, April 6, 2009
PRT 1.1: About Screen

                        HTML-based, inline (Base64) images




Monday, April 6, 2009
Public Radio Tuner 2.0


                        • Planned availability June 2009
                        • UI developed with DashCode
                        • Will use QuickConnect iPhone
                        • Backend audio streaming will use an
                          updated version of the 1.x engine



Monday, April 6, 2009
Public Radio Tuner 2.0

                               Sneak Peek




Monday, April 6, 2009
Case Study: Human Atlas


                        • Blausen develops high resolution graphics,
                          videos, and 3-D models for the medical and
                          legal industries.
                        • Human Atlas makes use of the video
                          playback capabilities of the UIWebView.




Monday, April 6, 2009
Human Atlas: Overview




Monday, April 6, 2009
Human Atlas: Video Playback

                           Web View Used for Video Playback




Monday, April 6, 2009
Ask CodeMorphic




                        Q&A with Bill and Damon



Monday, April 6, 2009

More Related Content

Viewers also liked

CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010
CodeMorphic, Inc.
 
Bidimprove[2]
Bidimprove[2]Bidimprove[2]
Bidimprove[2]
Bjukes
 
Building a brand based on experience mapping
Building a brand based on experience mappingBuilding a brand based on experience mapping
Building a brand based on experience mapping
One Shoe
 
The Water Cycle
The Water CycleThe Water Cycle
The Water Cycle
carter85
 
The Water Cycle
The Water CycleThe Water Cycle
The Water Cycle
carter85
 
Klaviatuur Lyhend
Klaviatuur LyhendKlaviatuur Lyhend
Klaviatuur Lyhend
Meelis Reinart
 
Cuaresma 2016 - Carta del Superior General
Cuaresma 2016 - Carta del Superior GeneralCuaresma 2016 - Carta del Superior General
Cuaresma 2016 - Carta del Superior General
Famvin: the Worldwide Vincentian Family
 
Analitica web básica
Analitica web básicaAnalitica web básica
Analitica web básica
Antoni Febrer Barber
 
Introducción al Marketing Online
Introducción al Marketing OnlineIntroducción al Marketing Online
Introducción al Marketing Online
Antoni Febrer Barber
 
Museu de Menorca, presentació nova web
Museu de Menorca, presentació nova webMuseu de Menorca, presentació nova web
Museu de Menorca, presentació nova web
Antoni Febrer Barber
 
Kertas kerja cadangan program amali sembelihan 2015
Kertas kerja cadangan program amali sembelihan 2015Kertas kerja cadangan program amali sembelihan 2015
Kertas kerja cadangan program amali sembelihan 2015
Sekolah Menengah Vokasional Tengku Ampuan Afzan Bentong Pahang
 
Permainan tradisional malaysia
Permainan tradisional malaysiaPermainan tradisional malaysia
Permainan tradisional malaysiaExodus Eric
 

Viewers also liked (15)

CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010CodeMorphic at MinneWebCon 2010
CodeMorphic at MinneWebCon 2010
 
Bidimprove[2]
Bidimprove[2]Bidimprove[2]
Bidimprove[2]
 
Building a brand based on experience mapping
Building a brand based on experience mappingBuilding a brand based on experience mapping
Building a brand based on experience mapping
 
The Water Cycle
The Water CycleThe Water Cycle
The Water Cycle
 
The Water Cycle
The Water CycleThe Water Cycle
The Water Cycle
 
Klaviatuur Lyhend
Klaviatuur LyhendKlaviatuur Lyhend
Klaviatuur Lyhend
 
Cuaresma 2016 - Carta del Superior General
Cuaresma 2016 - Carta del Superior GeneralCuaresma 2016 - Carta del Superior General
Cuaresma 2016 - Carta del Superior General
 
Bills 112s675is
Bills 112s675isBills 112s675is
Bills 112s675is
 
Bills 112hr1250ih
Bills 112hr1250ihBills 112hr1250ih
Bills 112hr1250ih
 
Analitica web básica
Analitica web básicaAnalitica web básica
Analitica web básica
 
Introducción al Marketing Online
Introducción al Marketing OnlineIntroducción al Marketing Online
Introducción al Marketing Online
 
Museu de Menorca, presentació nova web
Museu de Menorca, presentació nova webMuseu de Menorca, presentació nova web
Museu de Menorca, presentació nova web
 
Kertas kerja cadangan program amali sembelihan 2015
Kertas kerja cadangan program amali sembelihan 2015Kertas kerja cadangan program amali sembelihan 2015
Kertas kerja cadangan program amali sembelihan 2015
 
Seo
SeoSeo
Seo
 
Permainan tradisional malaysia
Permainan tradisional malaysiaPermainan tradisional malaysia
Permainan tradisional malaysia
 

Similar to MinneWebCon 2009 CodeMorphic Hybrid iPhone App Presentation

PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampMihai Corlan
 
Creating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsCreating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsBrian Huff
 
Developing cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneDeveloping cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneColin Eberhardt
 
Symfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating productsSymfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating productsXavier Lacot
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
Harshul Shah
 
Phonegap
PhonegapPhonegap
Phonegap
Tim Kim
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web Development
Andy Peters
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
Chris Griffith
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
alunny
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGapMihai Corlan
 
Mobile Lean UX
Mobile Lean UXMobile Lean UX
Mobile Lean UX
Blazing Cloud
 
PhoneGap mobile development
PhoneGap mobile developmentPhoneGap mobile development
PhoneGap mobile development
Maximiliano Firtman
 
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap .toster
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App DevelopmentBrian LeRoux
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Quang Minh Dao
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Quang Minh Dao
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012marcocasario
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
Monaca
 

Similar to MinneWebCon 2009 CodeMorphic Hybrid iPhone App Presentation (20)

PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
 
Creating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile ApplicationsCreating Next-Generation ADF Mobile Applications
Creating Next-Generation ADF Mobile Applications
 
Developing cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phoneDeveloping cross platform mobile applications with phone gap for windows phone
Developing cross platform mobile applications with phone gap for windows phone
 
Symfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating productsSymfony Day 2009 - Symfony vs Integrating products
Symfony Day 2009 - Symfony vs Integrating products
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
 
The future is hybrid
The future is hybridThe future is hybrid
The future is hybrid
 
Phonegap
PhonegapPhonegap
Phonegap
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web Development
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010PhoneGap Talk @ Sencha Con 2010
PhoneGap Talk @ Sencha Con 2010
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
Mobile Lean UX
Mobile Lean UXMobile Lean UX
Mobile Lean UX
 
PhoneGap mobile development
PhoneGap mobile developmentPhoneGap mobile development
PhoneGap mobile development
 
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap Maximiliano Firtman - Разработка приложений с помощью PhoneGap
Maximiliano Firtman - Разработка приложений с помощью PhoneGap
 
Mobile Web App Development
Mobile Web App DevelopmentMobile Web App Development
Mobile Web App Development
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Phonegap
PhonegapPhonegap
Phonegap
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

MinneWebCon 2009 CodeMorphic Hybrid iPhone App Presentation

  • 1. Hybrid App Development for the iPhone Bill Heyman Damon Allison CodeMorphic www.codemorphic.com Monday, April 6, 2009
  • 2. What makes an iPhone App? A iPhone app package is: ➡ built using Apple’s IDE: XCode ➡ written in Objective C ➡ using frameworks in iPhone SDK ➡ signed with a developer’s certificate ➡ distributed via iTunes (or Ad Hoc) Monday, April 6, 2009
  • 3. Native iPhone Apps Can Use... • Sqlite Database / File System • Location / GPS services • Camera / Photo Library • Accelerometer • OpenGL / Quartz / Animation / Audio • Socket communication, custom protocols ➡ Web apps can’t (or are limited...) Monday, April 6, 2009
  • 4. Web = Mobile Safari • Built on WebKit (525.20) • HTML 4.01, XHTML 1.0 • DOM 2, ECMAScript 3 • CSS 2.1, partial CSS 3 • SVG, Canvas • 320 x 416 Screen Size Monday, April 6, 2009
  • 5. Native Web View • Mobile Safari sans “chrome” (up to 480 visible pixels high) • Load HTML via URL or string • Native side can: • run JavaScript on Web page • receive events when links are clicked Monday, April 6, 2009
  • 6. So, what’s a web developer to do? • Learn Objective C? • Learn Cocoa Framework? • Become a native iPhone app developer? ➡ Fortunately, it can be a bit easier... Monday, April 6, 2009
  • 7. Hybrid iPhone App Spectrum Hybrid Native Web A whole range of possibilities for mixing and matching web and native development on the iPhone Monday, April 6, 2009
  • 8. Hybrid iPhone App Spectrum Hybrid Native Web More Native, Less Web Selectively use UIWebView controls within your app for custom formatting. Monday, April 6, 2009
  • 9. Hybrid iPhone App Spectrum Hybrid Native Web Less Native, More Web Host your web content on the iPhone in a native UIWebView container. Monday, April 6, 2009
  • 10. Hybrid Containers Hybrid A few options... 1. PhoneGap 2. Quick Connect 3. Roll Your Own Monday, April 6, 2009
  • 11. Hybrid: PhoneGap • www.phonegap.com • Open source, developed by sintaxi • Is a native shell for hosting web pages • Uses JavaScript and custom URL schemes to interact with the hardware • Supports: iPhone, Android, and Blackberry Monday, April 6, 2009
  • 12. Hybrid: QCiPhone • quickconnect.sourceforge.net • Open source web app hosting framework • Interface can be developed in DashCode • Uses JavaScript calls to interface with iPhone • Supports: iPhone, Android, Linux, Mac Monday, April 6, 2009
  • 13. Hybrid: Roll Your Own Sometimes, you need: • improved user experience • better performance • more hardware access and graphics • custom protocols ➡So, you’ll need more native code... Monday, April 6, 2009
  • 14. Case Study: My Health • CodeMorphic prototype for health care industry • Native container for navigation and tabs • All screen content is HTML/CSS, styled with iUI CSS framework Monday, April 6, 2009
  • 15. MyHealth: Calendar All HTML in a Web View Monday, April 6, 2009
  • 16. MyHealth: Account/Network HTML with images, iUI styled Monday, April 6, 2009
  • 17. Case Study: Mobile Cookbook • Betty Crocker Mobile Cookbook developed January 2009 • Mostly native, all data on phone: • Sqlite database contains 4000+ recipes • Uses HTML formatting for dynamic recipe view Monday, April 6, 2009
  • 18. Mobile Cookbook: Search native screens Monday, April 6, 2009
  • 19. Mobile Cookbook: Recipe HTML-based, catches add favorites link Monday, April 6, 2009
  • 20. Mobile Cookbook: e-mail HTML is used to format e-mail Monday, April 6, 2009
  • 21. Case Study: Real Estate • Smarter Agent Mobile Real Estate Search • Mostly native, but web used for: • Maps • Property Details • Picture Display (CoverFlow !?!) Monday, April 6, 2009
  • 22. Real Estate: Search native screens Monday, April 6, 2009
  • 23. Real Estate: Maps Web-based Google map, catches arrow click for property details Monday, April 6, 2009
  • 24. Real Estate: Property Details HTML/CSS presentation + JavaScript actions Monday, April 6, 2009
  • 25. Real Estate: CoverFlow UIWebView with zflow http://code.google.com/p/css-vfx/ Monday, April 6, 2009
  • 26. Case Study: Public Radio Tuner • Originally: Minnesota Public Radio app • Transferred to Public Radio Exchange to fashion into the iPhone app for Public Radio • Version 1.1 released January 2009, 1.6M downloads (According to Doc Searls as of this AM) • Version 2.0 to be released Summer 2009 Monday, April 6, 2009
  • 27. PRT 1.1: Overview native screens Monday, April 6, 2009
  • 28. PRT 1.1: About Screen HTML-based, inline (Base64) images Monday, April 6, 2009
  • 29. Public Radio Tuner 2.0 • Planned availability June 2009 • UI developed with DashCode • Will use QuickConnect iPhone • Backend audio streaming will use an updated version of the 1.x engine Monday, April 6, 2009
  • 30. Public Radio Tuner 2.0 Sneak Peek Monday, April 6, 2009
  • 31. Case Study: Human Atlas • Blausen develops high resolution graphics, videos, and 3-D models for the medical and legal industries. • Human Atlas makes use of the video playback capabilities of the UIWebView. Monday, April 6, 2009
  • 33. Human Atlas: Video Playback Web View Used for Video Playback Monday, April 6, 2009
  • 34. Ask CodeMorphic Q&A with Bill and Damon Monday, April 6, 2009