sencha touch workshop

78
Sunday, October 24, 2010

Upload: david-kaneda

Post on 15-Jan-2015

13.813 views

Category:

Technology


2 download

DESCRIPTION

A 3-hour workshop I gave at Brooklyn Beta, walking through the basics of building a Sencha Touch app. More info at http://9-bits.com/bb2010.Sencha Touch is a Javascript framework that enables developers to create apps for iOS and Android.http://sencha.com/products/touch/

TRANSCRIPT

Page 1: Sencha Touch Workshop

Sunday, October 24, 2010

Page 2: Sencha Touch Workshop

@davidkaneda@senchainc@jqtouch@webkitbits

Sunday, October 24, 2010

Page 3: Sencha Touch Workshop

What’s Sencha Touch?

Sunday, October 24, 2010

Page 4: Sencha Touch Workshop

What’s Sencha Touch?JavaScript API for mobile apps

Built on Web StandardsTargets WebKit

Abstracted for performance/easeEasy to theme

Sunday, October 24, 2010

Page 5: Sencha Touch Workshop

ScrollingMomentum/bounce physicsHardware accelerated Throughout componentsListsCarouselPickers

Sunday, October 24, 2010

Page 6: Sencha Touch Workshop

ScrollingMomentum/bounce physicsHardware accelerated Throughout componentsListsCarouselPickers

Sunday, October 24, 2010

Page 7: Sencha Touch Workshop

ScrollingMomentum/bounce physicsHardware accelerated Throughout componentsListsCarouselPickers

Sunday, October 24, 2010

Page 8: Sencha Touch Workshop

Touch EventsBuilt on native events Abstracted for performanceAdditional eventsTapDouble tapTap and holdSwipeRotateDrag & drop

Sunday, October 24, 2010

Page 9: Sencha Touch Workshop

Let’s take a look…

Sunday, October 24, 2010

Page 10: Sencha Touch Workshop

Outline

Sunday, October 24, 2010

Page 11: Sencha Touch Workshop

Outline

1. Basics2. Layouts3. User Interface4. Data5. Style

Sunday, October 24, 2010

Page 12: Sencha Touch Workshop

Some Basics

Sunday, October 24, 2010

Page 13: Sencha Touch Workshop

index.html

Sunday, October 24, 2010

Page 14: Sencha Touch Workshop

index.js

Sunday, October 24, 2010

Page 15: Sencha Touch Workshop

Creating a Component

Sunday, October 24, 2010

Page 16: Sencha Touch Workshop

Creating a ComponentThere a two ways to generate a component:

Instantiating an object or passing a child to a container as JSON with an xtype.

Sunday, October 24, 2010

Page 17: Sencha Touch Workshop

object

Sunday, October 24, 2010

Page 18: Sencha Touch Workshop

xtype

Sunday, October 24, 2010

Page 19: Sencha Touch Workshop

Layouts

Sunday, October 24, 2010

Page 20: Sencha Touch Workshop

Key concepts

Sunday, October 24, 2010

Page 21: Sencha Touch Workshop

Key conceptsA container layout specifies how its children

components are rendered.

A panel is the default component type and can act as a container.

Sunday, October 24, 2010

Page 22: Sencha Touch Workshop

Layout Types

Sunday, October 24, 2010

Page 23: Sencha Touch Workshop

Layout Typesfit

cardvboxhbox

Sunday, October 24, 2010

Page 24: Sencha Touch Workshop

fit

Sunday, October 24, 2010

Page 25: Sencha Touch Workshop

card

Sunday, October 24, 2010

Page 26: Sencha Touch Workshop

vbox

Sunday, October 24, 2010

Page 27: Sencha Touch Workshop

hbox

Sunday, October 24, 2010

Page 28: Sencha Touch Workshop

Container Config

Sunday, October 24, 2010

Page 29: Sencha Touch Workshop

Container Configpack: start/center/end/justifyalign: start/center/end/stretch

direction: normal/reverse

Sunday, October 24, 2010

Page 30: Sencha Touch Workshop

Container Items Config

Sunday, October 24, 2010

Page 31: Sencha Touch Workshop

Container Items Configwidth/height: n

flex: n

Sunday, October 24, 2010

Page 32: Sencha Touch Workshop

Sunday, October 24, 2010

Page 33: Sencha Touch Workshop

Demo & Exercise

Sunday, October 24, 2010

Page 34: Sencha Touch Workshop

User Interface

Sunday, October 24, 2010

Page 35: Sencha Touch Workshop

Toolbars, Buttons, and Icons

