Development Workshop on ET1, Android and Motorola RhoElements
Intohand mobile apps open mic8 4 nov 2010
1. Web and Native Applications
4th
November 2010
Stuart Scott
2. Outline
• Definitions: native and web
• Pros and cons
• Usage situations
• Economics
• Hybrid approaches
• Positioning
3. Native
• Device-resident
• Installed by maker/operator or user
• Tool chains generally will be platform specific
• Development targeted to a platform/framework
– iPhone (Cocoa Touch - Obj C)
– RIM (MIDP Java)
– Java Mobile (MIDP / Java)
– Android (Android / Java)
– etc.
• Developer specialism is a consideration
4. Benefits of Native
• Access to device features
– Where supported by the SDK/platform
– Sometimes these are the same
• Performance
– Graphics: gaming, acceleration
– CPU: computation
• Not necessarily needing net connectivity
– Can run in offline modes
• Discoverability
– Some benefits in having an app already on a
device
5. Web Applications
• Run in the browser, so limited to the browser's
capability set
– Which changes...
• Written in web languages
– Html, JavaScript, CSS
– Web developers
• Exploit commonality of browser – but browsers
are still fragmented
– WebKit: N73 → iPhone
• Different type of moving target
6. Benefits of Web
• Fixable: maintenance server side
• One size fits many
• Trickery can make apps look light
• Freedom
– From app store reliance
• Toolchain familiarity
– OSX, Windows, Linux,...
• Concerns, some of which are inherent to web:
– Reliance on UA, where needed
– XSS, Injection
8. APIs
• OpenGL ES
• Messaging
• Address Book
• Geo capability
• Accelerometer
• Compass
• Trust Services
9. Economics 1
• Development costs, arbitrary units
– Iphone 10
– RIM 15
– Android 16
– Java Mobile 4-50
– Web 5
• Native apps need deployment mechanism
– App stores
• Web apps need server support
– Another type of host facility...
10. Economics 2
• Cost to get web application to market
– Server - plus development and test
• Cost to get native app to market
– Platform build(s)
– Store fees
– Test and QA fees
– SKU Management
– Platform changes
11. Hybrids
• Blend app packaging and web app development
– Attain web development with native app packaging
• PhoneGap offers a stop-gap solution
– Project objective: to not exist
– Cross-platform Javascript/HTML deployment
• Jquery html simplification
– Javascript library
12. Comparison
What do users want?
Some experience applications to consume or
create
Speed. Possibly.
Fast access to content/information/experience
Developer objective might depend on RoI and
therefore means to monetise