• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CodeMorphic at MinneWebCon 2010
 

CodeMorphic at MinneWebCon 2010

on

  • 1,715 views

iPhone, Android, hybrid, PhoneGap, Titanium

iPhone, Android, hybrid, PhoneGap, Titanium

Statistics

Views

Total Views
1,715
Views on SlideShare
1,710
Embed Views
5

Actions

Likes
0
Downloads
34
Comments
0

1 Embed 5

http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    CodeMorphic at MinneWebCon 2010 CodeMorphic at MinneWebCon 2010 Presentation Transcript

    • Mobile Apps Native, Web, or Both? Bill Heyman CodeMorphic, Inc. Tuesday, May 11, 2010
    • Smartphones 2010 Two major players in Smartphone market support state-of-the-art web standards: Tuesday, May 11, 2010
    • iPhone • Arrived 2007 • 3 models (iPhone, iPod touch, iPad) • Tied to a single US carrier (AT&T) • Installed base 85M (includes iPod touch) • Almost 200K apps available • Tightly controlled Tuesday, May 11, 2010
    • Android • Arrived 2008 • 25 different phones (plus other devices) • All major US carriers • Installed base of 8M and increasing • Heading toward 50K apps • Generally open, loosely controlled Tuesday, May 11, 2010
    • Web Commonality WebKit-based browser As of Android OS 2.0, both iPhone and Android support new web standard and HTML5 features, such as: <video> local database geolocation canvas <audio> offline app caching transitions Tuesday, May 11, 2010
    • App Spectrum Web Uses web standard technologies: HTML, CSS, JavaScript Tuesday, May 11, 2010
    • App Spectrum Web Native Uses tools & compiled languages that are targeted for the device. Tuesday, May 11, 2010
    • App Spectrum Web Hybrid Native Combines Web and Native technologies. Generally, the web technologies are wrapped by a native shell. Tuesday, May 11, 2010
    • Hybrid Apps ~ Native Hybrid Native • Packaged in a Native App shell • Installed like Native Apps • Distributed like Native Apps But developed with non-native technologies. Tuesday, May 11, 2010
    • App Spectrum Web Hybrid Native Tuesday, May 11, 2010
    • Web Web Apps Two types of mobile web apps: 1. Traditional 2. Offline Tuesday, May 11, 2010
    • Web Traditional Web 1. Thin-client apps (mobile browser-based) 2. Require a persistent Internet connection 3. Processing and persistence mostly on the server-side (PHP, Python, Ruby, ...) Tuesday, May 11, 2010
    • Web Offline Web 1. Thicker-clients (mobile browser-based) 2. No persistent Internet connection required 3. App web pages are stored on device; user can quickly reference via a bookmark 4. Makes use of HTML5: • application cache (manifest) • local database Tuesday, May 11, 2010
    • App Spectrum Web Hybrid Native Tuesday, May 11, 2010
    • Native Native Apps 1. Thick-client apps 2. Developed in standard development XCode Eclipse languages, as defined by the platform C/C++ Java/JVM Objective-C Tuesday, May 11, 2010
    • Native Native Apps 3. May include an in-app web browser. (Custom formatting) 4. The web browser doesn’t have to use the full screen. UIWebView WebView (Custom control) Tuesday, May 11, 2010
    • Native Native Apps 5. Direct access to the native capabilities of the device... accelerometer file system camera audio recording graphics as limited by the device provider Tuesday, May 11, 2010
    • Native Native Apps 6. May be distributed as an application and marketed through the App Store or Market as limited by the device provider Tuesday, May 11, 2010
    • App Spectrum Web Hybrid Native Tuesday, May 11, 2010
    • Hybrid Hybrid Apps 1. Thick Client Apps 2. Use Native wrappers as an app package 3. Provide an in-app web browser to display Web content to the user (HTML, CSS, JavaScript) Tuesday, May 11, 2010
    • Hybrid Hybrid Apps Some Web hybrid wrapper frameworks include: Appcelerator PhoneGap Titanium Both give access via JavaScript to some device features, previously reserved for Native apps. Tuesday, May 11, 2010
    • PhoneGap http://phonegap.com FOSS framework minimalist philosophy easy to use: put files in the www folder Tuesday, May 11, 2010
    • Hybrid Hybrid Aps Some Web hybrid wrapper frameworks include: Appcelerator PhoneGap Titanium Tuesday, May 11, 2010
    • Appcelerator Titanium http://appcelerator.com Commercial open source framework not necessarily “free as in beer” extensive JavaScript libraries AIR-like: supports desktop, too... Tuesday, May 11, 2010
    • Hybrid Hybrid Apps Some Non-Web hybrid wrapper frameworks include: Adobe AIR Unity rhomobile Flash MonoTouch Corona MonoDroid Tuesday, May 11, 2010
    • Hybrid The Good 1. Quicker learning curve, can re-use your existing skills 2. Easier to target apps for both iPhone and Android 3. Use existing HTML/CSS/JavaScript tools for development and testing Tuesday, May 11, 2010
    • Hybrid The Bad 1. Slower performance (compared to Native) 2. App doesn’t quite feel right, sluggish, non- responsive 3. Some device features may not be available or not quite as accessible Tuesday, May 11, 2010
    • Hybrid The Ugly The Elephant in the Corner of the Room Tuesday, May 11, 2010
    • What’s with the elephant? • Apple’s iPhone OS is closed & restrictive • API, device feature usage is limited • Restrictive NDAs required to develop on unreleased software • App distribution is controlled by Apple • If Apple doesn’t like your app... Sorry, Charlie! Tuesday, May 11, 2010
    • Bad Apple Apple sets the rules... ... and can change the rules at any time! Like, just last week: te d 3.3.1 — Applications may only use Documented APIs in the c manner prescribed by Apple and must not use or call any da private APIs. Applications must be originally written in e Objective-C, C, C++, or JavaScript as executed by the R iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited). Tuesday, May 11, 2010
    • Section 3.3.1 Adobe AIR Unity rhomobile Flash MonoTouch Corona MonoDroid Tuesday, May 11, 2010
    • Section 3.3.1 ?? PhoneGap Appcelerator Titanium Tuesday, May 11, 2010
    • Why? As a developer, why put up with Apple’s restrictions? • Market: 85M devices (10x Android) • App Store Exposure • Large Market = Great Potential $$$ Apple’s restrictions do not apply to pure Web applications (traditional and offline) Tuesday, May 11, 2010
    • A few words on • Android provides access to more device features than iPhone. • You choose how to distribute your app: • Via Google Market • Via your own mechanism (web site) • Android drawback: Plethora of devices and device capabilities, screen sizes, resolutions, etc. Tuesday, May 11, 2010
    • What to do? 1. Style your Web site using mobile-specific proportions and style sheets. 2. Consider if there are portions of your Web site that could be useful offline for mobile users. 3. Best bets for Hybrid packaging: PhoneGap and Appcelerator Titanium 4. Determine if a user may be better served with a Native app. Tuesday, May 11, 2010
    • Looking toward 2011 • More WebKit technologies: • WebGL • SVG • Android market penetration increasing quickly. • Another major player? 7 Tuesday, May 11, 2010
    • Thank You! For mobile app development questions, please contact me at: Bill Heyman @byteCoder bill@codemorphic.com Tuesday, May 11, 2010