More Related Content Similar to Cross-Platform Tools: Build Once and Run Everywhere (20) Cross-Platform Tools: Build Once and Run Everywhere1. Cross-Platform Tools
Build once and Run Everywhere
Alexey Karpik
Web Platform Developer at ALTOROS
Tuesday, May 22, 12
2. Action plan
Current mobile platforms overview
Main groups of cross-platform tools
Examples of the usage
Summary
Questions
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
3. Mobile platforms
World-Wide Smartphone Sale (2012 Q1)
Windows Phone 7
2.0%
RIM
7.2%
Symbian
8.9%
iOS Android
23.8% 58.2%
© ALTOROS Systems | CONFIDENTIAL 3
Tuesday, May 22, 12
4. Cross-platform tools groups
JavaScript Libraries
Wrappers around web applications
Transformers to Native code
Applications Frameworks
Adobe Air
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
5. JavaScript Libraries
Single unified GUI
You have one GUI for multiple devices
(buttons, header, footer, tabs groups, and
etc.)
Touch interface benefits
Most of the devices have build in touch
screens
HTML5, CSS3
Audio, video, storage, animation and effects
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
6. JavaScript Libraries
Sencha
http://www.sencha.com/
Have some additional related products:
Sencha Architect (UI builder)
Sencha Animator (CSS3 effects builder)
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
7. JavaScript Libraries
jQuery mobile
http://jquerymobile.com
...
<body>
<div data-role="page">
<div data-role="header">
<h1>My Title</h1>
</div><!-- /header -->
<div data-role="content">
<h1>Lists</h1>
<ul data-role="listview" data-inset="true" data-filter="true">
<li><a href="#">Acura</a></li>
<li><a href="#">Audi</a></li>
</ul>
<h1>Forms</h1>
<form><label for="slider-0">Input slider:</label>
<input type="range" name="slider" id="slider-0"
value="25" min="0" max="100" />
</form>
</div><!-- /content -->
<div data-role="footer">
<p>© 2011-12 Altoros Systems LLC.</p>
</div><!-- /header -->
</div><!-- /page -->
</body>
...
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
8. JavaScript Libraries
Jo
http://joapp.com/
Lightweight JavaScript framework designed
for HTML5 apps.
Last code update on GitHub about 4 month
ago :(
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
9. JavaScript Libraries
Advantages Disadvantages
Modern technologies Not a native app
Quick start Application speed
Injection Platform dependable
Widely used Internet
No special No distribution channels
environment
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
10. Applications Frameworks
Create an application from the start
Familiar programming language
The M Project
http://the-m-project.org/
jQuery mobile, NodeJs, Build HTML
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
11. Applications Frameworks
Advantages Disadvantages
Single place for business Doesn’t allow migration
and presentation layers 100% relay on
Cutting-edge technologies development tools and
community
Online usage only
Browser window
No distribution channels
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
12. Wrappers around web applications
Create a native app for mobile platform
Integrated Development Environment
Single code development
Native API support
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
13. Wrappers around web applications
MoSync
http://www.mosync.com
JavaScript, HTML, C++
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
14. MoSync
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
15. Wrappers around web applications
PhoneGap
http://phonegap.com/
HTML
JavaScript Libraries
Xcode plugin
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
16. PhoneGap
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
17. Wrappers around web applications
RhoMobile
http://rhomobile.com/
Ruby
jQuery Mobile
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
18. RhoMobile
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
19. Wrappers around web applications
Advantages Disadvantages
Native API Not Native UI
Extendable tools Challenges to go live
Offline support High level of expertise
Native Application Dependence on native
Covered common cases SDK versions.
Native SDK
Native Distribution
channels
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
20. Transformers to Native code
Create a native app for mobile platform
Transform Platform Language into Native
code
Integrated Development Environment
Have Platform Services
Native API support
© ALTOROS Systems | CONFIDENTIAL 20
Tuesday, May 22, 12
21. Transformers to Native code
Antenna
http://www.antennasoftware.com/
AMP
Wizards
Build-in User Management
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
22. Antenna
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
23. Transformers to Native code
Appcelerator Titanium
http://www.appcelerator.com
JavaScript only, but recently support HTML5
(mobile web version)
The only tool that generates native UI
elements, and transforms JavaScript into
Native Platform Code.
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
25. Transformers to Native code
Advantages Disadvantages
Native API Challenges to go live
Extendable tools Dependence on
Offline support Transformers
Native Application Dependence on native
Native UI SDK versions.
Native SDK
Native Distribution
channels
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
26. Adobe AIR
Integrated Development Environment
Create native app for mobile platform
SWF byte-code runs on Native Platform, iOS - Adobe
AIR player embedded into each app, on Android use
system installed Adobe AIR player.
Native API support
Stage 3D
© ALTOROS Systems | CONFIDENTIAL 26
Tuesday, May 22, 12
27. Adobe AIR
Advantages Disadvantages
Native API Not Native UI
Extendable tools Challenges to go live
Offline support Dependence on native
Native Application SDK versions.
Stage 3D support (for Moved into Gaming
games) directions
Native Distribution
channels
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
28. Summary
Allows to utilities 80% Does not work for
off all web development platform specific
resources. features
Covers about 70% of No performance
all common application optimization as for
GUI native UI elements.
Covers about 60% of Does not really cover
the common mobile all mobile platforms
application functionality
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12
29. Questions
Anything you want to
ask about?
© ALTOROS Systems | CONFIDENTIAL
Tuesday, May 22, 12