Your SlideShare is downloading. ×

Cross platform mobile development - you tube videos

1,298
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,298
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • + Corporate issues
  • App-cache / offline storage
  • … now go away and test all these frameworks!
  • + Highlight differences compared to a native UI+ Android is a second class citizen+ WP version is terrible!
  • + Titanium IDE+ (leaky) abstraction layer for UI code
  • + JavaScript compiled into native code+ Titanium IDE+ (leaky) abstraction layer for UI code
  • + Highlight differences compared to a native UI+ Android is a second class citizen+ WP version is terrible!
  • + Highlight differences compared to a native UI+ Android is a second class citizen+ WP version is terrible!
  • 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! 
  • Transcript

    • 1. CROSS-PLATFORMMOBILE DEVELOPMENTLOOKING 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 SALESMillionunitsshipped
    • 6. THE HYPE“HTML5 takes the internet bystorm”BBC News (Technology), 8 May 2012“New York Times and Burberry join theHTML5 brigade”The Guardian Technology Blog, 3 Oct 2012
    • 7. … AND SOME ‘ANTI’-HYPE“Why HTML5 Is Still Not Ready ForPrime Time”Business Insider, 7 Nov 2012“The biggest mistake we made as acompany was betting too much onHTML5 as opposed to native”Mark Zuckerberg“Why LinkedIn dumped HTML5 & wentnative for its mobile app”Kiran Prasad
    • 8. GARTNER HYPE CYCLEGartners 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 MOBILESmartphone 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 /JavaScriptApplicationPhoneAPIsPhoneAPIsAndroidiPhoneHYBRID APPS
    • 14. HTML5 IS MANY THINGS
    • 15. WHY LIMIT YOURSELF TO JUSTHTML5?
    • 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-storedistribution• Matches the native look and feel for eachplatform• Well designed / structured
    • 19. demo time …
    • 20. NATIVE APPLICATIONhttp://www.youtube.com/watch?v=RJXtfk43SCM
    • 21. JQUERY MOBILE• Popular framework for creating mobilewebsites• Added Knockout, RequireJS, jquery-metro-theme• PhoneGap for ‘wrapping’
    • 22. JQUERY MOBILEhttp://www.youtube.com/watch?v=h0TVvKPLBR4
    • 23. NATIVE TRANSITIONShttp://www.youtube.com/watch?v=rrkG4swoNAE
    • 24. JQUERYMOBILE TRANSITIONShttp://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 verywas 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 TOUCHhttp://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 theapplication 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 differencesTITANIUM
    • 30. TITANIUMhttp://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. XAMARINhttp://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 codesharing– You could easily end up with zero codeshared
    • 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-platformtechnology
    • 37. CHOOSING A FRAMEWORK• Determine what is important for yourapplication– Cost? UX? Which platforms?• Use PropertyCross to narrow the selection• Prototype your application• Evaluate– Code sharing– Developer experience– User experience
    • 38. CROSS-PLATFORMMOBILE DEVELOPMENTLOOKING BEYOND THE HTML5 HYPEColin Eberhardt - @ColinEberhardtScott Logic, ShinobiControls