sencha touch for rubyists

39

Upload: james-pearce

Post on 29-Nov-2014

3.362 views

Category:

Technology


1 download

DESCRIPTION

An overview of Sencha Touch, presented to the Silicon Valley Ruby Meetup Group, January 2011

TRANSCRIPT

Page 1: Sencha Touch for Rubyists
Page 2: Sencha Touch for Rubyists

James Pearce Director, Developer Relations @ jamespearce [email protected]

Page 3: Sencha Touch for Rubyists

Sencha Touch

Page 4: Sencha Touch for Rubyists

Sencha Touch is......a JavaScript framework for building rich mobile apps with web standards

Page 5: Sencha Touch for Rubyists

Why should I be building rich mobile apps with with

web standards?Q1

Q2

Page 6: Sencha Touch for Rubyists

MobileNew users

New relationshipsNew contexts

New business modelsNew channels

“The future of human communication”

Q1:

Page 7: Sencha Touch for Rubyists

Cross-platform*Existing skills & toolsNo approval required

Native APIs*Easy updates

“The next era of the web as we know it”

* YMMV!

Mobile WebQ2:

Page 8: Sencha Touch for Rubyists

ApplicationsDocuments

Programmatic DOMDeclarative HTML

APIsTemplates

ArgumentsURLs

SynchronizationRequest/Response

The Web is Evolving...

“HTML5”

Page 9: Sencha Touch for Rubyists

Introducing Sencha Touch

Let’s start with some demos...

Page 10: Sencha Touch for Rubyists
Page 11: Sencha Touch for Rubyists
Page 12: Sencha Touch for Rubyists
Page 13: Sencha Touch for Rubyists

Coming Soon: BlackBerry 6 & Meego

Page 14: Sencha Touch for Rubyists

2%2%3%

7%

39%

47%

iOSAndroidRIMWebOSWinmoOther

http://metrics.admob.comJanuary 2010

US Mobile Smartphone Traffic

Page 15: Sencha Touch for Rubyists

WebKit Rocks!HTML5 + CSS3Transforms, Transitions, & AnimationsCanvasSQLiteCache ManifestGeo-Location

Page 16: Sencha Touch for Rubyists

Layouts & components Touch events & scrollerData packageMVC frameworkOrientation & animationTheming & icons

...and more

What’s in Sencha Touch?

Page 17: Sencha Touch for Rubyists

Lists - Nested, Grouped, SortableCarouselPickerOverlaySliderForms & fieldsToolbars & buttonsHTML5 - Audio - Video - GeoLocation

Components

Page 18: Sencha Touch for Rubyists

Forms

Page 19: Sencha Touch for Rubyists

Touch EventsBuilt on native events

Abstracted for performance

Additional events - Tap - Double tap - Tap and hold - Swipe - Rotate - Drag & drop

Page 20: Sencha Touch for Rubyists

ScrollingMomentum/bounce physics

Hardware accelerated

Throughout all components: - Lists - Carousel - Pickers

Page 21: Sencha Touch for Rubyists

Data PackageModels, Stores, and Proxies - Associations - Validation - Local & server storage

Easily consume web services - JSON/P - XML - YQL

Page 22: Sencha Touch for Rubyists

“The Kitchen Sink”

http://sencha.com/x/5e

Page 23: Sencha Touch for Rubyists

CSS3, SASS & Compass - Flexible themes - Highly optimized

300+ Pre-included icons

Robust Animations

Resolution Independent

Theming

Page 24: Sencha Touch for Rubyists

Applification

Page 25: Sencha Touch for Rubyists

Working with the Web

Page 26: Sencha Touch for Rubyists

Evolving sites for mobile

HTML, CSS...

Models

Controllers

Views

Page 27: Sencha Touch for Rubyists

Evolving sites for mobile

Models

Controllers

Mobile

DesktopSw

itch

er HTML, CSS...

Page 28: Sencha Touch for Rubyists

Mobile Fu

class ApplicationController < ActionController::Base has_mobile_fuend

*.mobile.erb

is_mobile_device?in_mobile_view?

https://github.com/brendanlim/mobile-fu

Page 29: Sencha Touch for Rubyists

An application approach

JSON

Models

Controllers

Mobile

DesktopSw

itch

ers

REST

Page 30: Sencha Touch for Rubyists

The stack of the present

Storage

Business logic

User interfacereq/res

Rendering

Page 31: Sencha Touch for Rubyists

The stack of the future

Storage

Security Business logic

User interfacesync

Storage

Page 32: Sencha Touch for Rubyists

Let’s build an app

Page 33: Sencha Touch for Rubyists

A few other considerations

Page 34: Sencha Touch for Rubyists

Thematic consistency

w3c-speak

http://mysite.com/posts/123

http://mysite.com/#!/posts/123

Page 35: Sencha Touch for Rubyists

Smart detection& user choice

“Switch to our desktop site”

http://mobiforge.com/

Page 36: Sencha Touch for Rubyists

Brand consistency

Page 37: Sencha Touch for Rubyists

Mobile devicesare di!erent

Telephony

Geolocation

Camera

Messaging

And mobile usersare different too!

Page 38: Sencha Touch for Rubyists

Good luck!http://sencha.com/products/touch/

Page 39: Sencha Touch for Rubyists

James Pearce Director, Developer Relations @ jamespearce [email protected]