Cross-platform
solutions for Mobile   Moldova ICT Summit 2011
App Development        IT4Developers
                       Alexandru Catariov
                       19/05/2011
Agenda



         • Introduction
         • Mobile Apps Market Overview
         • Mobile Apps Native Development
           Overview
         • Cross-platform solutions
         • Conclusions




                                            2
Introduction
• Popular mobile devices : Mobile Phones, PDAs, Smartphones, Tablets, Carputers, Netbooks
• Popular mobile devices features: Wi-Fi, touch screen, GPS, Camera, Sensors(Accelerometers, Compass)
• Mobile App features: GPS Location & navigation, Maps, Augmented Reality, Media Player, Social
   Networks, Reminders, VOIP, Networking, Push Notification, Games and many others.

• The most popular mobile platforms: iOS(iPhone, iPod touch, iPad) , Android, Windows Mobile(Phone),
   Symbian, Blackberry.

• The popularity is not geographical the same
• Big PLAYERS: Apple, Google, Microsoft, Nokia, Intel, Samsung, RIM
• World Mobile Apps Market Worth US$25 Billion by 2015




IN YOUR ZONE                                                                                       3
Market share by Mobile platforms

 100%
   90%
   80%                                          Other OSs

   70%                                          Windows Mobile
   60%
                                                iOS
   50%
   40%                                          BlackBerry

   30%                                          Android
   20%
                                                Symbian
   10%
    0%
               2007   2008   2009   2010
                                       Source: Gartner
IN YOUR ZONE                                                     4
Mobile App Distributions

 Companies     Application Stores     Platforms               Available Apps

 Apple         App Store              iOS                     350,000

 Nokia         Ovi Store              Symbian, Maemo, Meego   55,000

 Microsoft     Windows Phone          Windows Phone 7         17,500
               Marketplace
 Google        Android Market         Android                 294,000

 RIM           BlackBerry App World   BlackBerry              31,000




IN YOUR ZONE                                                                   5
Mobile App Categories Popularity

Top 10 Mobile Application Categories by   Top-10 list of categories(excluding games) of
Mobilemix                                 consumer mobile apps in 2012 by Gartner

1. Games                                  1. Location-based services (LBSs)
2. Music & entertainment                  2. Social networking.
3. Social networking                      3. Mobile search.
4. Mail & Messaging                       4. Mobile commerce.
5. News & Current events                  5. Mobile payment.
6. Weather                                6. Context-aware service.
7. Sports                                 7. Object recognition.
8. Health & fitness                       8. Mobile Instant messaging (MIM).
9. Shopping & retail                      9. Mobile e-mail.
10.Books & reference                      10.Mobile music/video.
IN YOUR ZONE                                                                              6
Mobile App Native Development
• Native development means: using native technologies, native tools, native UX, native API etc.
• The native development solutions are provided by platform owner
• All solutions have simulator tools, but usually they are very slow
• The native solutions are free
Platforms             Technologies                 Development Tools            Development Platforms

iOS                   Objective-C, iPhone SDK      XCode IDE                    Mac OS X

Android               Java, C/C++                  Eclipse                      Windows, Linux

Symbian, Maemo,       C++, QML, Qt framework,      Qt Creator                   Windows, Linux, Mac
MeeGo                 platform SDK                                              OS X
Windows Mobile        C/C++,C#, .NET compact       MS Visual Studio 2005-2010   Windows
                      framework
Windows Phone 7       C#, .NET, Silverlight, XNA   Visual Studio 2010,          Windows
                                                   Expression Blend
BlackBerry            Java, Blackberry Java SDK    Eclipse , Blackberry JDE     Windows, Mac OS X



IN YOUR ZONE                                                                                            7
Cross-platforms solutions arguments

• Mobile App Market shared between several popular platforms.
• Different technologies and API for each mobile platform
• Each technology requires particular skills, tools and resources for development
• For each platform the native solution requires the app to be built from scratch.
• Each native solution requires additional management, testing and maintenance
   effort.

