Mobile frameworks and Titanium specifically
-
Upload
jan-van-den-berg -
Category
Software
-
view
236 -
download
0
description
Transcript of Mobile frameworks and Titanium specifically
![Page 1: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/1.jpg)
THE FUTURE IS THE FUTURE IS
MOBILE
![Page 2: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/2.jpg)
Introduction
![Page 3: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/3.jpg)
The "App gold rush"
number of apps per platform
![Page 5: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/5.jpg)
![Page 6: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/6.jpg)
![Page 7: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/7.jpg)
![Page 8: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/8.jpg)
![Page 9: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/9.jpg)
Mobile was easy in 2007
![Page 10: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/10.jpg)
Still an Apple world in 2008
![Page 11: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/11.jpg)
2009Android came to town
![Page 12: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/12.jpg)
2010● The iPad hit● So did Android● In December
mobile out sold desktop
![Page 13: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/13.jpg)
2012Mobile chaos reigns
![Page 14: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/14.jpg)
And then you have your customers...
![Page 15: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/15.jpg)
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 16: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/16.jpg)
So many platform, so little time
Java Objective-C C++, C#
HTML5 Java C++
![Page 17: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/17.jpg)
![Page 18: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/18.jpg)
TVTabletPC
It's no longer about smartphones
Smartphone
Mac computers
Chrome books
iPhone iPad Apple TV
Android Android tablets Google TV
Windows Windows Phone Windows 8 Xbox
![Page 19: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/19.jpg)
![Page 20: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/20.jpg)
Time to reflect
The marviq story so far ...
![Page 22: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/22.jpg)
![Page 23: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/23.jpg)
Cross platform to choose from
2000 today
100+
Source: VisionMobile 2012
![Page 24: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/24.jpg)
Diversity of tools for all sorts of developers, apps and mobile platforms
Source: VisionMobile 2012
![Page 25: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/25.jpg)
How do you choose?
![Page 26: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/26.jpg)
![Page 27: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/27.jpg)
![Page 28: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/28.jpg)
Putting the iq back in marviq
Pushing marviq forward
![Page 29: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/29.jpg)
"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 30: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/30.jpg)
![Page 31: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/31.jpg)
HTML5 is pitched as the future of mobile apps
![Page 32: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/32.jpg)
But what is HTML5, really?
![Page 33: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/33.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/34.jpg)
HTML5 is fragmented across platforms
html5test.com (April 2012)
![Page 35: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/35.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/36.jpg)
![Page 37: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/37.jpg)
Marviq, mobile and more
Time for a new strategy
![Page 38: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/38.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/39.jpg)
![Page 40: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/40.jpg)
How to implement the strategy?
![Page 41: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/41.jpg)
Bridging the gap
![Page 42: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/42.jpg)
Native app development
The missing link
![Page 43: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/43.jpg)
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 44: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/44.jpg)
![Page 45: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/45.jpg)
Reach
Performance
![Page 46: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/46.jpg)
Future friendly
Right now
![Page 47: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/47.jpg)
Because it's all JavaScript
Foundation of reuse
![Page 48: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/48.jpg)
Modular Application Development
MAT goes MAD
![Page 49: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/49.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/50.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/51.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/53.jpg)
Titanium SDK
Titanium Studio
Cloud services
Analytics
Support
Appcelerator
![Page 54: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/54.jpg)
Titanium SDK
JavaScript runtime to run native apps
Cross device UI (not 100%)
Networking
Database / XML / Json
![Page 55: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/55.jpg)
Yup, it's Eclipse
Titanium Studio
![Page 56: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/56.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/57.jpg)
Titanium marketplace
![Page 58: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/58.jpg)
Cloud services
![Page 59: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/59.jpg)
Appcelerator ecosystem
![Page 60: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/60.jpg)
Appcelerator is modularCommonJS based
![Page 61: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/61.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/62.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/63.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/64.jpg)
function Car( params ) {}
exports.exports = Car;
Car.prototype.drive = function() {console.log( "driving" );
}
Modules in Appcelerator
![Page 65: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/65.jpg)
More to follow...
![Page 66: Mobile frameworks and Titanium specifically](https://reader034.fdocuments.us/reader034/viewer/2022051818/54b7a50a4a79592d048b4684/html5/thumbnails/66.jpg)
LabsStart your editors...