Advertisement

More Related Content

Advertisement

Cross platform mobile development - you tube videos

  1. CROSS-PLATFORM MOBILE DEVELOPMENT LOOKING BEYOND THE HTML5 HYPE
  2. OVERVIEW • Why cross-platform? • HTML5 – the hype! • Framework selection • PropertyCross • Conclusions – In easily digested bullet point form
  3. WHY CROSS- PLATFORM?
  4. • iPhone – Objective-C • BlackBerry – Java + BlackBerry APIs • Android – Java + Android APIs • Windows Phone – C# / Silverlight
  5. SMARTPHONE SALES Million units shipped
  6. THE HYPE “HTML5 takes the internet by storm” BBC News (Technology), 8 May 2012 “New York Times and Burberry join the HTML5 brigade” The Guardian Technology Blog, 3 Oct 2012
  7. … AND SOME ‘ANTI’- HYPE “Why HTML5 Is Still Not Ready For Prime Time” Business Insider, 7 Nov 2012 “The biggest mistake we made as a company was betting too much on HTML5 as opposed to native” Mark Zuckerberg “Why LinkedIn dumped HTML5 & went native for its mobile app” Kiran Prasad
  8. GARTNER HYPE CYCLE Gartner's 2012 Hype Cycle for Emerging Technologies
  9. WHAT IS HTML5?
  10. HTML5 • Canvas and video tags • Local storage • Web Workers – background tasks • Web Sockets • CSS3 – layout, opacity, gradient fill … • And more ...
  11. HTML5 FOR MOBILE Smartphone sales exceed those of PCs for first time, Feb 2012
  12. NATIVE vs. HTML5 vs. HYBRID • Native • HTML5 – Accessed via the browser – Some phone features not accessible – App-like experience is possible (but not via app-store) • Hybrid – HTML5 content rendered within a browser control – Distributed through app-stores / marketplaces – Best of both worlds
  13. HTML / JavaScript Application Phone APIs Phone APIs Android iPhone HYBRID APPS
  14. HTML5 IS MANY THINGS
  15. WHY LIMIT YOURSELF TO JUST HTML5?
  16. SELECTING A FRAMEWORK • Usual principles apply – Cost – Maturity – Support / community • What is the end-user experience? • What is the developer experience like? • How much code is shared? • Which platforms do I care about? … now go and start testing
  17. Helping you select a cross-platform mobile framework … inspired by TodoMVC
  18. • A realistic application • Create apps that are ready for app-store distribution • Matches the native look and feel for each platform • Well designed / structured
  19. demo time …
  20. NATIVE APPLICATION http://www.youtube.com/watch?v=RJXtfk43SCM
  21. JQUERY MOBILE • Popular framework for creating mobile websites • Added Knockout, RequireJS, jquery-metro- theme • PhoneGap for ‘wrapping’
  22. JQUERY MOBILE http://www.youtube.com/watch?v=h0TVvKPLBR4
  23. NATIVE TRANSITIONS http://www.youtube.com/watch?v=rrkG4swoNAE
  24. JQUERYMOBILE TRANSITIONS http://www.youtube.com/watch?v=lSKLtyZ2vfc
  25. JQUERY MOBILE – THOUGHTS • Some UX compromises • Android uses iOS theme – Android and iOS share the same code • Windows Phone experience was very was poor • Some friction between frameworks • Tooling was ‘standard’ web approach
  26. SENCHA TOUCH • Popular commercial framework • Built using Ext JS • An end-to-end solution • Creators of Fastbook
  27. SENCHA TOUCH http://www.youtube.com/watch?v=w2sJ84-qtl4
  28. SENCHA TOUCH - THOUGHTS • ‘Thick’ UI abstraction – no HTML • Android and iOS use the same theme • Almost declarative feel to the application code • Impressive user experience • Steep learning curve • No Windows Phone support
  29. • Commercial framework from Appcelerator • Creates a native UI • Written in JavaScript that runs in an interpreter • Titanium Studio IDE • Relies on native build tools • Abstraction layer hides Android / iOS differences TITANIUM
  30. TITANIUM http://www.youtube.com/watch?v=aZTCEapQZj4
  31. TITANIUM - THOUGHTS • Native UI gives the best UX • Why JavaScript? • Friction due to the ‘thick stack’ • Leaky abstraction • Application was developed quickly • No Windows Phone support
  32. XAMARIN • C# and the .NET framework • Very thin abstraction layer • MonoTouch and MonoDevelop • Native UI
  33. XAMARIN http://www.youtube.com/watch?v=MRhAQVWS7FY
  34. XAMARIN - THOUGHTS • Matches the native experience exactly • More code – yet strongly typed • Lacks a UI abstraction layer • Planning is required to optimise code sharing – You could easily end up with zero code shared
  35. AND THE REST … • Adobe Air • jQTouch • RhoMobile • KendoUI • mgwt • Intel App Framework • DXTREME • Enyo • Emy
  36. CONCLUSIONS • HTML5 is a viable technology • HTML5 is a route of compromise • HTML5 is not the only cross-platform technology
  37. CHOOSING A FRAMEWORK • Determine what is important for your application – Cost? UX? Which platforms? • Use PropertyCross to narrow the selection • Prototype your application • Evaluate – Code sharing – Developer experience – User experience
  38. CROSS-PLATFORM MOBILE DEVELOPMENT LOOKING BEYOND THE HTML5 HYPE Colin Eberhardt - @ColinEberhardt Scott Logic, ShinobiControls

Editor's Notes

  1. + Corporate issues
  2. App-cache / offline storage
  3. … now go away and test all these frameworks!
  4. + Highlight differences compared to a native UI + Android is a second class citizen + WP version is terrible!
  5. + Titanium IDE + (leaky) abstraction layer for UI code
  6. + JavaScript compiled into native code + Titanium IDE + (leaky) abstraction layer for UI code
  7. + Highlight differences compared to a native UI + Android is a second class citizen + WP version is terrible!
  8. + Highlight differences compared to a native UI + Android is a second class citizen + WP version is terrible!
  9. My personal approach for choosing a platform for a specific development is as follows:  * Determine exactly what platforms you want to reach, iPhone, Android (which version numbers), BlackBerry, WindowsPhone ...  * Define the requirements that you feel will be the most challenging.  * Take these requirements and turn them into a few representative screens or UIs. In other words, do a little bit of your app design.  * Use PropertyCross ( http://www.propertycross.com ) to help select a few frameworks that you think might work for you, in that they deliver a user experience you are happy with and that the tools / language are suitable for your development team.  * Prototype your application using the frameworks you want to test out.  * Place these prototypes in the hands of your users, stakeholders, developers - your wife and mother-in-law. See what the users reaction is to each framework.  * Take a view on delivered user experience versus cost for each frameworks.  * Choose one and go for it!  Prototyping with a few frameworks might sound costly, but with so many options, each of which are quite different, I feel it is the only way to be sure you have made the right decision. Making the wrong decision can be very costly. You don't want to do a 'Facebook' and have to throw away your whole application because you are the wrong choice!  Finally, in step (4) above make sure you also consider native and non HTML5-based frameworks (Xamarin, Titanium, AdobeAir). HTML5 is not the only way to make a cross-platform application! 
Advertisement