43

Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

  • View
    10.466

  • Download
    2

Embed Size (px)

DESCRIPTION

The Web is becoming the common operating system across all devices, both mobile and desktop. In this talk Dion will explain the technology that you need to understand to make sure your app is ready for the next era where all web apps will need to be mobile. This is going to give web developers a HUGE advantage and opportunity to deploy their apps to multiple devices, and it's vital to understand what's coming down the pipeline. Dion will explain exactly that, and prepare you for what's coming. Exciting!

Citation preview

Page 1: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 2: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 3: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 4: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 5: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 6: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 7: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 8: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

craigslist

Page 9: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 10: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Apple

Nokia

Palm

Sony

RIMHTC

LG Motorola

Page 11: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 12: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 13: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

1,500,000,000+

Page 14: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 15: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 16: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 17: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 18: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Chrome’s V8 Safari’s SquirrelFish Extreme Firefox’s TraceMonkey Opera's Carakan

2.01.0 1.0

Alpha

100x

Page 19: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

User Interface

BackgroundThread

2X

Browser

1

Web Workers

Page 20: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

HTML5

Page 21: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Web Apps Packaged Apps

Web deployment model✓Use HTML5 app featuresfor caching + integration

✓Package applications✓Deploy to “store”✓

Page 22: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 23: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Client Server

HTML / CSS / A little JavaScript

All Business LogicNearly 100% Application Logic

Dumb Forms

Page 24: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Client Server

HTML / CSS / JavaScript

Some Business LogicSome Application LogicSome Application Logic

Data (e.g., JSON)

Some Business Logic

“Web Services”

Page 25: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Client Server

Some Business LogicAll Application LogicSome Business Logic

“Web Services”

Data (e.g., JSON)

Page 26: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 27: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Fluid

Appcelerator Titanium

PhoneGap

Palm webOS

Page 28: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Embedded WebKitInstance

+ JS runtime (e.g., V8)

Device-native Application Shell

Page 29: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Titanium Desktop

supports php, Python, Ruby, and Javascript

Titanium Mobile

Page 30: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

“We started developing it on Saturday and finished on Monday for both iPhone and Android.

Without Titanium, we would not have been able to get it done.”

Page 31: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

• Device

• Notification

• Media

• GeoLocation

• Accelerometer

• Contact

• Camera

PhoneGap

Page 32: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

function watchAccel() {

var win = function(a) {

document.getElementById('x').innerHTML = a.x;

document.getElementById('y').innerHTML = a.y;

document.getElementById('z').innerHTML = a.z;

};

var fail = function(){};

var opt = { frequency: 100 };

watchId =

navigator.accelerometer.watchAcceleration(win, fail,

opt);

}

PhoneGap

Page 33: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 34: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

// watch for swiping

$('#swipeme').bind('swipe', function(event, info) {

console.log(info.direction);

});

// orientation changes

$('body').bind('turn', function(event, info) {

console.log(info.orientation); // landscape/profile

});

// animations

$('#portfolio').bind('pageAnimationEnd',

function(event, info) {

if (info.direction == 'in') loadWorks();

})

Page 35: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Page 36: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Getting Touchy

Page 37: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Tweetie 2Feel the refresh

Palm PreGesture back

Page 38: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Haptics are coming :)

Page 39: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Software keyboard Hardware keyboard

Page 40: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

NewsroomViewport on a world

Shake Shake ShakeDefining the new Ctrl-C’s

Page 41: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

What does the user want?

Page 42: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere

Physics Matters

Page 43: Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere