66
THE FUTURE IS THE FUTURE IS MOBILE

Mobile frameworks and Titanium specifically

Embed Size (px)

DESCRIPTION

A case for the importance of mobile frameworks like PhoneGap and Titanium, and a deeper look into how Titanium works.

Citation preview

Page 1: Mobile frameworks and Titanium specifically

THE FUTURE IS THE FUTURE IS

MOBILE

Page 2: Mobile frameworks and Titanium specifically

Introduction

Page 3: Mobile frameworks and Titanium specifically

The "App gold rush"

number of apps per platform

Page 6: Mobile frameworks and Titanium specifically
Page 7: Mobile frameworks and Titanium specifically
Page 8: Mobile frameworks and Titanium specifically
Page 9: Mobile frameworks and Titanium specifically

Mobile was easy in 2007

Page 10: Mobile frameworks and Titanium specifically

Still an Apple world in 2008

Page 11: Mobile frameworks and Titanium specifically

2009Android came to town

Page 12: Mobile frameworks and Titanium specifically

2010● The iPad hit● So did Android● In December

mobile out sold desktop

Page 13: Mobile frameworks and Titanium specifically

2012Mobile chaos reigns

Page 14: Mobile frameworks and Titanium specifically

And then you have your customers...

Page 15: Mobile frameworks and Titanium specifically

that's great, but....

Source: Forrester Research

Forrester Research:"Most apps take at least six months of full-time work and cost between $20,000 and $150,000 to develop"

padgadget.com:"For a nice but simple app, including design work, back-end services and project management your total budget is around $35,000

Page 19: Mobile frameworks and Titanium specifically
Page 20: Mobile frameworks and Titanium specifically

Time to reflect

The marviq story so far ...

Page 22: Mobile frameworks and Titanium specifically
Page 23: Mobile frameworks and Titanium specifically

Cross platform to choose from

2000 today

100+

Source: VisionMobile 2012

Page 24: Mobile frameworks and Titanium specifically

Diversity of tools for all sorts of developers, apps and mobile platforms

Source: VisionMobile 2012

Page 25: Mobile frameworks and Titanium specifically

How do you choose?

Page 26: Mobile frameworks and Titanium specifically
Page 27: Mobile frameworks and Titanium specifically
Page 28: Mobile frameworks and Titanium specifically

Putting the iq back in marviq

Pushing marviq forward

Page 29: Mobile frameworks and Titanium specifically

"Native developers"

Create apps using programming

languages and tools specific to

platforms

300K

"Web developers"

Create apps using HTML/CSS/JavaScript

Less dependent on specific programming

skills

3 million Source: VisionMobile 2012

Page 31: Mobile frameworks and Titanium specifically

HTML5 is pitched as the future of mobile apps

Page 33: Mobile frameworks and Titanium specifically

HTML5 is just past the peak of expectations

● Fragmentation across platforms (iOS, Android, BlackBerry, Windows Phone)● Challenges to compete with native user experience● Lack of distribution channels and monetisation for web apps

Page 34: Mobile frameworks and Titanium specifically

HTML5 is fragmented across platforms

html5test.com (April 2012)

Page 35: Mobile frameworks and Titanium specifically

Andrew Betts of Assanka on app.ft.com:

"It took a full-time team of 3 developers at Assanka 8 months to launch on iPad, and that team a further 4 months to bug-fix the iPad and ready for distribution to Android tables."

Page 36: Mobile frameworks and Titanium specifically
Page 37: Mobile frameworks and Titanium specifically

Marviq, mobile and more

Time for a new strategy

Page 38: Mobile frameworks and Titanium specifically

The need for a mobile strategy

Presentation

Logic

Data

Yesterday3-tier centralized web architecture

TodayCloud connected app centric modal

Page 39: Mobile frameworks and Titanium specifically
Page 40: Mobile frameworks and Titanium specifically

How to implement the strategy?

Page 41: Mobile frameworks and Titanium specifically

Bridging the gap

Page 43: Mobile frameworks and Titanium specifically

Why native?

● Fragmentation across platforms (iOS, Android, BlackBerry, Windows Phone)

● Challenges to compete with native user experience

● Lack of distribution channels and monetisation for web apps

Page 47: Mobile frameworks and Titanium specifically

Because it's all JavaScript

Foundation of reuse

Page 48: Mobile frameworks and Titanium specifically

Modular Application Development

MAT goes MAD

Page 49: Mobile frameworks and Titanium specifically

Modular code advantages

● Reusable with multiple tools● Tried & tested code● Easier to test● Easier to document● Resource scaling● Performance (non-blocking)● Optimisable (less code)

Page 50: Mobile frameworks and Titanium specifically

Presentation

Functional core

localStorage

DOM Utilities

Data formatters

Data objects

Data caching

XML Utilities

Phone utilitiesDOM Utilities

HTML Fragments

Components

HTML Fragments

Process handlers

Service handlers

XHR

XDM

Widgets

CSS Templates

Widgets

CSS Templates

JSON UtilitiesData stubs

Unit tests

View panes

Formatters Formatters

Controls

Web portal Native mobile HTML Mobile

Page 51: Mobile frameworks and Titanium specifically

MAD TechnologyFunctional core:● requireJS● promises / XHR / XDM● XPath / XML Dom

HTML5 Web:● jQuery / jQuery UI widgets● moment.js / accouting.js / ??● MAT / SASS / HAML / ??

Native mobile:● Appcelerator

HTML5 mobile:● PhoneGap● jQueryMobile / Twitter bootstrap / Vanilla HTML + JS / ??

Page 53: Mobile frameworks and Titanium specifically

Titanium SDK

Titanium Studio

Cloud services

Analytics

Support

Appcelerator

Page 54: Mobile frameworks and Titanium specifically

Titanium SDK

JavaScript runtime to run native apps

Cross device UI (not 100%)

Networking

Database / XML / Json

Page 55: Mobile frameworks and Titanium specifically

Yup, it's Eclipse

Titanium Studio

Page 56: Mobile frameworks and Titanium specifically

Eclipse / Aptana based

Helps install and manage SDK's

Can directly launch emulators / devices

Code completion and documentation

Integrated developer portal

Titanium Studio

Page 57: Mobile frameworks and Titanium specifically

Titanium marketplace

Page 58: Mobile frameworks and Titanium specifically

Cloud services

Page 59: Mobile frameworks and Titanium specifically

Appcelerator ecosystem

Page 60: Mobile frameworks and Titanium specifically

Appcelerator is modularCommonJS based

Page 61: Mobile frameworks and Titanium specifically

function Car( params ) {}module.exports = Car;

Modules in Appcelerator

var Car = require( "Car" ), ferrari = new Car();

A module:

How to use:

Page 62: Mobile frameworks and Titanium specifically

function Car( params ) {}exports.drive = function(){

console.log( "driving" );}module.exports = Car;

Modules in Appcelerator

var Car = require( "Car" ), ferrari = new Car( { color: "red" } );ferrari.drive();

Page 63: Mobile frameworks and Titanium specifically

function Car( params ) {}

function drive = function() {console.log( "driving" );

}exports.drive = drive;module.exports = Car;

Modules in Appcelerator

Page 64: Mobile frameworks and Titanium specifically

function Car( params ) {}

exports.exports = Car;

Car.prototype.drive = function() {console.log( "driving" );

}

Modules in Appcelerator

Page 65: Mobile frameworks and Titanium specifically

More to follow...

Page 66: Mobile frameworks and Titanium specifically

LabsStart your editors...