• More powerful hardware
• Similar hardware parameters: screen size, touch screen, front camera, accelerometer
• Mobile apps tend to be more independent of the hardware platforms
• Porting existing applications from other platforms: desktop, web

IN YOUR ZONE                                                                            8
Cross-platform solutions – native technologies
based

Platform       Technologies   Supported platforms              License


Airplay SDK    C/C++          Android, iOS, webOS, Bada,       commercial licence
                              Symbian, Windows Mobile          avalable
MoSync         C, C++, Lua    Windows Mobile, Symbian,         Free, GPL 2.0. commer.
                              Android, iOS, Moblin, MeeGo      licence avalable
alcheMo        Java ME        iPhone, Android, Windows         commercial licence
                              Mobile                           avalable
Celsius        Java ME        Android, BlackBerry, iPhone,     commercial licence
                              Symbian, Windows Mobile          avalable
Bedrock        Java ME        Android, BlackBerry, BREW,       commercial licence
                              webOS, iOS, Bada, Symbian,       avalable
                              Windows Mobile, Windows
                              Phone 7
TotalCross     Java ME        Android, BlackBerry, iOS, Palm   License per device
                              OS, Windows Mobile.,Symbian
Qt SDK         C/C++, QML,    Symbian, Maemo, MeeGo            Free. Open source




IN YOUR ZONE                                                                            9
Cross-platform solutions – web technologies based
Platform       Technologies              Supported platforms            License


Adobe Air      HTML, JavaScript, Flex,   Android, iOS, MeeGo,           Free
               Flash                     BlackBerry
PhoneGap       CSS3, HTML5, JS.          iOS, Android, Blackberry,      free and open source
                                         WebOS, WP7 ,Symbian            under the MIT License
OpenPlug       Action Script, Java       iOS, Android, Windows Phone,   Free & commercial
               Script, XML               Symbian                        licenses available
WorkLight      HTML, CSS, JS             BlackBerry, Android, iOS,      Commercial licenses
                                                                        available
Appcelerator   Java Script, HTML, CSS    Android, iOS, BlackBerry       Apache 2.0 license,
Titanium                                                                comm. licenses avail.
RhoMobile      HTML, CSS, JS, Ruby       BlackBerry, Android, iOS,      free and open source
                                                                        under the MIT License
WidgetPad      CSS3, HTML5, JS.          iOS, Android , WebOS           free and open source




IN YOUR ZONE                                                                                    10
Adobe Air
• The Adobe® AIR® runtime enables developers to use HTML, JavaScript, Flex and Flash Builder
   software to create high-performance mobile apps.
• Supported mobile platforms: Android, iOS, BlackBerry, Windows 7(Slate), MeeGo
• Features:
   •   Multi-touch, gestures, HTML5/CSS3, Local API’s (Location, Accelerometer, Microphone,
       Camera, Contacts etc.), SQLite, Action Script 3 with JIT compiler and others.

• Advantages:
   •   Faster development, declarative UI programming, mature framework and others

• Disadvantages
   •   Requires AIR runtime, Prone to restriction on iOS, Troublesome handling of different
       resolutions, few mobile-optimized controls




IN YOUR ZONE                                                                                   11
Adobe Air Examples
  Native iPhone App   Adobe Air Android App




IN YOUR ZONE                                  12
PhoneGap

• PhoneGap is an HTML5 app platform that allows you to author native applications
   with web technologies and get access to APIs and app stores.

• Supported mobile platforms: Android, iOS, Palm OS, BlackBerry, Symbian OS
• Features:
   • WebKit (HTML5/CSS3/JavaScript), Local API’s (Location, Accelerometer,
       Microphone, Camera, Contacts etc.), SQLite, Bridges between native
       implementations and JavaScript

• Phone Gap is usually used with some touch Java Script frameworks
   • Sencha touch – more mature for mobile development
   • JQuery Touch – works well just for iPhone development


IN YOUR ZONE                                                                        13
PhoneGap Examples




IN YOUR ZONE        14
Appcelerator – Titanium Mobile

• Supported platforms: iOS, Android, BlackBerry(Beta)
• Uses native UI components that are controlled by Titanium JavaScript framework
• Near-native performance
• Custom Development & Deployment tool (Titanium Developer)
• Native UI is built in JavaScript only




IN YOUR ZONE                                                                       15
RhoMobile

• Supported platforms: iOS, Android, BlackBerry, Windows Mobile, Windows Phone 7,
   Symbian
• Fully implements MVC
• Local light-weight web server
• Ruby back-end
• HTML5/CSS3 front-end (Compiles to Ruby)
• Contains AppGenerator (create Rhodes applications, models, and tests)
• Custom Simulator
• Custom Debugger
• Enterprise solutions (RhoSync)
• Deployment server (builds app for all platforms - RhoHub)

IN YOUR ZONE                                                                    16
Cross-platform solutions for game development

• AirPlay SDK
    •   Supported mobile platforms: iOS, Android, Symbian, Bada, Windows Mobile, webOS, Maemo

    •   Uses C/C++ and standards IDEs such as: Visual Studio C++ and Xcode.

    •   Can be used for development of various rich mobile apps

    •   Full license costs - 2500$ per seat per year. Indie License – 100$ per seat per year.

• ShiVa Engine
    •   Supported mobile platforms: iOS, Android, webOS

    •   Uses C/C++, Lua, OpenGL, DirectX, Object-Oriented Design, Built-in Graphic Editors.

    •   Full license costs - 1500$. For students and researchers – 170$.

• Unity
    •   Supported mobile platforms: iOS, Android

    •   Uses C# & Java Scripts, OpenGL, DirectX, Object-Oriented Design, Built-in Graphic Editors.

    •   Full license costs - 1500$. Indie License - free.
IN YOUR ZONE                                                                                         17
Conclusions

• May have performance issues
• Non pure-native look & feel
• Limited API set
• Support for integration with native API and native UI components
• Web technologies based – CSS, JS, HTML.
   • For rich mobile apps and for low cost porting.
• Native technologies based – C/C++, Java ME.
   • Can be used for mobile game development
• A big number of solutions
• Many of them are commercial and cost a lot, but the indie license is not so expensive.

IN YOUR ZONE                                                                           18
Alexandru Catariov   | Deputy Head of Development Endava Moldova
               Alexandru.catariov@endava.com
               Tel +373 790400205 |Skype alex.catariov




               thank you


IN YOUR ZONE                                                                      19

Cross platform solutions for Mobile App Development

  • 1.
    Cross-platform solutions for Mobile Moldova ICT Summit 2011 App Development IT4Developers Alexandru Catariov 19/05/2011
  • 2.
    Agenda • Introduction • Mobile Apps Market Overview • Mobile Apps Native Development Overview • Cross-platform solutions • Conclusions 2
  • 3.
    Introduction • Popular mobiledevices : Mobile Phones, PDAs, Smartphones, Tablets, Carputers, Netbooks • Popular mobile devices features: Wi-Fi, touch screen, GPS, Camera, Sensors(Accelerometers, Compass) • Mobile App features: GPS Location & navigation, Maps, Augmented Reality, Media Player, Social Networks, Reminders, VOIP, Networking, Push Notification, Games and many others. • The most popular mobile platforms: iOS(iPhone, iPod touch, iPad) , Android, Windows Mobile(Phone), Symbian, Blackberry. • The popularity is not geographical the same • Big PLAYERS: Apple, Google, Microsoft, Nokia, Intel, Samsung, RIM • World Mobile Apps Market Worth US$25 Billion by 2015 IN YOUR ZONE 3
  • 4.
    Market share byMobile platforms 100% 90% 80% Other OSs 70% Windows Mobile 60% iOS 50% 40% BlackBerry 30% Android 20% Symbian 10% 0% 2007 2008 2009 2010 Source: Gartner IN YOUR ZONE 4
  • 5.
    Mobile App Distributions Companies Application Stores Platforms Available Apps Apple App Store iOS 350,000 Nokia Ovi Store Symbian, Maemo, Meego 55,000 Microsoft Windows Phone Windows Phone 7 17,500 Marketplace Google Android Market Android 294,000 RIM BlackBerry App World BlackBerry 31,000 IN YOUR ZONE 5
  • 6.
    Mobile App CategoriesPopularity Top 10 Mobile Application Categories by Top-10 list of categories(excluding games) of Mobilemix consumer mobile apps in 2012 by Gartner 1. Games 1. Location-based services (LBSs) 2. Music & entertainment 2. Social networking. 3. Social networking 3. Mobile search. 4. Mail & Messaging 4. Mobile commerce. 5. News & Current events 5. Mobile payment. 6. Weather 6. Context-aware service. 7. Sports 7. Object recognition. 8. Health & fitness 8. Mobile Instant messaging (MIM). 9. Shopping & retail 9. Mobile e-mail. 10.Books & reference 10.Mobile music/video. IN YOUR ZONE 6
  • 7.
    Mobile App NativeDevelopment • Native development means: using native technologies, native tools, native UX, native API etc. • The native development solutions are provided by platform owner • All solutions have simulator tools, but usually they are very slow • The native solutions are free Platforms Technologies Development Tools Development Platforms iOS Objective-C, iPhone SDK XCode IDE Mac OS X Android Java, C/C++ Eclipse Windows, Linux Symbian, Maemo, C++, QML, Qt framework, Qt Creator Windows, Linux, Mac MeeGo platform SDK OS X Windows Mobile C/C++,C#, .NET compact MS Visual Studio 2005-2010 Windows framework Windows Phone 7 C#, .NET, Silverlight, XNA Visual Studio 2010, Windows Expression Blend BlackBerry Java, Blackberry Java SDK Eclipse , Blackberry JDE Windows, Mac OS X IN YOUR ZONE 7
  • 8.
    Cross-platforms solutions arguments •Mobile App Market shared between several popular platforms. • Different technologies and API for each mobile platform • Each technology requires particular skills, tools and resources for development • For each platform the native solution requires the app to be built from scratch. • Each native solution requires additional management, testing and maintenance effort. • More powerful hardware • Similar hardware parameters: screen size, touch screen, front camera, accelerometer • Mobile apps tend to be more independent of the hardware platforms • Porting existing applications from other platforms: desktop, web IN YOUR ZONE 8
  • 9.
    Cross-platform solutions –native technologies based Platform Technologies Supported platforms License Airplay SDK C/C++ Android, iOS, webOS, Bada, commercial licence Symbian, Windows Mobile avalable MoSync C, C++, Lua Windows Mobile, Symbian, Free, GPL 2.0. commer. Android, iOS, Moblin, MeeGo licence avalable alcheMo Java ME iPhone, Android, Windows commercial licence Mobile avalable Celsius Java ME Android, BlackBerry, iPhone, commercial licence Symbian, Windows Mobile avalable Bedrock Java ME Android, BlackBerry, BREW, commercial licence webOS, iOS, Bada, Symbian, avalable Windows Mobile, Windows Phone 7 TotalCross Java ME Android, BlackBerry, iOS, Palm License per device OS, Windows Mobile.,Symbian Qt SDK C/C++, QML, Symbian, Maemo, MeeGo Free. Open source IN YOUR ZONE 9
  • 10.
    Cross-platform solutions –web technologies based Platform Technologies Supported platforms License Adobe Air HTML, JavaScript, Flex, Android, iOS, MeeGo, Free Flash BlackBerry PhoneGap CSS3, HTML5, JS. iOS, Android, Blackberry, free and open source WebOS, WP7 ,Symbian under the MIT License OpenPlug Action Script, Java iOS, Android, Windows Phone, Free & commercial Script, XML Symbian licenses available WorkLight HTML, CSS, JS BlackBerry, Android, iOS, Commercial licenses available Appcelerator Java Script, HTML, CSS Android, iOS, BlackBerry Apache 2.0 license, Titanium comm. licenses avail. RhoMobile HTML, CSS, JS, Ruby BlackBerry, Android, iOS, free and open source under the MIT License WidgetPad CSS3, HTML5, JS. iOS, Android , WebOS free and open source IN YOUR ZONE 10
  • 11.
    Adobe Air • TheAdobe® AIR® runtime enables developers to use HTML, JavaScript, Flex and Flash Builder software to create high-performance mobile apps. • Supported mobile platforms: Android, iOS, BlackBerry, Windows 7(Slate), MeeGo • Features: • Multi-touch, gestures, HTML5/CSS3, Local API’s (Location, Accelerometer, Microphone, Camera, Contacts etc.), SQLite, Action Script 3 with JIT compiler and others. • Advantages: • Faster development, declarative UI programming, mature framework and others • Disadvantages • Requires AIR runtime, Prone to restriction on iOS, Troublesome handling of different resolutions, few mobile-optimized controls IN YOUR ZONE 11
  • 12.
    Adobe Air Examples Native iPhone App Adobe Air Android App IN YOUR ZONE 12
  • 13.
    PhoneGap • PhoneGap isan HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. • Supported mobile platforms: Android, iOS, Palm OS, BlackBerry, Symbian OS • Features: • WebKit (HTML5/CSS3/JavaScript), Local API’s (Location, Accelerometer, Microphone, Camera, Contacts etc.), SQLite, Bridges between native implementations and JavaScript • Phone Gap is usually used with some touch Java Script frameworks • Sencha touch – more mature for mobile development • JQuery Touch – works well just for iPhone development IN YOUR ZONE 13
  • 14.
  • 15.
    Appcelerator – TitaniumMobile • Supported platforms: iOS, Android, BlackBerry(Beta) • Uses native UI components that are controlled by Titanium JavaScript framework • Near-native performance • Custom Development & Deployment tool (Titanium Developer) • Native UI is built in JavaScript only IN YOUR ZONE 15
  • 16.
    RhoMobile • Supported platforms:iOS, Android, BlackBerry, Windows Mobile, Windows Phone 7, Symbian • Fully implements MVC • Local light-weight web server • Ruby back-end • HTML5/CSS3 front-end (Compiles to Ruby) • Contains AppGenerator (create Rhodes applications, models, and tests) • Custom Simulator • Custom Debugger • Enterprise solutions (RhoSync) • Deployment server (builds app for all platforms - RhoHub) IN YOUR ZONE 16
  • 17.
    Cross-platform solutions forgame development • AirPlay SDK • Supported mobile platforms: iOS, Android, Symbian, Bada, Windows Mobile, webOS, Maemo • Uses C/C++ and standards IDEs such as: Visual Studio C++ and Xcode. • Can be used for development of various rich mobile apps • Full license costs - 2500$ per seat per year. Indie License – 100$ per seat per year. • ShiVa Engine • Supported mobile platforms: iOS, Android, webOS • Uses C/C++, Lua, OpenGL, DirectX, Object-Oriented Design, Built-in Graphic Editors. • Full license costs - 1500$. For students and researchers – 170$. • Unity • Supported mobile platforms: iOS, Android • Uses C# & Java Scripts, OpenGL, DirectX, Object-Oriented Design, Built-in Graphic Editors. • Full license costs - 1500$. Indie License - free. IN YOUR ZONE 17
  • 18.
    Conclusions • May haveperformance issues • Non pure-native look & feel • Limited API set • Support for integration with native API and native UI components • Web technologies based – CSS, JS, HTML. • For rich mobile apps and for low cost porting. • Native technologies based – C/C++, Java ME. • Can be used for mobile game development • A big number of solutions • Many of them are commercial and cost a lot, but the indie license is not so expensive. IN YOUR ZONE 18
  • 19.
    Alexandru Catariov | Deputy Head of Development Endava Moldova [email protected] Tel +373 790400205 |Skype alex.catariov thank you IN YOUR ZONE 19