Notes from the talk "Difference in Cross-platform mobile development – native vs hybrid vs HTML5" by Dmitry Ivanov from C.T.Co
Native ++ + Speed and reaction + Consumer focus + Native look and feel + Native API + Debug + Profile -- - Only 1 Platform - New language - Costs - App review time (publishing & updates)
HTML 5 Frameworks * Sencha Touch * jQuery Mobile * KendoUI * jQTouch * The-M-Project * GWT Mobile * Jo * Mobello Tools * Default Web Developer tools * Remote Web Inspector (weinre, jsconsole.com * Check this: ** SASS ** CoffeeScript ** Backbone.js Hints and Caveats * Desktop Browser != Mobile Browser * Safari != Chrome * Mobile Browser != WebView * Offline app: remember about storage limit * Screen rotation handling animation * Minimize & merge frontend * Reduce & gzip requests * Optimize images * Simple, semantic DOM * Move as much as possible to backend * Do not use jQuery only for $("#myButton") * Do not use huge frameworks * Use HTML5 features: ** WebWorkers ** WebStorage, WebSockets, Geolocation * Forget about JS animation * Use CSS3 animations ** activate the GPU: -webkit-transform: translate3d(0,0,0); * Test on multiple (as many as possible) devices or use collaboration testing tools Hybrid * Self made protocol (http://myapp/) * PhoneGap * Trigger.io * HTML5 <-> [Native] HTML5 * One app = All devices * App fast update (without approval) * Hybrid way: access to native API + plugins * Easy to learn/develop? HTML5 -- * Over-hype * It's not only HTML * Speed * UI & Browsers " identity" * Debug/profile * In-app purchase unavailable * Wrappers stack * HTML+CSS vs Interface Builder * Hybrid way: custom plugins * Hybrid way: new platform/API SDK update delay Resources http://www.html5rocks.com/ Cross-compile * Appcelerator Titanium: ** JavaScript -> Native + Hybrid JS * MonoTouch: ** C# -> ARM ASM * Apache Thrift: ** Thrift definition -> Native * QT: ** QT + Native interfaces + run loop integration magic Decision: * Single Platform | Native <-- Hybrid --> HTML5 | Multiple Platforms * App size and type * Platforms * Developer skill * Budget * Monetization + Distribution
No comments:
Post a Comment