Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

HTML5 or Android for Mobile Development?

on

  • 68,802 views

Android apps or the mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, apps and app stores are incredibly ...

Android apps or the mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, apps and app stores are incredibly popular. We will present both perspectives and offer some suggestions for making the most of each platform.

Statistics

Views

Total Views
68,802
Views on SlideShare
68,053
Embed Views
749

Actions

Likes
45
Downloads
1,197
Comments
6

20 Embeds 749

http://www.pidecurso.es 156
http://mydev.net.ru 152
http://lanyrd.com 151
http://ronaldcarpentier.com 124
http://mydev.live2hack.info 68
http://paper.li 36
http://www.html5done.com 15
http://pidecurso.es 13
http://localhost 8
http://androidsymposium.eu01.aws.af.cm 6
http://www.onlydoo.com 5
http://a0.twimg.com 4
http://twitter.com 4
https://lanyrd.com 1
http://www.pidecurso.com 1
http://www.linkedin.com 1
http://static.slidesharecdn.com 1
http://l.lj-toys.com 1
http://www.iweb34.com 1
http://192.168.6.52:8080 1
More...

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

16 of 6 Post a comment

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

    HTML5 or Android for Mobile Development? HTML5 or Android for Mobile Development? Presentation Transcript

    • Web or Native for Mobile Development? Android Revised v4Presenter Reto Meier @retomeier Web Michael Mahemoff @mahemoff
    • The Question • Should you build you mobile apps as HTML5 apps or native apps?
    • The Answer YES
    • The Case for Native Apps
    • If you can't think of a way to improve your web app using Android SDK features...
    • If you can't think of a way to improve your web app using Android SDK features... You're doing it wrong!
    • Standards Will Always Trail Innovation • Hardware support • Rich Integration
    • Impending Hardware Standards • Location Based Services • Microphone input • Accelerometers
    • Hardware is Rapidly Evolving • 2007: Multi-touch, accelerometers, microphone • 2008: Video, compass, background apps • 2009: Bluetooth, multiple screen sizes • 2010: Gyroscopes, front facing cameras, NFC • 2011: ???
    • New Hardware Platforms • Tablets • Televisions • Cars? Picture Frames? Fridges? Washing Machines?
    • Currently Supported Hardware • Smartphones / Tablets / Television • Microphone • Video camera (front facing / rear facing) • Sensors (compass, gyro, accelerometers, light • Multi-touch • Telephony and SIP stacks • Bluetooth
    • Intents Based Data Sharing • Lets 3rd parties exchange data • Lets apps extend each other
    • Ubiquity • Widget, Live Folders, Live Wallpapers • Quick Search Box • Notifications • Ability to replace native apps
    • True Background Services • Alarms • Intent Receivers • Cloud to Device Messaging • Background execution / concurrent apps
    • Current Android Platform Features • Geo services • Sensors • Interprocess communications (Intents!) • Background, scheduled, and concurrent apps • Home screen widgets and quick search box • Rich multimedia • Native (C/C++) development • Full database / SQLLite support • Camera and microphone access • Deep system integration / replacement
    • Native App Strengths • Apps that use the hardware • Apps that integrate system features • Apps that work with other apps • Apps that need to be fast • Apps that are ubiquitous
    • The Case for HTML5
    • Remember when computers were computers?
    • TVs were TVs?
    • Mobile phones were thumping great bricks?
    • Form Factors Rock!
    • Form Factors Rock ... for users! But less so for developers.
    • Modern Developer, You need to consider ... Desktop Laptop Netbook Smartphone Feature phone Tablet TV
    • As a Developer, you need to consider ... Watch? Car? Fridge? USB Desktop Aquarium? (Maybe not.)
    • Desktop Windows OSX Linux ...
    • Mobile Android iOS BlackBerry Windows Mobile 6.5 Windows Mobile 7 (rewrite) Symbian Meego ...
    • How about in 2015? Anyone's guess! But one platform is likely to be there: Web.
    • Write Once, Run Many is starting to sound like a good idea
    • Web Handles Many User Interfaces Browsers use a fluid layout model. Sensible defaults, whether a 10cm phone or a 200cm TV Target specific platforms with CSS Media Queries
    • Web Provides Secure Sandboxing Same-origin policy prevents sharing across different domains
    • Web Provides Porous Boundaries It's not black-and-white. Apps *can* share data securely - OAuth, Cross-Origin Resource Sharing, Cross-Document Messaging.
    • Web Supports Permissioning Now we have rich functionality on the web, e.g. GeoLocation. But not every app gets access. As with smartphones, browsers ask permission first.
    • So Web Architecture is Good in Theory How about in practice?
    • HTML5 is Ready Today Not 2050, Not 2020. Today.
    • HTML5 is Ready Today Oh and it's fast too Javascript Performance Benchmark http://is.gd/dAKqS Firefox 0.8 (2004): 1802ms Chrome 7 (2010): 10ms DOM Rendering Benchmark http://jsperf.com/dom-selection-appending/2 Firefox 0.8 (2004): ~111ms (9 ops/sec) Chrome 7 (2010): 2ms (460 ops/sec)
    • User Interface: Canvas Canvas: Effect Engine HTML5 Game Jam: "Enterprise"
    • User Interface: CSS Custom Fonts Transforms Much more...
    • Input Geolocation Orientation Speech Detection Idle Detection Device API: Camera? Microphone? http://flickr.com/photos/mofetos/435827739/
    • Networking Your Grandpa's HTML: Links Forms Ajax: XMLHttpRequest Now: Cross-Domain access with CORS 2-Way Streaming with WebSocket Server-Sent Events with EventSource
    • Offline Application Caching Web Storage Web SQL Database Indexed Database File Access
    • Installable, if you want to Mobile: PhoneGap, Titanium, Roll-Your-Own Desktop: Google Chrome Web Store
    • And Besides Compatibility ... Open standards Open source Easy to dive in Tools and library support Diverse community
    • Want to Learn More? HTML5Rocks.com ChromeExperiments.com Want to Learn Even More? http://www.html5rocks.com/resources.html
    • 'Which?' is the Wrong Question
    • Two Great Tastes that Taste Great Together Web Apps • Near universal coverage • Deploy once, update instanly Native Apps • Deep hardware and platform integration • Support for rapid hardware innovation • Device and platform specific features • Optimized user experience
    • Both? Really? • Yes! • Build a web client first to offer your app to the largest possible community of users. • Build an optimized native client that leverages platform specific features and an optimized user experience.
    • Understand Your App's Needs • Hardware access? • Feel the need for speed? • Background or concurrent execution? • System access? • Deep integration?
    • HTML5 in Native Most platforms include a native Web View control. Include Web View for specific features Book reader: The catalogue Game: High scores or use HTML5 for the entire app ...
    • HTML5 for Entire App Wrap HTML5 app as native. Can also use native capabilities. Nitobi PhoneGap http://phonegap.com/apps http://build.phonegap.com (private beta) http://apparat.io/ from Uxebu (private beta) Appcelerator Titanium http://appcelerator.com
    • Native Apps with HTML5 Make it work offline. Use client-side storage when offline. Don't point to server...package it up! Or use Application Cache and Client-Side Storage.
    • Native Apps with HTML5 Prioritize platforms. For high-priority platforms, customise UI and incorporate native features. CSS Media Queries. JavaScript Feature Detection (Modernizr library). Introduce native styling. UI Toolkits: Sencha Touch, jQTouch, jQuery Mobile ...
    • Questions! • Twitter: o @retomeier (Android) o @mahemoff (Web)