jquery mobile: sites that feel like apps

38
FooLab jQuery Mobile: Sites That Feel Like Apps OSCON - July 19, 2012

Upload: anna-filina

Post on 28-Jan-2015

111 views

Category:

Technology


1 download

DESCRIPTION

jQuery Mobile is a cross-platform framework made for smartphones and tablets. With its HTML5 interface, it looks and feels like an app. This presentation will teach you how to quickly create a mobile front-end with little effort. It will also feature a use-case of adapting an existing web application to the mobile.

TRANSCRIPT

Page 1: jQuery Mobile: Sites That Feel Like Apps

FooLab

jQuery Mobile: Sites That Feel Like AppsOSCON - July 19, 2012

Page 2: jQuery Mobile: Sites That Feel Like Apps

FooLab

This presentation is suited for all levelsSlides and code will be available online: @afilina#oscon #jquerymobile

Page 3: jQuery Mobile: Sites That Feel Like Apps

FooLabWhat You Will Learn

• Mobile site / mobile app.

• Device jungle.

• Why it’s hard to build mobile sites.

• Overview of jQuery Mobile.

• Adapting an existing site to the mobile.

• Best practices.

3

Page 4: jQuery Mobile: Sites That Feel Like Apps

FooLabAnna Filina

• PHP Quebec - user group, organizer.

• ConFoo - non for profit Web conference, organizer.

• FooLab Inc. - IT consulting, vice-president.

• I write code.

• I train and supervise programmers.

• I make recommendations.

4

Page 5: jQuery Mobile: Sites That Feel Like Apps

FooLabMobile Site vs Mobile App

• Mobile site

• Quick and inexpensive

• Point of entry for first-time users

• Others link to your site

• Mobile application

• Faster

• More features and control

• No white pages

• Works offline

5

Page 6: jQuery Mobile: Sites That Feel Like Apps

FooLabDoes Your Site Work on This?

6 © Amazon

Page 7: jQuery Mobile: Sites That Feel Like Apps

FooLabThe Problem

• Development takes time.

• UI looks different everywhere.

• Too many variables:

• devices,

• browsers,

• capabilities.

7

Page 8: jQuery Mobile: Sites That Feel Like Apps

FooLabCapabilities

• Viewport size.

• Pointing method:

• joystick,

• stylus,

• touchscreen,

• clickwheel.

• AJAX support.

• QWERTY keyboard.

• Images support.

• Number of colors.

• HTTPS support.

• UTF-8 support.

• Percent width.

• ...

8

Page 9: jQuery Mobile: Sites That Feel Like Apps

FooLabSolution: jQuery Mobile

• One codebase to rule them all.

• JavaScript framework.

• Site looks the same everywhere.

• UI adapted for mobile

• Works on many devices.

9

Page 10: jQuery Mobile: Sites That Feel Like Apps

FooLab

10 © Apple, Google, Blackberry, Samsung, Amazon

Page 11: jQuery Mobile: Sites That Feel Like Apps

FooLabMobile-Specific Events

11

• Tap: quick or hold.

• Swipe: left or right.

• Orientation change.

Page 12: jQuery Mobile: Sites That Feel Like Apps

FooLab

Let’s Build Something

Page 13: jQuery Mobile: Sites That Feel Like Apps

FooLabBasics

13

Page 14: jQuery Mobile: Sites That Feel Like Apps

FooLab

<div data-role="page">

</div>

14

Page 15: jQuery Mobile: Sites That Feel Like Apps

FooLab

<div data-role="page"> <div data-role="content">

</div></div>

15

Page 16: jQuery Mobile: Sites That Feel Like Apps

FooLab

<div data-role="page"> <div data-role="content"> <a data-role="button">About</a> </div></div>

16

Page 17: jQuery Mobile: Sites That Feel Like Apps

FooLab

<div data-role="page"> <div data-role="content"> <a data-role="button">About</a> </div></div>

<div data-role="page" id="page-about"> [...]</div>

17

Page 18: jQuery Mobile: Sites That Feel Like Apps

FooLab

<div data-role="page"> <div data-role="content"> <a href="#page-about" data-role="button">About</a> </div></div>

<div data-role="page" id="page-about"> [...]</div>

18

http://conference/jqm-intro/basics.html

Page 19: jQuery Mobile: Sites That Feel Like Apps

FooLab

Use CaseOSCON Presentations on Mobile

Page 20: jQuery Mobile: Sites That Feel Like Apps

20

Page 21: jQuery Mobile: Sites That Feel Like Apps

21

Page 22: jQuery Mobile: Sites That Feel Like Apps

FooLabImprovements

22

• No zooming required.

• Search box to filter list items.

• The entire block is clickable.

• Less info to reduce clutter.

• Separators to indicate days.

Page 23: jQuery Mobile: Sites That Feel Like Apps

23

Page 24: jQuery Mobile: Sites That Feel Like Apps

FooLabImprovements

24

• No zooming required.

• Collapsible blocks: see available info without scrolling.

• Share buttons always visible.

http://conference/jqm-intro/oscon.html

Page 25: jQuery Mobile: Sites That Feel Like Apps

FooLabFeatures

• Transitions

• Dialogs

• Themes

• History and caching

• List filtering

• Toolbars and button groups

• Forms

• Slider

• Flip switch

• AJAX submitting

25

Page 26: jQuery Mobile: Sites That Feel Like Apps

FooLab

Best Practices

Open question to the audience.

Page 27: jQuery Mobile: Sites That Feel Like Apps

FooLabBig Lists

27

• Consider splitting into groups.

• Few groups: use a navigation bar.

• Many groups: use intermediate list.

Page 28: jQuery Mobile: Sites That Feel Like Apps

FooLabNavigation

28

• Use lists where appropriate.

• Add back and/or home buttons.

• Keep it narrow and shallow.

• Describe links.

Page 29: jQuery Mobile: Sites That Feel Like Apps

FooLabPerformance

29

• Keep transitions to minimum.

• Slow devices.

• User time.

• Magnetic ink.

Page 30: jQuery Mobile: Sites That Feel Like Apps

FooLabPerformance

30

• Minimize round-trips.

• Use multi-page documents.

• Use sprite maps.

List: 2.1KB Details: 2.2KB

Combined: 3.6KB

Page 31: jQuery Mobile: Sites That Feel Like Apps

FooLabPerformance

31

• Link to jquery.com for .js and .css files.

Page 32: jQuery Mobile: Sites That Feel Like Apps

FooLab

Goodies

Page 33: jQuery Mobile: Sites That Feel Like Apps

FooLabCodiqa: UI Builder

33

Page 34: jQuery Mobile: Sites That Feel Like Apps

FooLabTheme Roller

34

Page 35: jQuery Mobile: Sites That Feel Like Apps

FooLabPhoneGap

35

• Convert your mobile UI to a native app.

• Supports 7 platforms.

• Saves even more money.

Page 36: jQuery Mobile: Sites That Feel Like Apps

FooLabUI Design

36

• Make it easy to accomplish a task.

• Prevent user mistakes.

• Allow mistake recovery.

=====Done from my mobile.Sorry for any private photos accidentally sent to your boss.

Page 37: jQuery Mobile: Sites That Feel Like Apps

FooLabResources

• jQuery Mobile: http://jquerymobile.com/

• Sprite maps: http://www.alistapart.com/articles/sprites/

• UI builder: http://www.codiqa.com/

• ThemeRoller: http://jquerymobile.com/themeroller/

• PhoneGap: http://phonegap.com/

37

Page 38: jQuery Mobile: Sites That Feel Like Apps

FooLab

Q & ATwitter: @afilinaE-mail: [email protected]