8. Good Code === Good Hybrid
• Much of making effective mobile is simply writing
good code;
• Desktops let us be lazier;
• JS ecosystem is littered with bad/leaky code;
13. ember-cordova
• Started as a fork of ember-cli-cordova to prepare
for platforms;
• Has now become a stand alone project & ember-
cli-cordova is less maintained;
14. ember-cordova: Changes
• Refactoring of internals/tasks;
• Does not include default touch/click handlers, only a
raw cordova wrapping;
• Adds hook support;
• Splash screen & icon management built in;
• Cordova, Device & Platform Services;
• Limited plugin bindings;
15. ember-cordova: Next
• More plugin bindings;
• Plugins which install an ember-service && the
related cordova plugin (e.g. keyboard);
• Fixed tests;
16.
17.
18. Hooks
• beforeBuild
• afterBuild
• beforePrepare
• afterPrepare
• Use hooks for any customization, warnings, etc;
• Hooks are just exported functions;
32. A note on deviceready
• You probably need to use it for any custom
initializers;
• Has special handling. Even if you register the
handler after deviceready fires, it will still be
triggered.
40. Crosswalk
• https://crosswalk-project.org;
• For Android;
• Increases app size by ~20mb;
• ~5-10x speed improvement on older devices.
Especially 4.x;
• Consistent browser environment for stuff like css;
52. App size matters
• For Android, 500-750kb target;
• For iOS less of a problem. Served ~2mb without
problems;
https://joreteg.com/blog/viability-of-js-frameworks-on-mobile
http://blog.runspired.com/2016/03/25/the-chrome-distortion-chrome-alters-our-expectations-in-highly-negative-ways/
57. What causes Reflow?
• Resizing the browser window;
• using JavaScript methods involving computed
styles;
• adding or removing elements from the DOM; and
• changing an element's classes.
• https://developers.google.com/speed/articles/reflo
w