Multiplatform web application frameworks for
tablet devices
-
Part 2
1
Next Media
-
MuMuMeSe
Multiplatform web application frameworks
for tablet devices
-
Part 2
v1.0
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
2
Revision History
Date
Version
Description
Author
<
03
/
09
/11
>
<0.1
>
Creating
the document
Mika R
<05/01/12>
<1.0>
Release of the document
Arto H, Jouni S, Mika R
List of authors
Dr. Mika Rautiainen
M.Sc. (Eng.) Arto Heikkinen
M.Sc. (Eng.) Jouni Sarvanko
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
3
Table of Conte
nts
1.
INTRODUCTION
................................
................................
................................
................................
.............
4
1.1.
P
ROJECT
O
VERVIEW
................................
................................
................................
................................
.....
4
1.2.
M
OTIVATION
................................
................................
................................
................................
................
4
2.
SCALABLE MEDIA SERVI
CE SCENARIO CHARACTE
RISTICS AND EXAMPLE
...........................
5
2.1.
S
CALABLE MEDIA SERVIC
E CHARACTERISTICS
................................
................................
...............................
5
2.2.
S
AMPLE WEB APPLICATIO
N SCENARIO FOR SCALA
BLE MEDIA SERVICES
(S
ANOMA
E
NTERTAINMENT
)
.............
5
3.
INSPECTION OF SELECT
ED WEB APPLICATION F
RAMEWORKS
................................
..................
6
3.1.
J
AVA
S
CRIPT
MVC
(A)
................................
................................
................................
................................
..
6
3.1.1.
Support for relevant client tablet platforms
................................
................................
............................
6
3.1.2.
Support for relevant user interface idioms
................................
................................
..............................
6
3.1.3.
Support for requi
red application features
................................
................................
..............................
6
3.1.4.
Support for preferred application features
................................
................................
.............................
7
3.1.5.
References
................................
................................
................................
................................
...............
7
3.2.
B
ACKBONE
.
JS
(A)
................................
................................
................................
................................
.........
7
3.2.1.
Support for relevant cl
ient tablet platforms
................................
................................
............................
7
3.2.2.
Support for relevant user interface idioms
................................
................................
..............................
8
3.2.3.
Support for required application features
................................
................................
..............................
8
3.2.4.
Support for preferred application features
................................
................................
.............................
8
3.2.5.
References
................................
................................
................................
................................
...............
8
3.3.
JQ
UERY
M
OBILE
(A)
................................
................................
................................
................................
....
9
3.3.1.
Support for relevant client tablet platforms
................................
................................
............................
9
3.3.2.
Support for relevant user interface idioms
................................
................................
..............................
9
3.3.3.
Support for required application features
................................
................................
..............................
9
3.3.4.
Support for preferred application features
................................
................................
...........................
10
3.3.5.
References
................................
................................
................................
................................
.............
10
3.4.
S
ENCHA
T
OUCH
(M)
................................
................................
................................
................................
...
10
3.4.1.
Support for relevant client tablet platforms
................................
................................
..........................
10
3.4.2.
Support for relevant user interface idioms
................................
................................
............................
10
3
.4.3.
Support for required application features
................................
................................
............................
11
3.4.4.
Support for preferred application features
................................
................................
...........................
11
3.4.5.
References
................................
................................
................................
................................
.............
11
3.5.
S
PINE
(J)
................................
................................
................................
................................
....................
12
3.5.1.
Support for relevant client t
ablet platforms
................................
................................
..........................
12
3.5.2.
Support for relevant user interface idioms
................................
................................
............................
12
3.5.3.
Support for required application features
................................
................................
............................
12
3.5.4.
Support for preferred application features
................................
................................
...........................
12
3
.5.5.
References
................................
................................
................................
................................
.............
13
3.6.
D
OJO
(J)
................................
................................
................................
................................
.....................
13
3.6.1.
Support for relevant client tablet platforms
................................
................................
..........................
13
3.6.2.
Support for relevant user interface idioms
................................
................................
............................
13
3
.6.3.
Support for required application features
................................
................................
............................
13
3.6.4.
Support for preferred application features
................................
................................
...........................
14
3.6.5.
References
................................
................................
................................
................................
.............
14
3.7.
P
HONE
G
AP WRAPPER
(J)
................................
................................
................................
.............................
15
3.7.1.
Support for relevan
t client tablet platforms
................................
................................
..........................
15
3.7.2.
Support for relevant user interface idioms
................................
................................
............................
15
3.7.3.
Support for required application features
................................
................................
............................
15
3.7.4.
Support for preferred application features
................................
................................
...........................
16
3
.7.5.
References
................................
................................
................................
................................
.............
16
4.
SUMMARY OF THE FRAME
WORKS
................................
................................
................................
........
17
4.1.
D
ISCUSSION AND CONCLU
SIONS
................................
................................
................................
..................
19
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
4
Multiplatform web application fr
ameworks for
tablet devices
-
Part 2
1.
Introduction
1.1.
Project
Overview
MuMuMeSe stands for
Multicha
nnel Multimarket Media Services. The objective of the project is to
develop a concept for internationalization of online media services. More specific, the c
oncept aims to
Find solutions how to integrate, localize, and scale multichannel learning and
entertainment services in learning business.
Create multimarket extension opportunities for online games
Identifies new media service ecosystems in learning busi
ness and proposes new business
concepts for the industry.
Advance learning content creation and distribution processes in media companies
Develop media companies
’
capabilities to become more agile and flexible in dealing with
the challenges of future ways
of learning and new emerging technologies.
The research
domains
for MuMuMeSe are: dynamic media business models,
value chains and
ecosystems;
multimarket and multic
hannel online learning services;
i
nternalization
of learning and
entertainment services an
d scalable multimarket entertainment services
;
and i
nternational product
process development
.
This report is part of the international product process development research
domain.
1.2.
Motivation
In the scope of the project,
key technical challenge for scalabl
e product development is to manage the
fast progress of web technologies and rapid distribution of service logic to maintain scalability of the
service offering. A key challenge for media services is scalable media asset management and utilization
accordin
g to new and rapidly developing business scenarios that utilize the strengths and opportunities
of the Internet. The challenge is twofold: be agile in
the
development of new features, concepts,
products and services but maintain consistency and interoperab
ility over existing pr
oducts and services.
One
trend
in
web service
technologies
is
multiplatform software development using web
application
frameworks
.
These technologies utilize web as a platform to deliver content and application
logic to variety of dif
ferent terminals, mobile or desktop using web browser engines. In a nutshell, web
application
framework offers software framework for developing user specific applications on top of
resources that leverage implementation of specific functionalities
in
the
web domain.
This report evaluates
web
application
frameworks
with
respect to MuMuMeSe case goals for
scalable multiplatform
media
service development.
The scope of this report is tablet
devices;
therefore
the selection of technologies emphasizes the utilit
y in currently available tablet platforms
that have
relevant market share.
This is Part 2
of the two part report series.
This document
evaluates
the frameworks’ central
features and architectural support for interactive service development
.
The specificat
ions
for the
interactive service were made by Sanoma Entertainment.
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
5
2.
Scalable media service scenario
characteristics and example
2.1.
Scalable media service characteristics
In the context of Next Media MuMuMeSe project this study focuses on interactive entertai
nment services
having following characteristics:
Server
-
side provisioning
of
statistics
game
assets
Local processing via structured client application
utilizing
HTML/CSS/JavaScript
and
data
caching
Bidirectional communication between client and
backend se
rvice
using REST and JSON technologies
In the development of interactive entertainment services it is important to identify the common practices and
state
-
of
-
the
-
art tools that alleviate rapid, scalable cross
-
platform development on top of modern web
tech
nologies.
2.2.
Sample
web application scenario
for scalable
media
services
(Sanoma Entertainment)
Following is a
more detailed
overview of the
preferred
web application characteristics
provided
by Sanoma
Entertainment
.
Relevant
Client
Tablet
Platforms
Require
d: iOS
Required: Android
Optional: Qt
Optional: Windows 8 (tablet)
User Interface Idioms
Swipe navigation (hold finger down to move page left/right/up/down)
-
GPU accelerated
Appearing/disappearing UI elements (e.g. click screen border to bring up/hi
de a navigation box)
-
GPU
accelerated
Tab navigation (alternative parallel views)
Drill
-
down navigation (push down to hierarchy new views, pop back up)
-
GPU accelerated animations
Required Application Features
Distributable through an app store (iTune
s Store, Android Market, etc)
Installable as an application (appears in the main menu with other apps)
Access to In App Purchase / In App Billing to sell products/features inside application
User Interface implemented mainly with HTML/CSS/JavaScript
Bac
kend independent (HTTP backend server can be implemented with any technology)
Preferred Application Features
Persistent caching of static resources (CSS, UI images, JavaScript files, etc)
Persistent caching of dynamic data (Ajax responses, JSON, loaded
images, etc)
Storage of preferences and username/password etc.
Application implementable as a single HTML document, with all navigation done through Ajax and
transitions
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
6
3.
Inspection of
selected web application frameworks
Some of the web application fra
meworks were selected by Sanoma Entertainment for further inspection.
This
section inspects the selected frameworks and their principal characteristics with regard to scalable interactive
entertainment service development.
3.1.
JavaScript
MVC
(A)
JavaScriptMVC
is “a collection of the best practices and tools for building JavaScript applications”. It is built on
top of jQuery and it consists of the following standalone components:
StealJS
-
Dependency management and a stupidly easy build tool.
FuncUnit
-
There's
no better functional testing solution available. Write tests in jQuery syntax, run
them via command line or browser.
jQueryMX
-
These plugins are the building blocks of large jQuery applications: model, view,
controller, class, fixtures, and more.
Document
JS
-
A JSDoc compliant tool that turns comments into a searchable documentation app
.
[1]
3.1.1.
Support for relevant client tablet platforms
JavaScriptMVC is compatible with the same set of browsers as jQuery.
jQuery does not advertise
itself as a
mobile framewor
k and the list of supported browsers contains only the most popular desktop
browsers.
[2]
3.1.2.
Support for relevant user interface idioms
3.1.2.1.
Swipe navigation
Support for swipe navigation is not explicitly declared, but it should work as with any re
g
ular
web
page. JavaScriptMVC has also support for swipe events, i.e. swiping on top of a certain UI element
can be detected.
[3]
3.1.2.2.
Appearing/disappearing UI elements
UI elements can be hidden and shown. jQuery also supports fade effects for showing/hidin
g
elements.
[4]
3.1.2.3.
Tab navigation
JavaScriptMVC supports tab navigation.
It has a component called ‘Tabs engine’ that provides
basic tab functionality.
[5]
3.1.2.4.
Drill
-
down navigation
There seems to be no direct support for drill
-
down style hierar
chical menus in JavaScriptMVC.
3.1.3.
Support for required
application
features
3.1.3.1.
Distributable through an app store
JavaScriptMVC does not provide support for distributing applications through an app store.
3.1.3.2.
Installable
as an application
JavaScriptMVC does not prov
ide support for installing the web applications developed with it as
local applications.
3.1.3.3.
Access to In App Purchase / In App Billing
There is no support for in
-
app purchase in JavaScriptMVC.
3.1.3.4.
User Interface implemented mainly with HTML/CSS/JavaScript
JavaScr
iptMVC uses only HTML, CSS and JavaScript for implementing the application.
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
7
3.1.3.5.
Backend independent (HTTP backend server can be implemented with any technology)
JavaScriptMVC supports accessing backend services RESTfully using HTTP
. It supports both
JSON and
XML as the message format.
[6]
3.1.4.
Support for preferred application features
3.1.4.1.
Persistent caching of static resources
JavaScriptMVC itself does not provide any functionality for storing static resources, but this type
of caching is implemented in most mo
dern browsers.
3.1.4.2.
Persistent caching of dynamic data
JavaScriptMVC has very limited documentation (also) on this subject. It does seem to provide a
way to store the data models locally using either cookies
[7]
or a local store
[8]
. Unfortunately, the
documen
tation does not provide technical insights on how these method
s
actually work.
3.1.4.3.
Storage of preferences and username/password etc.
There is no specific support for this feature in JavaScriptMVC.
Cookies can be used for storing
preferences and most modern br
owsers have support for storing username and password for different
sites. This information could also be stored into a persistent model either locally or remotely using
JavaScriptMVC’s APIs.
3.1.4.4.
Application implementable as a single HTML document, with all na
vigation done through
Ajax and transitions
An application can be implemented in this fashion using JavaScriptMVC, which has quite
extensive Ajax functionality.
3.1.5.
References
[1]
http://javascriptmvc.com
[2]
Browser C
ompatibility
-
jQuery JavaScript Library
,
http://docs.jquery.com/Browser_Compatibility
[3]
jQuery swipe event,
http://ja
vascriptmvc.com/docs.html#!jQuery.event.swipe
[4]
jQuery basic effects,
http://api.jquery.com/category/effects/basics/
[5]
JavaScriptMVC
–
Tabs engine,
http://wiki.javascriptmvc.com/wiki/index.php?title=Tabs_engine
[6]
JavaScriptMVC
–
Model overview,
http://wiki.javascriptm
vc.com/wiki/index.php?title=Model_Overview
[7]
jQuery cookie storage,
http://javascriptmvc.com/docs.html#!jQuery.Model.List.Cookie
[8]
jQuery local storage,
http://javascriptmvc.com/docs.html#!jQuery.Model.List.Local
3.2.
Backbone.js
(A)
Backbone supplies structure to JavaScript
-
heavy applications by providing models with key
-
value binding and
custom events,
collections with a rich API of enumerable functions, views with declarative event handling, and
connects it all to your existing application over a RESTful JSON interface.
With Backbone, you represent your data as Models, which can be created, validated,
destroyed, and saved to the
server. Whenever a UI action causes an attribute of a model to change, the model triggers a "change" event; all
the Views that display the model's data are notified of the event, causing them to re
-
render. You don't have to
wri
te the glue code that looks into the DOM to find an element with a specific id, and update the HTML
manually
—
when the model changes, the
views simply update themselves.
[1]
3.2.1.
Support for relevant client tablet platforms
There is no native support for a
ny platforms with Backbone.js. However, it utilizes only standard
web technologies, so it should be compatible with any modern browser with JavaScript support.
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
8
3.2.2.
Support for relevant user interface idioms
Backbone.js does not contain any user interface compo
nents. Some other framework can be used
together with Backbone.js for implementing the UI, for example jQuery.
3.2.3.
Support for required application features
3.2.3.1.
Distributable through an app store
Backbone.js does not provide support for distributing applications t
hrough an app store.
3.2.3.2.
Installable
as an application
Backbone.js does not provide support for installing the web applications developed with it as
local applications.
3.2.3.3.
Access to In App Purchase / In App Billing
There is no support for in
-
app purchase in Backb
one.js..
3.2.3.4.
User Interface implemented mainly with HTML/CSS/JavaScript
Backbone.js uses only HTML, CSS and JavaScript for implementing the application.
3.2.3.5.
Backend independent (HTTP backend server can be implemented with any technology)
Backbone.js supports acce
ssing backend services RESTfully us
ing HTTP. By default, it uses
(jQuery/Zepto).ajax
to make a RESTful JSON request. It can be overridden in order to use a
different persistence strategy, such as WebSockets, XML transport, or Local Storage.
[2]
3.2.4.
Support f
or preferred application features
3.2.4.1.
Persistent caching of static resources
Backbone.js itself does not provide any functionality for storing static resources, but this type of
caching is implemented in most modern browsers.
3.2.4.2.
Persistent caching of dynamic data
Backbone.js supports persistent storage of model data
(JSON)
locally using the localStorage
adapter.
[3]
3.2.4.3.
Storage of preferences and username/password etc.
There is no direct support for this feature in Backbone.js. Cookies can be used for sto
ring
preferences and most modern browsers have support for storing username and password for different
sites. This information could also be stored into a persistent model either locally or remotely using
Backbone.js APIs.
3.2.4.4.
Application implementable as a si
ngle HTML document, with all navigation done through
Ajax and transitions
Backbone supports Ajax for storing/retrieving data from a server. However, there are no user
interface widgets or component included in Backbone.js, so this type of functionality wo
uld have to be
implemented by the app developer. Also, some JavaScript UI library, such as jQuery, could be used
together with Backbone.js.
3.2.5.
References
[1]
Backbone.js,
http://documentcloud.github.co
m/backbone/
[2]
Backbone.sync,
http://documentcloud.github.com/backbone/#Sync
[3]
Backbone localstorage,
http://documentcloud.github.com/backbone/docs/backbone
-
localstorage.html
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
9
3.3.
JQuery Mobile
(A)
jQuery Mobile is a touch
-
optimized web framework targeted for smartphones and tablet devices. It enables
building unified user interfaces across all
popular mobile device platforms. It is built on top of the popular
jQuery and jQuery UI javascript frameworks. Its codebase is lightweight and it has a flexible, easily themeable
design.
A
ll pages in jQuery Mobile are built
on
semantic HTML to ensure com
patibility with pretty much any web
-
enabled device. In devices that interpret CSS and JavaScript, jQuery Mobile applies progressive enhancement
techniques to unobtrusively transform the semantic page into a rich, interactive experience
utilizing
jQuery and
CSS. Accessibility features such as WAI
-
ARIA are
integrated into the
framework to provide support for screen
readers and other assistive technologies.
[1]
3.3.1.
Support for relevant client tablet platforms
j
Query Mobile promises to fully support
the br
owsers in
iOS
(
3.2
-
5.0
),
A
ndroid
(
2.1
-
2.3
and
Honeycomb) and Windows phone (7
-
7.5)
platform
s. There is no specific support for QT as the
applications run in the web browser. Nokia’s Symbian^3 is partially supported.
[2]
3.3.2.
Support for relevant user interfa
ce idioms
3.3.2.1.
Swipe navigation
Support for swipe navigation is not explicitly declared, but it should work as with any regular web
page.
jQuery Mobile
has also
quite extensive
support for
different events that can be triggered
from a touch
-
screen mobile device
. These include different touch events (swipe, tap) and device
orientation change (vertical/horizontal) events.
[3]
3.3.2.2.
Appearing/disappearing UI elements
This feature is not directly mentioned in the documentation. However, based on the facts that
jQuery
Mobile is based on jQuery (which supports hiding/showin elements) and that it has good
support for touch events, this type of functionality is probably very easy to implement.
3.3.2.3.
Tab navigation
jQuery Mobile has a widget called “navbar”, which basically
prov
ides
support
for
navigation.
[4
]
3.3.2.4.
Drill
-
down navigation
There are various different list menu widgets for drill
-
down navigation in jQuery Mobile.
[5]
3.3.3.
Support for required application features
3.3.3.1.
Distributable through an app store
jQuery Mobile does not prov
ide this feature itself. The documentation suggests using PhoneGap
for this purpose.
[6]
3.3.3.2.
Installable
as an application
jQuery Mobile does not provide this feature itself. The documentation suggests using PhoneGap
for this purpose.
[6]
3.3.3.3.
A
ccess to In App Purchase / In App Billing
There is no support for
in
-
app purchase in jQuery Mobile.
3.3.3.4.
User Interface implemented mainly with HTML/CSS/JavaScript
jQuery Mobile
uses only HTML, CSS and JavaScript for impl
ementing the application.
3.3.3.5.
Backend indepe
ndent (HTTP backend server can be implemented with any technology)
There seems to be nothing in the documentation about accessing backend servers. This feature
could possibly be achieved by using for example Backbone.js in conjunction with jQuery Mobile t
o
provide data model and persistence features.
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
3.3.4.
Support for preferred application features
3.3.4.1.
Persistent caching of static resources
jQuery Mobile
itself does not provide any functionality for storing static resources, but this type
of caching is implemented
in most modern browsers.
3.3.4.2.
Persistent caching of dynamic data
jQuery Mobile supports caching pages retrieved via Ajax in the DOM.
[7
]
3.3.4.3.
Storage of preferences and username/password etc.
There is no direct support for this feature in
jQuery Mobile
. Cookies
can be used for storing
preferences and most modern browsers have support for storing username and password for different
sites.
3.3.4.4.
Application implementable as a single HTML document, with all navigation done through
Ajax and transitions
This is exactly th
e implementation style jQuery Mobile is intended for. All the user interface
widgets are built based on Ajax and CSS transitions.
3.3.5.
References
[1]
jQuery Mobile,
http://jquerymobile.com/
[2]
Mobile Graded Browser Su
pport,
http://jquerymobile.com/gbs/
[3] jQuery Mobile Docs
–
Events,
http://jquerymobile.com/demos/1.0/docs/api/events.html
[4] jQuery Mob
ile Docs
–
Navbar,
http://jquerymobile.com/demos/1.0/docs/toolbars/docs
-
navbar.html
[5] jQuery Mobile Docs
–
Lists,
http://jquerymobile.com/demos/1.0/docs/lists/index.html
[6] jQuery Mobile Docs
–
PhoneGap
,
http://jquerymobile.com/test/docs/pages/phonegap.html
[7] jQuery Mobile
Docs
–
Prefetching & caching pages,
http://jquerymobile.com/test/docs/pages/page
-
cache.html
3.4.
Sencha Touch
(M
)
Sencha Touch is a web application framework built specifically to levera
ge HTML5, CSS3, and Javascript. It
utilizes HTML5 to deliver components like audio and video, as well as a localStorage proxy for saving data
offline. It extensively utilizes CSS3 in stylesheets to provide a robust styling layer. It is a cross
-
platform
fra
mework aimed for touch enabled devices and is currently compatible with Apple iOS 3+, Android 2.1+, and
BlackBerry 6+ devices. It includes special themes created just for those devices. The entire library is under
120kb (gzipped and minified), and can be s
hrunk by disabling unused features. Sencha touch adds custom touch
events on top of the standard events supported by the browser, like tap, double tap, swipe, tap and hold, pinch,
and rotate. The latest version of Sencha Touch is 2.0, which is currently in
developer preview stage.
[1]
3.4.1.
Support for relevant client tablet platforms
Sencha Touch is compatible with Apple iOS 3+, Android 2.1+, and BlackBerry 6+ devices. The
latest version (2.0) also introduces the ability to build native iOS and Android applicati
ons. [2], [3]
3.4.2.
Support for relevant user interface idioms
3.4.2.1.
Swipe navigation
Sencha Touch has a component designed specifically for swipe navigation called Carousel, in
which the user can swipe from a view to another either vertically or horizontally.
[4]
3.4.2.2.
Appearing/disappearing UI elements
This feature is not directly mentioned in the documentation. However, there are a few examples,
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄱ
such 慳 瑨e P楣i敲s eamp汥l 瑨慴a demons瑲慴攠 simi污l fun捴楯n慬楴y imp汥men瑥t w楴h 卥Sch愠
Tou捨, so 瑨楳 shou汤 b攠qu
楴攠敡sy 瑯 manag攮
[5]
3.4.2.3.
Tab navigation
Sencha Touch supports tab navigation using a component called Tab Panel [6]. Similar
functionality can also be implemented using the Carousel component [4].
3.4.2.4.
Drill
-
down navigation
Drill
-
down style of navigation ca
n be implemented using the List component in Sencha Touch.
[7]
3.4.3.
Support for required application features
3.4.3.1.
Distributable through an app store
The ability to build native iOS and Android applications has been introduced in the latest version
(2.0) of Sencha
Touch. Therefore applications can be distributed through an app store.
3.4.3.2.
Installable as an application
The ability to build native iOS and Android applications has been introduced in the latest version
(2.0) of Sencha Touch. This feature is supported.
3.4.3.3.
Access
to In App Purchase / In App Billing
There is no support for in
-
app purchase in Sencha Touch.
3.4.3.4.
User Interface implemented mainly with HTML/CSS/JavaScript
Sencha Touch uses only HTML, CSS and JavaScript for implementing the application.
3.4.3.5.
Backend independent (
HTTP backend server can be implemented with any technology)
Sencha Touch supports accessing backend HTTP servers using AJAX, REST and JSONP. [8]
3.4.4.
Support for preferred application features
3.4.4.1.
Persistent caching of static resources
Sencha Touch itself does no
t provide any functionality for storing static resources, but this type
of caching is implemented in most modern browsers. In a case where the application is packaged as a
native application, static resources can be included with the application.
3.4.4.2.
Persisten
t caching of dynamic data
Sencha Touch supports persistent storage of model data locally on the client browser using
localStorage.
[9]
3.4.4.3.
Storage of preferences and username/password etc.
There is no specific support for this feature in Sencha Touc
h. Cookies or localStorage can be
used for storing preferences and most modern browsers have support for storing username and
password for different sites.
3.4.4.4.
Application implementable as a single HTML document, with all navigation done through
Ajax and trans
itions
Sencha touch provides good support for creating an application in this fashion using for example
the Tab Panel component.
[6]
3.4.5.
References
[1] Sencha Touch,
http://www.sencha.com/products
/touch
[2] Sencha Touch
–
Native iOS packaging,
http://docs.sencha.com/touch/2
-
0/#!/guide/native_packaging
[3] Sencha Touch
–
Native Android packaging,
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄲ
†††
h瑴t㨯⽤o捳敮捨愮捯m⽴/u捨⼲
-
0⼣!⽧u楤支n慴av敟慮dro楤
[4] 卥S捨愠Tou捨
–
Using Carousels,
http://docs.sencha.c
om/touch/2
-
0/#!/guide/carousel
[5] Sencha Touch
–
Pickers Example,
http://docs.sencha.com/touch/2
-
0/#!/example/picker/index.html
[6] Sencha Touch
–
Using Tab Panels
,
http://docs.sencha.com/touch/2
-
0/#!/guide/tabs
[7] Sencha Touch
–
Using Lists,
http://docs.sencha.com/touch/2
-
0/#!/g
uide/list
[8] Sencha Touch
–
The Data Package,
http://docs.sencha.com/touch/2
-
0/#!/guide/data
[9] Sencha Touch
–
Local Storage Proxy,
http://docs.sencha.com/touch/2
-
0/#/api/Ext.data.proxy.LocalStorage
3.5.
Spine
(J)
Spine is a simple and lightweight JavaScript
framework
based on MVC structure
. It is inspired by
Backbone’s API
but contains some fund
amental differences.
Spine comes with support for
HTML5
Local Storage and asynchronous server communication.
Spine is written in, CoffeeScript, but it can be
used with pure JavaScript also.
Spine
requires
either
jQuery
or
Zepto
.
[1
, 2
]
3.5.1.
Support for relevant client tablet platforms
Spine claims to work with all major browser (Chrome, Safari, Firefox, IE >= 7) and Spine
Mobile refers constantly to iOS examples.
Otherwise, n
o clear defin
iti
ons are made of support
.
3.5.2.
Support for relevant user interface idioms
Spine, in itself, does not provide any complex widgets, transitions or event listeners.
3.5.3.
Support for required application features
3.5.3.1.
Distributable through an app store
PhoneGap can be used
to make the Spine web application to
look like native application. [3
]
3.5.3.2.
Installable
as an application
PhoneGap can be used to make the Spine web application to
look like native application. [3
]
3.5.3.3.
Access to In App Purchase / In App Billing
PhoneGap can be used
to make the Spine web application to look like native ap
plication.
PhoneGap suggests to
use Urb
an Airship for app purchases. [3
,
4
]
3.5.3.4.
User Interface implemented mainly with HTML/CSS/JavaScript
Spine is a JavaScript/CoffeeScript library and, hence, stays in
these boundaries, but it does not
implement any UI components in itself.
3.5.3.5.
Backend independent (HTTP backend server can be implemented with any technology)
Spine itself does not seem to have backend functionality, but
it apparently demands the use of
jQuery
or
Zepto
, which offer
RESTful JSON requests
. Also,
Rails is mentioned to be a good backend
API to be used with Spine.
[5
]
3.5.4.
Support for preferred application features
3.5.4.1.
Persistent cachin
g of static resources
Spine itself does not provide any functionality for storing static resources, but this type of
caching is implemented in most modern browsers.
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄳ
3.5.4.2.
Persistent caching of dynamic data
HTML5 Local Storage seems to be supported and there is
also an Ajax
-
based variant for
persistent
storage. [6
]
3.5.4.3.
Storage of preferences and username/password etc.
Cookies can be used for storing preferences and most modern browsers have support for storing
username and password for different sites. This informat
ion could also be stored locally into a persistent
model with Spinet.
3.5.4.4.
Application implementable as a single HTML document, with all navigation done through
Ajax and transitions
Spine supports the use of Ajax.
Beyond that it depends on the used widget set.
3.5.5.
References
[1] Spine Documentation
–
Introduction. URL:
http://spinejs.com/docs/introduction
[2] Spine Documentation
–
Getting Started. URL:
http://s
pinejs.com/docs/started_js
[3
] Spine Documentation
–
PhoneGap. URL:
http://spinejs.com/mobile/docs/phonegap
[4
] PhoneGap Tools. URL:
http://phonegap.com/to
ols/
[5
] Spine Documentation
–
Rails. URL:
http://spinejs.com/docs/rails
[6
] Spine Documentation
–
Models. URL:
http://spinejs.com/docs/models
3.6.
Dojo (J)
Dojo To
olkit is an open source
,
modular
,
JavaScript library
. It is
designed fort rapid development
of crossplatform,
JavaScript/Ajax
-
based applications and web sites.
Dojo Toolkit contains Dijit UI
Library, which offers ready
-
made widgets for use [1].
It also has
standalone widgets and extension
under DojoX, but they can still be in experimental stage [2]. One of these extensions is Dojo Mobile,
which provides lightweight CSS themes that support development for certain mobile devices [3, 4].
3.6.1.
Support for relevant
client tablet platforms
Dojo Mobile
provides
support for webkit
-
enabled mobile devise like iOS (iPhone and iPad)
and
Android
. They are also currently working on supporting Blackberry 6, WebOS and neutral themes. [3]
3.6.2.
Support for relevant user interface idi
oms
3.6.2.1.
Swipe navigation
Dojo Mobile supports swipe events for certain widgets like FlippableView. [5, 6, 7]
3.6.2.2.
Appearing/disappearing UI elements
Dijit widgets can be hidden by altering their CSS display property. Dojo has also wigged support
for fade effect. [8
, 9]
3.6.2.3.
Tab navigation
Dijit provides TabContainer widget for tab functionality and Dojo Mobile supports it. [3, 10, 11]
3.6.2.4.
Drill
-
down navigation
Dojo toolkit supports drill
-
down with Tree component. [12]
3.6.3.
Support for required application features
3.6.3.1.
Distributable
through an app store
Dojo Mobile is PhoneGap ready. Hence, PhoneGap can be used to pack
Dojo Mobile
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄴ
慰p汩捡瑩lns 慳a瑩t攠慰p汩捡l楯ns, wh楣i shou汤 敮慢汥l慰p s瑯r攠d楳瑲楢u瑩tn. [3]
3.6.3.2.
Installable
as an application
Dojo Mobile is PhoneGap ready. Hence, Pho
neGap can be used to pack
Dojo Mobile
applications as native applications. [3]
3.6.3.3.
Access to In App Purchase / In App Billing
Dojo Mobile is PhoneGap ready. Hence, PhoneGap can be used to pack
Dojo Mobile applications
as native applications, and PhoneGap plug
ins should support In App Purchase/Billing. PhoneGap
also suggest
using
Urban Airship for app purchases. [3,
13]
3.6.3.4.
User Interface implemented mainly with HTML/CSS/JavaScript
Dojo Toolkit uses only HTML, CSS and JavaScript for implementing the application.
3.6.3.5.
Ba
ckend independent (HTTP backend server can be implemented with any technology)
Dojo Toolkit claims to support all backend technology. At least Dojo Toolkit contains JsonRest
store that provides REST/HTTP interaction with the server using GRUD actions and
JSON messages.
[14, 15]
3.6.4.
Support for preferred application features
3.6.4.1.
Persistent caching of static resources
Dojo Toolkit itself does not provide any functionality for storing static resources, but this type of
caching is implemented in most modern browsers.
3.6.4.2.
Persistent caching of dynamic data
There seems to be support for persistent data caching using cookies and Dojo Storage, which
apparently has several storage methods to choose from, but it is poorly documented in the toolkit’s
home page. [16, 17]
3.6.4.3.
Storage
of preferences and username/password etc.
Cookies can be used for storing preferences and most modern browsers have support for storing
username and password for different sites. This information could also be stored into a persistent model
either locall
y or remotely using Dojo Toolkit.
3.6.4.4.
Application implementable as a single HTML document, with all navigation done through
Ajax and transitions
Dojo Toolkit has easy to use Ajax functionality. An application can be implemented in this
fashion using Dojo Tool
kit.
3.6.5.
References
[1]
Dojo Toolkit
Documentation
–
Dijit. URL:
http://dojotoolkit.org/reference
-
guide/dijit/index.html#dijit
-
index
[2]
Dojo Toolkit
Documentation
–
DojoX.
URL:
http://dojotoolkit.org/reference
-
guide/dojox/index.html
[3] Dojo Mobile
–
Features. URL:
http://dojotoolkit.org/features/m
obile
[4] Dojo Mobile Test Archive. URL:
http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/mobile/tests/
[5] Dojo Mobile
–
FlippableView Document Page. URL:
http://dojotoolkit.org/reference
-
guide/dojox/mobile/FlippableView.html#dojox
-
mobile
-
flippableview
[
6] Dojo Mobile Test Archive
–
Carousel Test
Page for iPhone.
URL:
http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/mobile/tests/test_Carousel.html
[7] Dojo Mobile Test Archive
–
Swap V
iew Slideshow Test Page for iPhone. URL:
http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/mobile/tests/test_iPhone
-
SwapView
-
s
lideshow.html
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄵ
[8] 䑯jo Too汫楴i
–
Dijit Info. URL:
http://dojotoolkit.org/reference
-
guide/dijit/info.html
[9] Dojo Mobile Test Archive
–
Animation Test Page for iPhone. URL:
http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/mobile/tests/test_iPhone
-
Animation.html
[10]
Dojo Toolkit
Documentation
–
Dijit TabContainer.
URL:
http://dojotoolkit.org/reference
-
guide/dijit/layout/TabContainer.html#dijit
-
layout
-
tabcontainer
[11] Dojo Mobile Test Archive
–
TabBar
Test Page for iPhone. URL:
http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/mobile/tests/test_iPhone
-
TabBar.html
[12] Dojo Toolkit Docum
entation
–
Connecting a Store to a Tree
. URL:
http://dojotoolkit.org/documentation/tutorials/1.6/store_driven_tree/
[13] PhoneGap Tools. URL:
http://phonegap.com/tools/
[14] Dojo Toolkit Features
–
Integrations. URL:
http://dojotoolkit.org/features/integrations
[15] Dojo Toolkit Documentation
–
Dojo Object Store. URL
:
http://dojotoolkit.org/documentation/tutorials/1.6/intro_dojo_store/
[16] Jens Arps
–
Persistent Local Storage with Dojo. URL:
http://jensarps.de/2010/01/04/persistent
-
local
-
storage
-
with
-
dojo/
[17
] Wikipedia
–
Dojo Toolkit.
URL:
http://en.wikipedia.org/wiki/Dojo_Toolkit
3.7.
PhoneGap
wrapper
(J
)
PhoneGap
(or
Apache Callback
)
is a HTML5 app platform, developed by Nitobi Software that
allows building of native
applications for mobile devices with web technologies and allows access to
APIs and app stores.
PhoneGap enables software
progra
mmers to build applications using JavaScript,
HTML and CSS, instead of often less
-
known
languages such as Objective
-
C.
On the devices,
PhoneGap uses
WebView
or
Webkit
to show the pages and utilizes
Foreign Function Inte
rface
(FFI) to
access
the
device.
In short, PhoneGap is used to create
native applications from
web
applications
with
access
to
device functionality
in all major mobile systems
. [
1,
2]
3.7.1.
Support for relevant client tablet platforms
PhoneGap supports all th
e major mobile operating system with varying feature sets.
These
include
iOS, Android, OS 4.6+, WebOS, WP7, Symbian
(Qt)
and Bada.
[1]
3.7.2.
Support for relevant user interface idioms
There seems to be no UI com
ponents offered by the PhoneGap, but PhoneGap
sugge
sts
SencaTouch, jQueryMobile
and
GWT
for UI development. [3]
3.7.3.
Support for required application features
3.7.3.1.
Distributable through an app store
PhoneGap
is designed especially for this.
You can use either PhoneGap SDK or PhoneGap Build
service to make app
-
store
ready applications.
[4
]
3.7.3.2.
Installable
as an application
Naturally, the applications PhoneGap provides are installable.
3.7.3.3.
Access to In App Purchase / In App Billing
PhoneGap
has
a
set of
plugin
s that provide this feature:
PayPalPlugin and
a plugin that utiliz
es
third
-
party product
Urban
Airship
for both Android and iOS and
InAppPurchaseManager for
only
iOS.
[5
, 6
]
3.7.3.4.
User Interface implemented mainly with HTML/CSS/JavaScript
PhoneGap is aimed for exactly
the kind of web applications that use
these technologies.
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄶ
3.7.3.5.
B
ackend independent (HTTP backend server can be implemented with any technology)
PhoneGap
can use HTTP POST to send files to a server. Otherwise there seems to be no other
implementation for backend communication.
3.7.4.
Support for preferred application feature
s
3.7.4.1.
Persistent caching of static resources
Static resources are probably
built
into the application if PhoneGap is used.
3.7.4.2.
Persistent caching of dynamic data
PhoneGap can store files into the device’s local file system. PhoneGap can also use either the
device
’s build
-
in functionality for storage or an implementation of its own. Both cases are hidden under
an API that is based on
W3C Web SQL
Database
Specification and
W3C Web
Storage
.
[7, 8
]
3.7.4.3.
Storage of preferences
and username/password etc.
PhoneGap can store files into the device’s local file system. PhoneGap can also use either the
device’s build
-
in functionality for storage or an implementation of its own. Both cases are hidden under
an API that is based on
W3C Web SQL
Database
Specification and
W3C Web
Storage
.
[7, 8
]
3.7.4.4.
Application implementable as a single HTML document, with all navigation done through
Ajax and transitions
PhoneGap
has no limitations that would pre
vent these kind
s
of applications, but neither does is
offer components to ease the development of such.
3.7.5.
References
[1] PhoneGap
–
Supported Features. URL:
http://www.phonegap.com/about/features
[2] W
ikipedia
–
PhoneGap. URL:
http://en.wikipedia.org/wiki/PhoneGap
[3] PhoneGap
–
UI Development on PhoneGap. URL:
http://wiki.phonegap.com/w/page/36767911/UI%20Development%20on%20PhoneGap
[4
] PhoneGap
–
Tutorial 11: Using PhoneGap to create an iOS App.
URL:
http://www.nsbasic.com/app/tutorials/TT11.htm
[
5
]
PhoneGap
–
Tools. URL:
http://phonegap.com/tools
[6] PhoneGap
–
Plugins. URL:
https://github.com/phonegap/phonegap
-
plugins
[7
] PhoneGap Documentatio
n
–
File. URL:
http://docs.phonegap.com/en/1.0.0/phonegap_file_file.md.html
[8
] PhoneGap Documentation
–
Storage. URL:
http://docs.phonegap.com/en/1.0.0/phonegap_storage_storage.md.html
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄷ
4.
Summary of the
frameworks
Deployment
Size
iOS
Android
QT
Win 8
JavaScriptMVC
Browser
Varies on which
components are
included
P
robably
Probably
No
Probably
Ba
ckbone.js
Browser
4.6KB +
dependencies
(varying)
Probably
Probably
No
Probably
jQuery Mobile
Browser
24KB + 7KB CSS
Y
es
Yes
No
WP7
supported
Sencha Touch
Browser
(also native
in 2.0)
120KB
Yes
Yes
No
No
Spine
Browser
2K minified &
compressed
Probably
Pr
obably
No
Probably
Dojo
Browser
Base size 31
KB
compressed
(
512
KB
uncompressed
) +
other components
Yes
Yes
No
No
PhoneGap
Native
About 250KB
minimum
Yes
Yes
Yes
WP7
supported
Figure 1.
General information
Swipe
navigation
Appearing/disappearing
UI elements
Ta
b
navigation
Drill
-
down navigation
JavaScriptMVC
Yes
Yes
No
No
Backbone.js
Browser
default
No
No
No
jQuery Mobile
Yes
Probably
(not
documented)
Yes
Yes
Sencha Touch
Yes
Yes
Yes
Yes
Spine
Browser
default
No
No
No
Dojo
Yes
Yes
Yes
Yes
PhoneGap
No
No
N
o
No
Figure 2.
Support for UI idioms
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄸ
App store
distribution
Installable as
app.
In
-
App
purchase
Only
HTML,
Javascript,
CSS
Backe
n
d
independent
JavaScriptMVC
No
No
No
Yes
Yes
Backbone.js
No
No
No
Yes
Yes
jQuery Mobile
No (Yes using
PhoneGap
)
No (Yes using
Phone
Gap
)
No
Yes
Not documented
(Possibly using
e.g. Backbone.js)
Sencha Touch
Yes
Yes
No
Yes
Yes
Spine
No (Yes using
PhoneGap
)
No (Yes using
PhoneGap
)
No
Yes
Yes
Dojo
No (Yes using
PhoneGap
)
No (Yes using
PhoneGap
)
No
Yes
Yes
PhoneGap
Yes
Yes
Yes
(with
a p
lugin)
Yes
Can make HTTP
POST for files
Figure 3.
Support for required application features
Static caching
Dynamic caching
Preferences and
username/passwd
Implementable
as single HTML
page
JavaScriptMVC
Browser default
Json data
Browser default
Yes
Backbone.j
s
Browser default
Json data
Browser default
No (Requires
using some UI lib)
jQuery Mobile
Browser default
Visited pages
Browser default
Yes
Sencha Touch
Browser default
Json data
Browser default
Yes
Spine
Browser default
Yes
, but poorly
documented
Brows
er default
No (Requires
using some UI lib)
Dojo
Browser default
Yes, but poorly
documented
Browser default
Yes
PhoneGap
Yes
Yes
Yes
No (Requires
using some UI lib)
Figure 4.
Support for preferred application features
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
ㄹ
4.1.
Discussion and conclusions
The information fo
r writing this report was gathered mainly from the available documentation for
each framework. The quality and quantity of the documentation varied quite strongly from excellent to
virtually unusable. The frameworks that have some business model attached t
o them seemed to have the
best documentation, while the purely community
-
based projects seemed to be less focused on this area.
After examining all the JavaScript frameworks in the scope of this report it is quite easy to divide
them into three distinct gr
oups: general
-
purpose web frameworks, mobile web
frameworks and native
wrapper frameworks
.
General
-
purpose web frameworks
Backbone, Spine and JavaScriptMVC can be categorized as general
-
purpose web frameworks, because
they are not targeted for any speci
fic device or platform. While they will probably work on a variety of
different desktop and mobile platforms, they lack many of the mobile
-
specific features that are relevant
to the application scenario this report is based on. Backbone and Spine provide m
erely a skeleton on top
of which to build your MVC application, acting as a sort of event bus between the different components
of the user interface and the data model. They do not provide for example any ready user interface
widgets, but for example jQuer
y can be used together with these frameworks to implement the UI.
JavaScriptMVC has some UI components, but they are not specifically designed for mobile use. It also
supports some touch
-
based events, but generally speaking it has very minimal support for
mobile
devices.
Mobile web frameworks
D
ojo
, jQuery Mobile and Sencha Touch form the
group of
mobile web frameworks. These frameworks
offer rich variety of widgets to use and are aimed (or have extension) for mobile use. They are very
complete products w
ith little
need for additional frameworks.
Native wrapper frameworks
PhoneGap
is
distinctive
from the other frameworks and
is the only representative of
native
wrapper
frameworks. It
is
specifically
designed
for
providing native support for
mobile devic
es
.
I
t offers
ways to
use
native functionality
via
JavaScript and packs the web application
s into native form
thus enabling
the use of
app stores.
Naturally,
PhoneGap
has also quite good support for different mobile device
platforms. Because of these uniqu
e features, some of the other frameworks have been advertising their
compatibility with
PhoneGap
. These include Dojo, jQuery Mobile, Spine and Sencha Touch.
R
ecently
Sencha Touch
has
been aiming to
also provide native support
,
but the features are
still un
der
development. In the future, though, Sencha Touch could reach independence from
PhoneGap
making it
an even more complete
frame
work for mobile development.
About
In App Purchasing
In App Purchasing is a recent trend in mobile application ecosystems. I
t
allows developers to create free
applications
and then generate revenue by unlocking features or providing downloadable c
ontent to the
existing users of the application. The name describes the simplicity of the process: users don’t have to
leave the appl
ication to complete the purchase. Google, Apple and also
Nokia
support In App
Purchasing via their software market billing systems with the recent operati
ng system versions. To use
the In App Purchasing developers need to use platform specific implementations that tie billing to
active user accounts in respective platforms. Windows Phone 7 platform does not support the feature
natively at the time of writin
g this report, but can be implemented via third party services, such as
Linxter
. In App Purchasing involves managing purchase transactions, securing payment, vali
dating
receipt and managing and delivery of extra content to the application. There are third party vendors that
Next
Media
-
MuMuMeSe
Version: <
v1.0
>
Multiplatform web application frameworks for tablet devices
-
Part 2
Date: <
5/1/2012
>
Next Media
U
niv敲s楴y of Ou汵
, 2011
P慧攠
㈰
prov楤攠In App Pur捨慳楮g for Andro楤 慮d 楏匠p污瑦orms (
啲b慮 A楲sh楰
Ⱐ
Push
.
䥏
Ⱐ
Burs瑬y
Ⱐ
楌ime
Ⱐ
dod慩a
).
F
or
數
a
m
p
l
e
啲b慮 A楲sh楰
prov楤敳eIAP s敲v楣is for bo瑨 楏匠
and Andro楤
wi瑨
th攠pr楣攠
of
$0.10 p敲 down汯慤
楮捬ud楮g fr敥 softw慲攠down汯慤s
[
5.1.2012
]
⸠
Concluding remarks
T
his report
evaluates
multiplatform web frameworks
,
their
c
haracteristic
features and
architectural
support for
cross
-
platform
service developmen
t.
The evaluation
focused on
interactive service
requirements
targeting
current tablet device markets
and tablet
-
oriented platforms
.
The report
shows that
Sencha Touch and Phonegap
offer
the best combination for the
service
scenario
requirements
. Additiona
lly,
third party service providers
were identified that
enable
I
n
A
pp
P
urchasing
and In App
c
ontent management
and
d
istribution
over different
platforms
.
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο