Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011


Published on

Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011 conference

Published in: Technology
  • Login to see the comments

Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011

  1. 1. Mobile Development Choices: Native Apps vs. Web Apps Max Katz, Exadel May 4, 2011
  2. 2. ExadelMax Katz● Senior Systems Engineer at Exadel● JSF, RichFaces, Java EE consulting, and training● Manages – Exadels open source projects and community● Community manager for – tool for creating and sharing interactive web and mobile HTML prototypes
  3. 3. Exadel 4 Summer 2011 Author of Lead-author ofPractical RichFaces Practical RichFaces, 2/e (Apress) (Apress, June 2011)
  4. 4. Exadel PublishedApril 11, 2011
  5. 5.
  6. 6. ExadelExadel is a global softwareengineering company.● Founded in 1998, headquarters in San Francisco Bay Area● 7 development offices in Europe● 350+ employees
  7. 7. Exadel Exadel Offices Ekaterinburg Moscow Minsk Homyel 5 KharkovMunich Donetsk
  8. 8. ExadelOpen Source with JBoss
  9. 9. ExadelExadel Products● Open Source with JBoss ◦ RichFaces ◦ JBoss Tools/JBoss Developer Studio● ◦ Flamingo ◦ Fiji ◦ jsf4birt ◦ JavaFX Plug-in for Eclipse●– build and share Web and mobile HTML prototypes
  10. 10. ExadelExadel Services● Professional services● Rich enterprise application development● Eclipse development● Custom rich component development● Mobile development● Training
  11. 11. ExadelBuilding Ajax Applicationswith JSF 2 and NewRichFaces 405/05/201110:15-11:15
  12. 12. Exadel Lets startSource: Flickr photo by sridgway:
  13. 13. Exadel Over 4 billion phones in the world (thats half the population)Source:
  14. 14. Exadel Forecast for total smartphone sales in 2010: 250,000,000+Source:
  15. 15. Exadel By 2013 mobile devices will overtake PCs as the preferred way of accessing the Internet.Source:
  16. 16. Exadel1. Platform2. App discovery, monetization, support3. User experience4. Device features5. Enterprise development
  17. 17. Exadel PlatformsSource: Flickr photo by markhillary:
  18. 18. Exadel (Fragmentation)Where is Symbian, MeGoo?
  19. 19. Exadel App discovery, monetization, supportSource: Flickr photo by mckaysavage:
  20. 20. Exadel App discoveryNative Web● AppStore – ● Enter URL or search proven and very ● Webstores like Chrome popular App Store ● Standard App Store by placing the Web app inside a native wrapper (Hybrid App)
  21. 21. Exadel App approvalNative WebApp is published to Instant, no approvalan App Store; goes process; just enterthrough review the URLprocess before being Steve cant say noapproved
  22. 22. Exadel App installationNative WebDownloaded from Open URL in aapp market and mobile browserinstalled Create a shortcut on the phones screen
  23. 23. Exadel App updateNative WebUpdated app goes No approval process.through review Just update theprocess, then mobile web app anddownloaded and everyone gets theinstalled new version.
  24. 24. Exadel App support, maintenance, adding new featuresNative WebThe more platforms, the Simple (almost).more challenging it is Write once, deploy anywhereNot uncommon to havedifferent “versions” foriOS and Android
  25. 25. ExadelApp monetizationNativeApp Store - proven monetizationstrategy. Works very well
  26. 26. Exadel App monetizationWeb● Each app has its own monetization strategy● HTML App Store, like Google Chrome Web Store● StandardApp Store – putting apps inside a native wrapper/shell (Hybrid Apps)● Selling access or token in standard App Store and then getting access to mobile app
  27. 27. Exadel Porting to new platformNative Web● Needto learn another ● Build once, run mobile platform anywhere (almost)● Learn platforms UI ● Tweak the UI to fit approach platform ● Difference in browsers and supported features
  28. 28. Exadel User experienceSource: Flickr photo by jpctalbot:
  29. 29. Exadel SpeedNative WebFaster for some UI HTML5/JavaScriptfunctions, especially rendering bringwhen heavy graphics performance “almost” onare involved par with native
  30. 30. Exadel User experienceNative Web● Very fast ● Can be “very good”● UI effects ● For example, an app● More like Gmail developed UI “logic” ● Will continue to improve and get better.
  31. 31. Exadel
  32. 32. Exadel
  33. 33. Exadel User perceptionNative WebMany associate Will be improvingmobile apps withnative apps today
  34. 34. Exadel Device featuresSource:
  35. 35. Exadel Native WebVideo/audio Built-in HTML5Off line Possible HTML5 Hiding browserFull screen Built-in address barAccelerometer Built-in HTML5Push Possible Possible (HTML5)
  36. 36. ExadelOff line, connectivity Native and Web ● Speed: ◦ EDGE (slow) ◦ 3G (faster) ◦ 4G (very fast) ◦ WiFi (very fast) ● Users“dont like” to see the browser loading ● More OK with native app loading
  37. 37. Exadel Integration with phone servicesNative WebFull access to phone Limited; but more andservices: more apps get data● Contacts from the cloud● Calendar Do you really need access?
  38. 38. Exadel Integration with phone hardwareNative WebFull integration with Some support viaphone hardware HTML5 is now● Camera/Video available for● GPS camera/video
  39. 39. Exadel Enterprise5Source:
  40. 40. ExadelDeveloper skills Native ● iOS (Objective C) ● Android (Java) ● BlackBerry (Java) ● webOS (HTML/JavaScript) ● Windows Phone (Silverlight, .NET) Plus, every platform has its own approach to UI development
  41. 41. ExadelDeveloper skills WebHTML, JavaScript, CSSBut, training is needed to adaptexiting HTML/JavaScript/CSS skillsto mobile development
  42. 42. ExadelCost Native Expensive, as still relatively small number of developers master mobile development skills
  43. 43. ExadelCost Web ● Can be significantly cheaper ● Largenumber of developers already posses HTML, JavaScript, CSS skills ● But, some training might be needed to learn how to develop UI for mobile apps
  44. 44. ExadelMobile developmentframeworks Native Every platform has its own SDK: ● iOS (Objective C) ● Android (Java) ● BlackBerry (Java) ● webOS (HTML/JavaScript) ● Windows Phone (Silverlight, .NET)
  45. 45. ExadelMobile developmentframeworks Web A number of options available today for building Web mobile apps: ● Take “do it yourself approach” ● Adapt any existing framework to work on mobile web ● jQuery Mobile ● Sencha
  46. 46. ExadelMobile developmentframeworks Hybrid A number of tools to build hybrid apps: ● Tiggr Mobile (coming up, demo) ● PhoneGap ● Open plug ● Adobe Flex Mobile ● Titanium Appcelerator ● Corona SDK
  47. 47. ExadelServer integration Native Existing infrastructure could be reused but also need service layer to communicate between client (mobile) and server ● REST ● SOAP ● Hessian ● Protocol Buffers
  48. 48. ExadelServer integration Web For the most part, existing infrastructure can be reused
  49. 49. Exadel Time to marketNative Web● Slow,unless have ● Can be fast access to experts● Need strong experts; hard to find● Number of platforms supported
  50. 50. Exadel
  51. 51. ExadelTiggr Prototypes Tiggr Mobile● Build and share ● First of a kind, Web- interactive HTML based IDE for building prototypes and deploying hybrid● Highly-interactive, mobile apps define events/actions ● Connect and invoke● View, remote services test in any browser, get feedback
  52. 52. Exadel Tiggr Mobile Demo**Preview version
  53. 53. Exadel Update, Device Speed App Store Approval new Cost Access featuresNative Can be Full Very fast Available Required $$$ challengingWeb Some Fast Possible None Easy $
  54. 54. Exadel Update, Device Speed App Store Approval new Cost Access features Can be Full Very fast Available Required $$$Native challenging Can beHybrid Full very fast Available Required Easy $Web Some Fast Possible None Easy $
  55. 55. ExadelOther things to consider● Does everythingneed a native app? “App overload”● Doyou want users to download an app for anything they do on mobile devices? ◦ Not uncommon to download and never use an app● Do you need access to device features?
  56. 56. Exadel Anything I missed?Source:
  57. 57. ExadelNative Web/Hybrid● Games ● Support all or● Full access to device most platforms features ● Easy update,● Very high performance maintenance ● Time to market● Specialized apps with rich graphics ● Cost● Targeting just one platform● Off line
  58. 58. Exadel There is no right answer. > Mobile platforms > Target audience > Resources (skills, time, money) > App featuresFlickr photo by faungg:
  59. 59. Exadel History repeats itself?Flick photo by Arts Comments:
  60. 60. Exadel max@exadel.comThank @maxkatz you!