Cross-‐Pla orm Mobile Applica"on Development

secrettownpanamanianMobile - Wireless

Dec 10, 2013 (3 years and 10 months ago)

111 views

Speaker:
Dennis  
Zikovic

Organisation:
Cybercom

Headline
:
Cross-­‐Pla5orm  Mobile  Applica9on  Development  
Cross-Platform Mobile Application Development
!

Speaker: Dennis Zikovic
!

Company: Cybercom AB
!

Headline:
Cross-Platform Mobile Application Development

!

Abstract:
Briefing on which cross-platform tools that are available for
mobile development and how to categorize them
Reasons to use and not use cross-platform tools based on
the type of application you plan to develop
Some of the most common pitfalls and risks to be aware of
when using cross-platform tools
The  Modern  Mobile  
App
 


 2007  the  iPhone  started  the  smart  phone  revolu:on  


 The  touch  UI  was  born  and  rose  user  expecta:on    


 Apple  App  Store  launched  in  July  2008  with  the  3G  


 October  2008  HTC  releases  the  first  Android  phone  


 Android  included  the  Android  Market  at  the  launch  


 Mobile  eco-­‐systems  now  create  customer  loyalty  
Mobile  plaLorms  


 Android  and  iOS  dominate  and  split  the  market  between  them  


 The  web  should  be  seen  as  a  plaLorm  


 Pads  can  be  considered  as  separate  plaLorms  


 Blackberry  s:ll  large  in  some  markets  


 Windows  Phone  could  grow  with  version  8  and  Nokia  


 Nokia  and  Symbian  s:ll  large  in  developing  countries  
The  problem  


 
Mul:ple  code  bases  to  develop  and  maintain  


 Developers  with  different  skillsets  is  needed  


 Harder  to  :me  manage  mul:ple  skillset  developers  


 Each  code  base  has  to  be  tested  separately  


 Demanding  product  and  release  management  


 High  cost  to  support  new  plaLorms  


 High  development  costs  


 Skillset  needs  leads  to  outsourcing  


 Outsourcing  oTen  leads  to  high  support  costs  and  quality  problems  
Cross-­‐PlaLorm  Tools  (CPT)  
Tools  and  technologies  used  to  produce  applica:ons  
for  mul:ple  plaLorms  using  a  single  codebase  
The  CPT  solu:on  


 
One  code  base  to  rule  them  all  


 Only  one  skillset  is  needed  


 Tes:ng  can  be  simplified  


 Possibility  to  reuse  exis:ng  developer  skills  


 Possible  to  reuse  pre-­‐app  legacy  code  


 New  plaLorms  can  be  supported  to  a  lower  cost  
Problems  


 Na:ve  look  and  feel  support  poor  or  non-­‐existent  


 Always  one  step  behind  when  plaLorms  update  


 The  least  common  denominator  effect  


 Threshold  in  learning  a  new  plaLorm  


 Will  your  chosen  CPT  be  around  tomorrow?  
It´s  a  jungle  out  there  
Adobe  (AIR)  
Adobe  (Flex)  
Innaworks
 (
Alchemo
)  
Antenna  SoTware  (Mobility  Studio)  
An:x
 Labs  (Games  Development  Kit)  
The  Dojo  Founda:on  (dojo  toolkit)  
Seregon
 (
DragonRad
)  
Elements  Interac:ve  Mobile  (EDGELIB)  
Emo-­‐Framework.com
 
Enough  SoTware  (J2ME  Polish)  
The  
jQuery
 Project  (
jQuery
 Mobile)  
Kony
 (
KonyOne
 PlaLorm)  
Vexed  Digital  (Kirin,  NB  FOSS  project)  
Kyros
 (Velocity)  Digital  Fruit  (Lime  JS)  
RunRev
 (
Livecode
)  
Sencha
 (Touch,  
jQtouch
)  
Stonetrip
 (ShiVa3D)  
SIO2  Interac:ve  (SiO2  Engine)  
Mobinex
 
Inc
 (
SmarLace
 PlaLorm)  
The  Game  Creators  Ltd  (App  Game  Kit)  
Appcelerator
 (Titanium)  
Geniem
 (
Appever
)    
Applica:on  CraT    
AppMobi
   
Apps-­‐Builder  
UX  Plus  Inc.  (Aqua  PlaLorm)  
Baeery  Powered  Games  (
BaeeryTech
)  
SoTware  AG  (Bedrock)  
Backelite
 (
BKrender
)  
Qualcomm  (BREW)  
Brightcove
 (App  Cloud)  
Department  of  
Behaviour
 and  Logic  (Cabana)  
Canappi
 
Cellsdk.com
 
Cocos2D  
Conduit  Ltd  (Conduit  Mobile)  
Ansca
 Mobile  (Corona)  
CoStore
 (
Pixelspark
)  
DHTMLX  (Touch)  
Job  and  Esther  Technologies  Ltd  (
Eqela
)  
Expanz
 (
Expanz
 PlaLorm)  
FeedHenry
 
SevenVal
,  YOC  Group  (
Fitml.com
)  
Lifecycle  Mobile  (
Fivespark
)  
Gamebuilder
 Inc.  (
Gamebuilder
 Studio)  
GameSalad
 
Inc
 (
GameSalad
)  
Artech
 (
GeneXus
)  
Gideros
 Mobile  
SpringSource
,  
VMWare
 (Grails,  
SpringMVC
)  
HaxeNME
 
iBuildapp
 
Inc
 (
iBuild
 App)  
ITR  Mobility  (
iFactr
)  
Edhouse
 (
IPFaces
)  
Radical  Breeze  (Illumina:ons)  
PhobosLab
 (
impact.js
)  
FlexyCore
 (In-­‐the-­‐box)  
iUI
 
JMango
 Jo  App  
Service2Media  (App  Lifecycle  PlaLorm)  
Didmo
 (
Magmito
)  Ideaworks3D  Ltd  (Marmalade)  
Zipline
 Games  (
Moai
)  
Mobile  Na:on  (
MobileNa:onHQ
)  
Xamarin
 (
MonoTouch
,  Mono  for  Android)  
MoSync
 
NeoMades
 (
NeoMAD
)  
Netbiscuits
 
Octomobi
 
OpenText
 (Mobile  Wave  PlaLorm)  
Oracle  (ADF)  
Papaya  Mobile  (Social  Game  Engine)  
Adobe  (PhoneGap  Build)  
Sideshow  
NetQuest
 (
Proto.io
)    
Verivo
 SoTware  (ex  
Pyxis
)    
Nokia  (
Qt
)  
Quickconnect
 Family  
Red  Foundry  
Motorola,  Solu:ons  (
RhoMobile
)  
Spot  Specific  
StackMob
 
Facebook  (Strobe,  
Sproutcore
)  
Sybase  (
UnWired
 PlaLorm)  
Pancoda
 (The  M  Project)  
Deutsche  Telekom  (The  Unify  Project)  
Exadel
 (
Tiggr
,  now  
Tiggzi
)  
SuperWaba
 (
TotalCross
)  
Unity  Technologies  (Unity)  
Unreal  (Unreal  Engine)  
Uxebu
 (
Bikeshed
)  
Uxebu
 (
Aparrat.io
)  
Vaadin
 
Trigger  Corp  (
Trigger.io
)  
IBM  (
Worklight
)    
wxWidgets
   
XMLVM  
XUI.js
 
++  Technologies  (
XPower
++)  
YoYo
 Games  (
YoYo
 Games  Maker
 
Picking  the  right  CPT  
 


 Decide  the  type  of  CPT  that  is  right  for  you  


 Web  Apps  


 Hybrid  


 Visual  Developer  Tools  


 Code  translators  &  interpreters  
 


 Pick  a  tool  with  a  reasonable  market  share  
Web  apps  


 Yes  normal  web  apps  


 Bookmark  apps  only,  no  applica:on  stores  


 HTML  5  compa:bility  and  features    


 JavaScript  UI  libs  can  give  mobile  app  feel  


 Tradi:onal  web  developers  skills  


 Performance  is  generally  a  problem  


 Don

t  pretend  to  be  more  than  you  are  
Top  players:  
jQuery
 Mobile,  
Sencha
 Touch  &  
jqMobi
 
Web  apps  can  look  good  
Hybrids  


 Web  wrappers  that  uses  the  na:ve  browsers  


 Wrapped  in  a  na:ve  app  and  distributed  in  app  stores  


 Provides  API  access  to  na:ve  features  like  the  Camera  


 You  can  get  beeer  performance  than  pure  web  apps  


 Not  all  have  UI  components,  combine  with  JS  libs  


 Apple  will  screen  you  hard,  must  add  non  web  features  


 Tradi:onal  web  developers  skills  can  do  the  work  
Top  players:  PhoneGap,  
Sencha
 Touch  &  
appMobi
 
Visual  tools  


 No  coding  required  


 An  alterna:ve  for  basic  informa:on  or  contact  apps  


 Typically  uses  configurable  standard  components  


 You  will  generally  hit  the  “wall  of  no  more  op:ons”  preey  fast  


 Targets  non  developers  


 Not  an  alternate  for  serious  apps  
Players:  
AppMkr
,  
Wix
 Mobile  &  
Didmo
 
Code  translators  &  interpreters  


 The  obvious  choice  for  media  heavy  apps  like  games  


 Most  mobile  game  developers  today  use  these  tools  


 Some  provide  na:ve  UI  but  experience  oTen  falters  


 Best  performance  of  CPT  categories,  close  to  na:ve  


 Develop  using  languages  like  C++  or  script  languages  


 SoTware  developer  skill  needed  


 Learning  curve  typically  higher  than  the  other  CPT  types    
Top  players:  Titanium,  Unity,  mono,  Corona  
PiLalls  and  risks  


 Performance  is  oTen  a  killer  for  web  and  hybrid  apps  


 Na:ve  UI  look  and  feel  maeer  more  than  many  think  


 Learning  curve  will  likely  eat  all  your  ini:al  savings  


 Hard  to  reach  top  notch  quality  using  CPTs  


 One  code  base  for  all  plaLorms  are  an  illusion  


 Can  you  afford  to  be  one  step  behind  


 Considering  por:ng  your  web  to  an  app,  then  consider  not  to  
Want  to  learn  more  
 
Check  out  the  extensive  and  free  report  form  Vision  Mobile  
hep://
www.visionmobile.com
/product/cross-­‐plaLorm-­‐developer-­‐tools-­‐2012/