Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

  • View

  • Download

Embed Size (px)


Devoxx 2010 presentation on Mobile Development Choices: Native Apps vs Web Apps

Text of Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps

  • 1. 1 Max Katz, Exadel Mobile Development Choices: Native Apps vs Web Apps

2. Who is this guy? Senior Systems Engineer, RIA strategist at Exadel Working, teaching, consulting on JSF, RichFaces since inception Presented at JavaOne, TheServerSide Java Symposium, JSF Days and other conferences 3. Author of Practical RichFaces (Apress) Co-author RichFaces Dzone Refcard 4. Leading a number of projects: Tiggr: Web-based application for creating, collaborating, and sharing Web and mobile prototypes Check it out at: 5. Exadel Flamingo enterprise framework for connecting Flex/JavaFX to Java EE, Seam and Spring Exadel Fiji wraps any Flash/JavaFX widget as JSF component Exadel jsf4birt wraps BIRT report as JSF component Exadel JavaFX Plug-in for Eclipse JavaFX Eclipse tooling 6. You can find me at: blog: twitter: 7. Exadel Products and services company Founded in 1998, headquarters in Concord, CA 350+ employees 8. Open source with JBoss 9. Source: Flickr photo by markhillary: How did it all start? 10. Source: 11. Mobile devices are very powerful today, and getting more powerful with each new model. 12. Many high-end phones now ship with 1Ghz processor Large, high-resolution screens High-resolution camera and HD video recorder WiFi, 3G/4G, GPS 13. Source: HTC EVO 4G 14. Sources:,, 15. The number of smartphones is growing at phenomenal rate. How many of you have a smartphone? 16. Over 4 billion phones in the world (that's half the population) Source: 17. Forecast for total smartphone sales in 2010: 250,000,000+ Source: Source: 18. By 2013 mobile devices will overtake PCs as the preferred way of accessing the Internet. Source: 19. Smartphone? Source: 20. There are 2 options to deliver applications: Native apps or Web apps That looks like what we have on PCs. Right? 21. Mobile platforms Developer skills Time to market Performance Market approval Perception Cost Risk Installation and update Porting to new platforms Integration with device 22. Source: Flickr photo by sridgway: What qualifies Exadel? 23. What mobile platforms are available today? 24. Platforms: Web Web browser Android: multiple browsers (Android, Firefox, Opera) iOS: Safari 25. Modern mobile devices have powerful browsers More powerful than on some PCs HTML5 support 26. What developer skills are needed? Source: 27. Objective-C Java Java JavaC++HTML/JavaScript .NET 28. Developer Skills: Web HTML, JavaScript, CSS Well known technology stack Web developers are more likely to pick up mobile Web development then specific native platform 29. Time to Market 30. Source: Flickr photo by jpctalbot: Performance 31. Source: Flickr photo by mckaysavage: Market Approval Steve can't say no! 32. What about perception? Source: 33. Source: Cost 34. Risk? Source: 35. Installation and Update Source: Source: 36. Just enter the URL or hit Refresh 37. Porting to New Platforms 38. Porting to New Platforms: Native 39. Porting to New Platforms: Web Update look and feel, layout Adapt UI for the target platform 40. Integration with device services 41. Integration with device services: Native Integration with device services: Contacts Calendar Other applications Integration with device hardware: Camera GPS Accelerometer Take advantage of platform's API 42. Integration with phone services: Web Very limited, if any. Location-based services is available from browser API 43. Running in Off-line Mode: Native HTML5 44. Connecting to enterprise 45. Connecting to Enterprise: Native Existing infrastructure is reused Might need service layer to communicate between client (mobile) and server HTTP, REST, SOAP Framework like Flamingo 46. Connecting to Enterprise: Web Pretty much existing infrastructure can be reused 47. Mobile Frameworks 48. Mobile Frameworks: Native Objective-C Java Java HTML/JavaScript .NETJavaC++ 49. Mobile Frameworks: Web jQuery Mobile PhoneGap Sencha Appcelerator But, can adapt any existing framework for mobile Web 50. Source: Anything I missed? 51. Some other things to consider Does everything need a native app? Probably not. App overload Do you want users to download an app for anything they do on mobile devices? 52. Flick photo by Arts Comments: History repeats itself? 53. Go native if: Games Access to device features High performance Off-line Specialized apps with rich graphics Targeting just one platform For everything else, go with Web; and if supporting multiple platforms is important Source: 54. There is no right answer. Flickr photo by faungg: 55. Thank you! Don't hesitate to contact with me with any questions, including RichFaces. email: blog: twitter: prototypes: open source: