JAZOON'13 - Martin Naumann - Mobile web technologies - an overview
description
Transcript of JAZOON'13 - Martin Naumann - Mobile web technologies - an overview
![Page 1: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/1.jpg)
Mobile web technologies- an overviewMartin Naumann
![Page 2: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/2.jpg)
Hi there!
|
![Page 3: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/3.jpg)
There’s only one web
|
![Page 4: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/4.jpg)
|
Let’s talk about performance
![Page 5: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/5.jpg)
Repeat after me:
The DOM isn’t slow
|
DOM Performance
![Page 6: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/6.jpg)
|
DOM Performance
•Beware of layout thrashing!
•Read first, Write second
•Batch up writes
•Test test test!
![Page 7: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/7.jpg)
|
Reflow, Paint & the browser
Reflow
•If dimensions or positions changed
•reconstruction of the render tree
Examples:
elem.style.display = “none”;
elem.addChild(childElem);
![Page 8: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/8.jpg)
|
Reflow, Paint & the browser
Repaint
•If there was a reflow or appearance changed
•repainting the screen content, tile- and layer-based*
Examples:
elem.style.backgroundColor = “red”;
elem.style.visibility = “hidden”;
![Page 9: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/9.jpg)
|
3 nice ’n’ hackety hacks!
•Use canvas (> 256px width or height) for complicated graphic elements
•Use translateZ(0) to bring elements on their own layer
•Use CSS 3D Transitions for HW acceleration
•Using FastDOM (https://github.com/wilsonpage/fastdom)
![Page 10: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/10.jpg)
Let’s go hybrid!
|
And now...
![Page 11: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/11.jpg)
|
What’s hybrid?
![Page 12: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/12.jpg)
|
What technology can I use?
PhoneGap
SenchaTitanium
Calatrava
Trigger.ioRhoMobileM Project
MoSync
AppFramework Steroids.js
![Page 13: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/13.jpg)
|
What technology can I use?
PhoneGap
SenchaTitanium
Calatrava
Trigger.ioRhoMobileM Project
MoSync
AppFramework Steroids.js
![Page 14: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/14.jpg)
|
Woah! Wait - what?
![Page 15: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/15.jpg)
|
The rest of the stack
•Javascript MV* Libraries / Frameworks○ Backbone○ Ember○ Knockout○ Angular
•UI Frameworks○ Lungo○ TopCoat○ jQTouch○ jQuery mobile
![Page 16: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/16.jpg)
|
Find a combo that works together
● Our toolset:○ Phonegap: Fully agnostic container○ Angular: Fully agnostic MV*-Framework○ Lungo: Pretty agnostic UI Framework
● Other potential candidates: ○ Knockout + Phonegap + Lungo○ Angular 1.2 + Phonegap + TopCoat
![Page 17: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/17.jpg)
|
Case study: The C-App
● Internal app to do the various admin tasks● Users are on iOS, Android, Blackberry and the web● Prototype rapidly, iterate quickly, roll out often
![Page 18: JAZOON'13 - Martin Naumann - Mobile web technologies - an overview](https://reader033.fdocuments.us/reader033/viewer/2022042814/5558382fd8b42acb078b49d4/html5/thumbnails/18.jpg)
Thanks for the attention!
Follow @olivertupman
[email protected] | @avgp | engine.centralway.com
www.centralway.com