Sunday, October 24, 2010

Page 36: Sencha Touch Workshop

The UI attribute

Sunday, October 24, 2010

Page 37: Sencha Touch Workshop

The UI attributeA string which changes the

appearance of a component.

Sunday, October 24, 2010

Page 38: Sencha Touch Workshop

Forms

Sunday, October 24, 2010

Page 39: Sencha Touch Workshop

Tabs

Sunday, October 24, 2010

Page 40: Sencha Touch Workshop

Carousel

Sunday, October 24, 2010

Page 41: Sencha Touch Workshop

Map

Sunday, October 24, 2010

Page 42: Sencha Touch Workshop

Sheets & Overlays

Sunday, October 24, 2010

Page 43: Sencha Touch Workshop

Demo

Sunday, October 24, 2010

Page 44: Sencha Touch Workshop

Data

Sunday, October 24, 2010

Page 45: Sencha Touch Workshop

Models

Sunday, October 24, 2010

Page 46: Sencha Touch Workshop

ModelsRepresents a data object

Can validate form dataCan be given associations

Sunday, October 24, 2010

Page 47: Sencha Touch Workshop

Sunday, October 24, 2010

Page 48: Sencha Touch Workshop

Stores

Sunday, October 24, 2010

Page 49: Sencha Touch Workshop

StoresCollection of records

CRUDUse proxies to read/write data

Sunday, October 24, 2010

Page 50: Sencha Touch Workshop

DataView

Sunday, October 24, 2010

Page 51: Sencha Touch Workshop

DataViewFills data from a store into a template

eg: List

Sunday, October 24, 2010

Page 52: Sencha Touch Workshop

Sunday, October 24, 2010

Page 53: Sencha Touch Workshop

Demo

Sunday, October 24, 2010

Page 54: Sencha Touch Workshop

Style

Sunday, October 24, 2010

Page 55: Sencha Touch Workshop

SASS & Compass

Sunday, October 24, 2010

Page 56: Sencha Touch Workshop

SASS & CompassOptional layers that allow greater flexibility

and control when creating custom stylesheets.

To install:sudo gem install haml

sudo gem install compass

Sunday, October 24, 2010

Page 57: Sencha Touch Workshop

config.rb

Sunday, October 24, 2010

Page 58: Sencha Touch Workshop

myapp.scss

Sunday, October 24, 2010

Page 59: Sencha Touch Workshop

Variables

Sunday, October 24, 2010

Page 60: Sencha Touch Workshop

Variables$base_color

$base_gradient$alert_color

$bright_color

Sunday, October 24, 2010

Page 61: Sencha Touch Workshop

Custom UIs

Sunday, October 24, 2010

Page 62: Sencha Touch Workshop

Custom UIs@sencha-toolbar-ui@sencha-tabbar-ui@sencha-button-ui

Sunday, October 24, 2010

Page 63: Sencha Touch Workshop

Demo

Sunday, October 24, 2010

Page 64: Sencha Touch Workshop

Best Practices

Sunday, October 24, 2010

Page 65: Sencha Touch Workshop

Custom Components

Sunday, October 24, 2010

Page 66: Sencha Touch Workshop

Custom ComponentsExt.extend allows you to extend default components

and make them your own.

Sunday, October 24, 2010

Page 67: Sencha Touch Workshop

Custom Theme

Sunday, October 24, 2010

Page 68: Sencha Touch Workshop

Custom ThemeRemove unnecessary CSS by omitting images, components, and UIs with SASS & Compass.

Sunday, October 24, 2010

Page 69: Sencha Touch Workshop

Advanced Demo

Sunday, October 24, 2010

Page 70: Sencha Touch Workshop

Take a breath…

Sunday, October 24, 2010

Page 71: Sencha Touch Workshop

Sunday, October 24, 2010

Page 72: Sencha Touch Workshop

UR NEW BFF

Sunday, October 24, 2010

Page 73: Sencha Touch Workshop

Sunday, October 24, 2010

Page 74: Sencha Touch Workshop

Sunday, October 24, 2010

Page 75: Sencha Touch Workshop

Coming Up

Sunday, October 24, 2010

Page 76: Sencha Touch Workshop

App ArchitectureJSBuilder Release

Compass frameworkDocs and guides

Better error reportingDeveloper Contest

Coming Up

Sunday, October 24, 2010

Page 77: Sencha Touch Workshop

Sunday, October 24, 2010

Page 78: Sencha Touch Workshop

Thanks!@davidkaneda

http://9-bits.com/bb2010

Sunday, October 24, 2010