Cross-platform mobile app development faces many challenges including differences in programming languages, features, monetization options, and user interface paradigms across platforms. Native development for each platform offers the best integration and reach but requires the most effort. Cross-platform tools provide easier multi-platform development but with limitations in native features and user experience consistency. Choosing the right strategy depends on an app's goals, target platforms and audiences, and a developer's technical skills and resources. While cross-platform tools improve, fully native apps still have advantages for high-quality experiences.
2. Enough Software
A Team of Mobile Enthusiasts
Headquarter: Bremen, Germany
Customer base: worldwide
3. 2005
-3 M
Stone age
-4,600 M -3,500 M -2,000 M -225 until -65 M
Earth forms Life forms Complex life forms Age of dinosaurs
4.
5.
6. Our products
Open Source Tools for App Developers
J2ME Polish
The standard framework for Rich UI Library for Native BlackBerry UI
Java ME development Samsungs bada platform development made easy
Automatic porting to Native API extensions
Android and BlackBerry optimize app performance
More than 1 million
downloads
7.
8. Non-Profit Project
Mobile Developer’s Guide
to the Galaxy
The popular, and free, handbook for developers
and decision makers
Community-driven, objective, and non-profit
45,000 hardcopies distributed,
over 100k in downloads
12th Edition out now
Download at enough.de/mdgg
Tweet about it #mdgg
16. Challenge:
Push Notifications
8192
7168
6144 Data size from 256 bytes to 8kb
5120 Different transport protocols
4096
Different options (direct text, data)
3072
Different desktop visualisations
2048
(badges, notifications)
1024
0
Max Push Size in Bytes
iOS Android
Windows Phone BlackBerry
24. Native Apps
1 team per platform
Best integration
Best reach
But: most effort
Photos (left to right):
(c) Julian Fong/levork flickr.com/photos/levork/4074351034
(c) Julian Fong/levork flickr.com/photos/levork/3023757995
(c) Julian Fong/levork flickr.com/photos/levork/2697173209
34. “I think the biggest
mistake we made as a
company is betting
too much on HTML5
as opposed to
native.”
Source: http://www.forbes.com/sites/jjcolao/2012/09/19/facebooks-html5-dilemma-explained
photo (c) kris krüg/kk+ flickr.com/photos/kk/2326609919
35. Beware of the
Uncanny Valley
(c) Gnsin en.wikipedia.org/wiki/File:HONDA_ASIMO.jpg
36. Beware of the
Uncanny Valley
(c) Gnsin en.wikipedia.org/wiki/File:Actroid-DER_01.jpg
37. Beware of the Uncanny Valley
Source: http://en.wikipedia.org/w/index.php?title=File:Mori_Uncanny_Valley.svg
38. Beware of the Uncanny Valley
Sources: http://snippetspace.com/portfolio/iwebkit/
http://www.jqtouch.com/
http://itabbar.com/
46. Cross-Platform Tools
Games Are From Mars ApPs From Venus
Photos (left to right)
(c) mac_filko flickr.com/photos/mac_filko/5034317866
(c) mac_filko flickr.com/photos/mac_filko/5125597527
49. Mono Touch & Mono Droid
C# for , and
Shared libraries for business logic
OpenTK cross UI or native UI
Full native access
Problems
Know-how for both worlds required
Targeting different OS versions at once not possible
50. Mono Touch & Mono Droid
Language Features In app In app ads Push Desktop Native UI
purchase
Verdict
For C# experts
Usefulness depends on complexity of business logic
51. Titanium
JavaScript for , and mobile web
Access to some native UI elements
Custom Titanium API
Produces native code
Problems
Stability / memory management
No DOM tree or other browser features
Featureset differs between iOS and Android
52. Titanium
Language Features In app In app ads Push Desktop Native UI
purchase
Verdict
Great for prototyping & simple apps
53. Corona
Lua script for ,
Access to some native UI elements
Custom Corona API
Bridge technology between native and Lua (Enterprise)
Problems
Very limited native access in base SDK
Very complex native access in Enterprise SDK
Featureset differs between iOS and Android
54. Corona
Language Features In app In app ads Push Desktop Native UI
purchase
Verdict
Rapid development for casual games & apps developers
Strong community