SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
Cross-Platform Mobile
               Development
Write Once..

   Run Everywhere..

       Any device..
Soutom Dhara


    Soutomd@mindfiresolutions.com



    Soutom.dhara


    @soutom


    Soutom.wordpress.com
Cell phone usages is ubiquitous
Growth of the mobile web
120




100




80
                                                                                                                  52%

60                                                                                                                              "Desktop"
                                                                            32%                                                 "Mobile"


40                                          12%
                     3%
20




 0
           2009-04             2009-12               2010-08              2011-04               2011-12               2012-08
 2008-12             2009-08              2010-04               2010-12              2011-08                2012-04



                           Source : http://gs.statcounter.com/#mobile_vs_desktop-IN-monthly-200812-201208
I want a Mobile App
Growth of Top 5 mobile operating system
45



40



35



30

                                                                                                                        "SymbianOS"
                                                                                                                        "iOS"
25
                                                                                                                        "Android"
                                                                                                                        "BlackBerry OS"
                                                                                                                        "Samsung"
20



15



10



5



 0
2008-12   2009-04   2009-08   2009-12   2010-04   2010-08   2010-12   2011-04   2011-08   2011-12   2012-04   2012-06



                              http://gs.statcounter.com/#mobile_os-ww-monthly-200812-201206
Mobile Platforms
Mobile Platforms
                Operating    2011 Market 2015 Market
                System       Share       Share
                Android            38.9%       43.8%
                BlackBerry         14.2%       13.4%
                iOS                18.2%       16.9%

                WP7 / WM            3.8%       20.3%
2015            Other              24.9%        5.6%
        2011    Total               100%        100%



2011
                iOS
                Android
       2015
                BlackBerry
                WP
                Other
The Native Experience



IDE         Emulator   Store   Consumer




IDE         Emulator   Store   Consumer




IDE        Simulator   Store   Consumer
The Native Experience
Native App


                                            Web Server

                                                   Ruby/
                                                    java
    Native          Http Request
     App                                                               External
                                                                        Web
                                                                       Service



                                        Files
                                      Images and       Database
                                         other


          Device                                           Backend       3rd Party

Execute UI & some                  Execute central Application logic
application logic
Demo
Native App : Advantages & disadvantages
Production
     Learning Curve     : Easy, Great Number of Tutorials + Libraries
     Tools              : Great IDE with good debugging supports
     Monetization       : Direct access to market place / app store

Usage Scenario
      Data Driven App
      Rich Media

User Experience
      Hardware           : Direct Access to all Sensor / APIs
      User Interface
      Offline Capability : Available( SQL database / Flat File)
Platform
       IOS                   Windows Phone 7.x
       Android               Others...

Cost for cross – platform : Vendor Lock-in, device specific optimization
The Native Experience
Multi-plarform Apps


●
    Is this only for rich guys

●
    Time to complete a app
5 Approaches
 ●
   Mobile Web
 ●
   Client Side Web
 ●
   Hybrid App
 ●
   Interpreted App
 ●
   Cross Compiling
The Mobile Web
Server-Side Web


                                              Web Server

                                                    Ruby/
                                                     java
   Web            Http Request
  Browser                                                                  External
                                                                            Web
                                                                           Service



                                         Files
                                       Images and
                                          other         Database


         Device                                             Backend          3rd Party

Executes UI & some               Executes UI & central Application logic
Client side logic
Frameworks / Toolkits




                        Zurb Foundation
             http://foundation.zurb.com/




                     Twitter Bootstrap
          http://twitter.github.com/bootstrap/
Demo
Mobile Web : Advantages & disadvantages
Production
     Learning Curve    : Easy, Great Number of Tutorials + Libraries .
     Tools             : Use any editor of your choice.
     Monetization      : No App Store destribution.

Usage Scenario
      Data Driven App
      Rich Media      : Inferior Performance
User Experience
      Hardware           : Limited access of H/W features & APIs
      User Interface     : Fancy UI possible, but platform specific style required
      Offline Capability : Available( SQL database / Flat File)
Platform
       iOS                    Windows Phone 7.x (Mango)
       Android                Others (Responsive Design)

Cost for cross – platform : Low, plain HTML run on any type of browser
Client-Side Web
Client-Side Web


  Web Browser                                Web Server

   JavaScript                                      Ruby/
                        Http                        java
                        Request                                      External
                                                                      Web
                                                                     Service
 Files
Images and
Images and
   other
   other     Database
                                        Files
                                      Images and
                                         other         Database


              Device                                       Backend     3rd Party


 Executes UI & some               Only central Application logic
 Application logic
Framework / toolkits
Demo
Client-Side Web : Advantages & disadvantages
Production
     Learning Curve    : Easy, Great Number of Tutorials + Libraries .
     Tools             : Use any editor of your choice.
     Monetization      : No App Store distribution

Usage Scenario
      Data Driven App
      Rich Media      : Inferior Performance

User Experience
      Hardware           : Limited access of H/W features & APIs
      User Interface     : Mostly iOS like UI library
      Offline Capability : HTML 5, Otherwise Limited
Platform
      iOS                    Windows Phone 7.x (Mango)
      Android                Others (Responsive Design)

Cost for cross – platform : Low, plain HTML run on any type of browser
Hybrid Apps
Hybrid Apps


  Native App
                                                  Web Server
Native Code
                                                        Ruby/             http://
                         http://                         java
                                                                                    External
  Interpreter                                                                        Web
                                                                                    Service

                             http://
 Bridge
                                             Files
 JavaScript                                Images and
                                              other         Database


                Device                                          Backend               3rd Party


Executes UI & some                     Only central Application logic
Application logic
Framework / toolkits
Demo
Hybrid Apps : Advantages & disadvantages
Production
     Learning Curve    : Easy, Great Number of Tutorials + Libraries .
     Tools             : Use any editor of your choice / commercial tools.
     Monetization      : App Store distribution

Usage Scenario
     Data Driven App
     Rich Media      : Inferior Performance

User Experience
      Hardware           : Access to most H/W features & many API available
      User Interface     : Huge effort required to match native UI
      Offline Capability :
Platform
      iOS                   Windows Phone 7.x (Mango)
      Android               Others (Responsive Design)

Cost for cross – platform
Interpreted Apps
Interpreted Apps

      Native App
                       Native APIs


                                        http://           Web Server
      API
      API     API
              API     API
                      API        API
                                 API
                                                                Ruby/
                                                                 java

            Abstraction Layer
            Abstraction Layer          http://




              Interpreter                            Files
                                                   Images and
                                                      other         Database

                      Database
                      Database
        Application
        Application                                                     Backend
          Script
          Script
                         Files
                         Files

                            Device

Executes UI & some Client side logic              Only central Application logic
Framework / toolkits
Demo
Interpreted Apps : Advantages & disadvantages
Production
     Learning Curve    : Specific API, Great Number of Tutorials + Libraries .
     Tools             : IDEs, including debugger
     Monetization      : App Store distribution

Usage Scenario
     Data Driven App

User Experience
     Hardware           : Access to H/W & API available, wrapped with specific API
     User Interface     : truly native widgets
     Offline Capability

Platform
           IOS              Windows Phone 7.x
           Android          Others

Cost for cross – platform
Cross Compiling




Image found at : http://www.flickr.com/photos/danholton/2853935782/sizes/m/in/photostream/
Cross Compiling (Mono)


                                         Native
   UI              MonoTouch(iOS)
 (iOS)
                                          App
 (iOS)
                                               iOS
                    MonoDroid
   UI                  (Android)
(Android)
(Android)                                Native
                        Mono compiler     App
   UI
 (wp7)
 (wp7)                                      Android


 Core                 .NET RT            Native
                        (WP7)
(shared)
(shared)                                  App
            C#           MSIL compiler        WP7     Backend
Framework / toolkits
Cross Compiled Apps : Advantages & disadvantages
  Production
       Learning Curve    : New tool chain (take getting used to)
       Tools             : IDEs, but debugging in target environment.
       Monetization      : App Store distribution

  Usage Scenario
       Data Driven App
       Rich Media      : No partial supports

  User Experience
        Hardware           : Access to H/W & API available, wrapped with specific API
        User Interface     : Truly native widgets.
        Offline Capability :
   Platform
        iOS                    Windows Phone 7.x (Mango)
        Android                Others (Responsive Design)

  Cost for cross – platform
Production             Native   Web   Client-Side   Hybrid   Interpreted    Cross
                                          web                              Compiled
   Learning Curve

              Tools
  Monetization

Usages
Scenario
  Data-driven App
  Rich Media

           User
     Experience
  Hardware
  User Interface
  Offline capability

Platforms
   iOS
   Android
   WP7
   Others
Cost for cross
platform
Questions
Advantages...
Need to Know: Javascript , HTML, CSS,
              Ruby/ Python / PHP
                                     Supported OS for Mobile Apps


Supported OS for Desktop Apps


                                                  Native
                                                   UI
                            Open Source

     Full Access : camera, gps, local file system, phone book, more ….
Your Application                                          Your Application
                           Optional                                                  Optional
UI API      Phone API                                     UI API      Phone API
                           Module                                                    Module

 Javascript – Objective C Bridge                               Javascript – Java Bridge

           iPhone OS                                                 Android OS
         Native iPhone APP                                     Native Android APP


                           Your Application

                  UI API      Phone API
                                             Optional                 Desktop supports
                                             Module
                                                                      Ruby , php, Python
                Javascript – Ruby - Python Bridge to OS
                                                                      and Javascript
                  Windows OS – Mac OS – Linux OS
var root = Titanium.Filesystem.resourcesDirectory;

var win = Titanium.UI.createWindow({
orientationModes : [Ti.UI.PORTRAIT],
backgroundImage : root + 'images/background.png'
});
var loginBtn = Ti.UI.createButton();

loginBtn.addEventListener('click',function() {
   var homeWin = require('../pages/home').getHomeWin;
   var homePage = new homeWin();
   homePage.open();
   win.close();
});

win.add(loginBtn);
var xhr = Titanium.Network.createHTTPClient();
   xhr.onerror = function(e) {
      // Do some thing to notify the user
   };
xhr.open("POST", "http://abcd.com/users/login");
xhr.setRequestHeader("content-type","application/json");
var param = {
     "user_name" : "soutom",
     "password" : "mindfire",
     };
xhr.send(JSON.stringify(param));
xhr.onload = function() {
     if (this.status == '200') {
         // Success Block
     }else{
         // Error Block
     }
};
Questions
Thank You
Cross Platform Mobile Developmemnt

Contenu connexe

Tendances

Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery MobileBuilding Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery MobileJon Cortez
 
Usability In Mobile Applications
Usability In Mobile ApplicationsUsability In Mobile Applications
Usability In Mobile ApplicationsBruno Figueiredo
 
Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)Manyoung Cho
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Simon Guest
 
HTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and DesktopHTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and DesktopDoris Chen
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013John Garland
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
 
webinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governancewebinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governancewebinos project
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Sanjeev Kumar
 
Rich Internet Applications (RIA)
Rich Internet Applications (RIA)Rich Internet Applications (RIA)
Rich Internet Applications (RIA)guest3214e8
 
Introduction to j query mobile framework
Introduction to j query mobile frameworkIntroduction to j query mobile framework
Introduction to j query mobile frameworkShreerang Patwardhan
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinkingIvano Malavolta
 
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10psiborg
 
Mobile applications chapter 2
Mobile applications chapter 2Mobile applications chapter 2
Mobile applications chapter 2Akib B. Momin
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by SubodhSubodh Pushpak
 
Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewSascha Corti
 

Tendances (20)

Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery MobileBuilding Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
Building Mobile Web Apps using ASP.NET MVC, HTML5, & jQuery Mobile
 
Usability In Mobile Applications
Usability In Mobile ApplicationsUsability In Mobile Applications
Usability In Mobile Applications
 
Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)
 
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...Building solutions on the Microsoft platform that target iPhone, iPad, and An...
Building solutions on the Microsoft platform that target iPhone, iPad, and An...
 
HTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and DesktopHTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and Desktop
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
 
webinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governancewebinos and Open Ecosystems Open Governance
webinos and Open Ecosystems Open Governance
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
Rich Internet Applications (RIA)
Rich Internet Applications (RIA)Rich Internet Applications (RIA)
Rich Internet Applications (RIA)
 
Introduction to j query mobile framework
Introduction to j query mobile frameworkIntroduction to j query mobile framework
Introduction to j query mobile framework
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
 
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Mobile applications chapter 2
Mobile applications chapter 2Mobile applications chapter 2
Mobile applications chapter 2
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by Subodh
 
Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's New
 
Widgetization: A New Paradigm
Widgetization: A New ParadigmWidgetization: A New Paradigm
Widgetization: A New Paradigm
 

Similaire à Cross Platform Mobile Developmemnt

Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Belen Barros Pena
 
Inside Mobile Widgets Publish
Inside Mobile Widgets PublishInside Mobile Widgets Publish
Inside Mobile Widgets Publish360|Conferences
 
Mobile Development Platforms
Mobile Development PlatformsMobile Development Platforms
Mobile Development PlatformsAndri Yadi
 
Dissecting and DeFragmenting the Wild and Wacky Mobile App World
Dissecting and DeFragmenting the Wild and Wacky Mobile App WorldDissecting and DeFragmenting the Wild and Wacky Mobile App World
Dissecting and DeFragmenting the Wild and Wacky Mobile App WorldVictoria Abadir
 
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Shane Church
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Effective
 
Cross platform development - Rhomobile
Cross platform development - RhomobileCross platform development - Rhomobile
Cross platform development - RhomobileKonstantin Rybas
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for MobilityScotty Logan
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentSimon Guest
 
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationTom Deryckere
 
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheRoad to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheBrian Sam-Bodden
 
Fragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionFragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionBelen Barros Pena
 
Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5Soumow Dollon
 
Best Mobile App Development Services in India
Best Mobile App Development Services in IndiaBest Mobile App Development Services in India
Best Mobile App Development Services in IndiaSteve Verma
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Marco Tabor
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.Petru Jucovschi
 

Similaire à Cross Platform Mobile Developmemnt (20)

Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?
 
Mobile Widgets Development
Mobile Widgets DevelopmentMobile Widgets Development
Mobile Widgets Development
 
Inside Mobile Widgets Publish
Inside Mobile Widgets PublishInside Mobile Widgets Publish
Inside Mobile Widgets Publish
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Jonathan snook - fake-it
Jonathan snook - fake-itJonathan snook - fake-it
Jonathan snook - fake-it
 
Magic xpa total mobility experience
Magic xpa  total mobility experienceMagic xpa  total mobility experience
Magic xpa total mobility experience
 
Mobile Development Platforms
Mobile Development PlatformsMobile Development Platforms
Mobile Development Platforms
 
Dissecting and DeFragmenting the Wild and Wacky Mobile App World
Dissecting and DeFragmenting the Wild and Wacky Mobile App WorldDissecting and DeFragmenting the Wild and Wacky Mobile App World
Dissecting and DeFragmenting the Wild and Wacky Mobile App World
 
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?
 
Cross platform development - Rhomobile
Cross platform development - RhomobileCross platform development - Rhomobile
Cross platform development - Rhomobile
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for Mobility
 
Top Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web DevelopmentTop Ten Tips for HTML5/Mobile Web Development
Top Ten Tips for HTML5/Mobile Web Development
 
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
 
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheRoad to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
 
Fragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionFragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fiction
 
Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5Develop an app for Windows 8 using HTML5
Develop an app for Windows 8 using HTML5
 
Best Mobile App Development Services in India
Best Mobile App Development Services in IndiaBest Mobile App Development Services in India
Best Mobile App Development Services in India
 
Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7Mobile Developer's Guide To The Galaxy Vol.7
Mobile Developer's Guide To The Galaxy Vol.7
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
 

Dernier

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Cross Platform Mobile Developmemnt

  • 1. Cross-Platform Mobile Development Write Once.. Run Everywhere.. Any device..
  • 2. Soutom Dhara Soutomd@mindfiresolutions.com Soutom.dhara @soutom Soutom.wordpress.com
  • 3. Cell phone usages is ubiquitous
  • 4. Growth of the mobile web 120 100 80 52% 60 "Desktop" 32% "Mobile" 40 12% 3% 20 0 2009-04 2009-12 2010-08 2011-04 2011-12 2012-08 2008-12 2009-08 2010-04 2010-12 2011-08 2012-04 Source : http://gs.statcounter.com/#mobile_vs_desktop-IN-monthly-200812-201208
  • 5. I want a Mobile App
  • 6. Growth of Top 5 mobile operating system 45 40 35 30 "SymbianOS" "iOS" 25 "Android" "BlackBerry OS" "Samsung" 20 15 10 5 0 2008-12 2009-04 2009-08 2009-12 2010-04 2010-08 2010-12 2011-04 2011-08 2011-12 2012-04 2012-06 http://gs.statcounter.com/#mobile_os-ww-monthly-200812-201206
  • 8. Mobile Platforms Operating 2011 Market 2015 Market System Share Share Android 38.9% 43.8% BlackBerry 14.2% 13.4% iOS 18.2% 16.9% WP7 / WM 3.8% 20.3% 2015 Other 24.9% 5.6% 2011 Total 100% 100% 2011 iOS Android 2015 BlackBerry WP Other
  • 9. The Native Experience IDE Emulator Store Consumer IDE Emulator Store Consumer IDE Simulator Store Consumer
  • 11. Native App Web Server Ruby/ java Native Http Request App External Web Service Files Images and Database other Device Backend 3rd Party Execute UI & some Execute central Application logic application logic
  • 12. Demo
  • 13. Native App : Advantages & disadvantages Production Learning Curve : Easy, Great Number of Tutorials + Libraries Tools : Great IDE with good debugging supports Monetization : Direct access to market place / app store Usage Scenario Data Driven App Rich Media User Experience Hardware : Direct Access to all Sensor / APIs User Interface Offline Capability : Available( SQL database / Flat File) Platform IOS Windows Phone 7.x Android Others... Cost for cross – platform : Vendor Lock-in, device specific optimization
  • 15. Multi-plarform Apps ● Is this only for rich guys ● Time to complete a app
  • 16. 5 Approaches ● Mobile Web ● Client Side Web ● Hybrid App ● Interpreted App ● Cross Compiling
  • 18. Server-Side Web Web Server Ruby/ java Web Http Request Browser External Web Service Files Images and other Database Device Backend 3rd Party Executes UI & some Executes UI & central Application logic Client side logic
  • 19. Frameworks / Toolkits Zurb Foundation http://foundation.zurb.com/ Twitter Bootstrap http://twitter.github.com/bootstrap/
  • 20. Demo
  • 21. Mobile Web : Advantages & disadvantages Production Learning Curve : Easy, Great Number of Tutorials + Libraries . Tools : Use any editor of your choice. Monetization : No App Store destribution. Usage Scenario Data Driven App Rich Media : Inferior Performance User Experience Hardware : Limited access of H/W features & APIs User Interface : Fancy UI possible, but platform specific style required Offline Capability : Available( SQL database / Flat File) Platform iOS Windows Phone 7.x (Mango) Android Others (Responsive Design) Cost for cross – platform : Low, plain HTML run on any type of browser
  • 23. Client-Side Web Web Browser Web Server JavaScript Ruby/ Http java Request External Web Service Files Images and Images and other other Database Files Images and other Database Device Backend 3rd Party Executes UI & some Only central Application logic Application logic
  • 25. Demo
  • 26. Client-Side Web : Advantages & disadvantages Production Learning Curve : Easy, Great Number of Tutorials + Libraries . Tools : Use any editor of your choice. Monetization : No App Store distribution Usage Scenario Data Driven App Rich Media : Inferior Performance User Experience Hardware : Limited access of H/W features & APIs User Interface : Mostly iOS like UI library Offline Capability : HTML 5, Otherwise Limited Platform iOS Windows Phone 7.x (Mango) Android Others (Responsive Design) Cost for cross – platform : Low, plain HTML run on any type of browser
  • 28. Hybrid Apps Native App Web Server Native Code Ruby/ http:// http:// java External Interpreter Web Service http:// Bridge Files JavaScript Images and other Database Device Backend 3rd Party Executes UI & some Only central Application logic Application logic
  • 30. Demo
  • 31. Hybrid Apps : Advantages & disadvantages Production Learning Curve : Easy, Great Number of Tutorials + Libraries . Tools : Use any editor of your choice / commercial tools. Monetization : App Store distribution Usage Scenario Data Driven App Rich Media : Inferior Performance User Experience Hardware : Access to most H/W features & many API available User Interface : Huge effort required to match native UI Offline Capability : Platform iOS Windows Phone 7.x (Mango) Android Others (Responsive Design) Cost for cross – platform
  • 33. Interpreted Apps Native App Native APIs http:// Web Server API API API API API API API API Ruby/ java Abstraction Layer Abstraction Layer http:// Interpreter Files Images and other Database Database Database Application Application Backend Script Script Files Files Device Executes UI & some Client side logic Only central Application logic
  • 35. Demo
  • 36. Interpreted Apps : Advantages & disadvantages Production Learning Curve : Specific API, Great Number of Tutorials + Libraries . Tools : IDEs, including debugger Monetization : App Store distribution Usage Scenario Data Driven App User Experience Hardware : Access to H/W & API available, wrapped with specific API User Interface : truly native widgets Offline Capability Platform IOS Windows Phone 7.x Android Others Cost for cross – platform
  • 37. Cross Compiling Image found at : http://www.flickr.com/photos/danholton/2853935782/sizes/m/in/photostream/
  • 38. Cross Compiling (Mono) Native UI MonoTouch(iOS) (iOS) App (iOS) iOS MonoDroid UI (Android) (Android) (Android) Native Mono compiler App UI (wp7) (wp7) Android Core .NET RT Native (WP7) (shared) (shared) App C# MSIL compiler WP7 Backend
  • 40. Cross Compiled Apps : Advantages & disadvantages Production Learning Curve : New tool chain (take getting used to) Tools : IDEs, but debugging in target environment. Monetization : App Store distribution Usage Scenario Data Driven App Rich Media : No partial supports User Experience Hardware : Access to H/W & API available, wrapped with specific API User Interface : Truly native widgets. Offline Capability : Platform iOS Windows Phone 7.x (Mango) Android Others (Responsive Design) Cost for cross – platform
  • 41. Production Native Web Client-Side Hybrid Interpreted Cross web Compiled Learning Curve Tools Monetization Usages Scenario Data-driven App Rich Media User Experience Hardware User Interface Offline capability Platforms iOS Android WP7 Others Cost for cross platform
  • 43.
  • 44. Advantages... Need to Know: Javascript , HTML, CSS, Ruby/ Python / PHP Supported OS for Mobile Apps Supported OS for Desktop Apps Native UI Open Source Full Access : camera, gps, local file system, phone book, more ….
  • 45. Your Application Your Application Optional Optional UI API Phone API UI API Phone API Module Module Javascript – Objective C Bridge Javascript – Java Bridge iPhone OS Android OS Native iPhone APP Native Android APP Your Application UI API Phone API Optional Desktop supports Module Ruby , php, Python Javascript – Ruby - Python Bridge to OS and Javascript Windows OS – Mac OS – Linux OS
  • 46. var root = Titanium.Filesystem.resourcesDirectory; var win = Titanium.UI.createWindow({ orientationModes : [Ti.UI.PORTRAIT], backgroundImage : root + 'images/background.png' }); var loginBtn = Ti.UI.createButton(); loginBtn.addEventListener('click',function() { var homeWin = require('../pages/home').getHomeWin; var homePage = new homeWin(); homePage.open(); win.close(); }); win.add(loginBtn);
  • 47. var xhr = Titanium.Network.createHTTPClient(); xhr.onerror = function(e) { // Do some thing to notify the user }; xhr.open("POST", "http://abcd.com/users/login"); xhr.setRequestHeader("content-type","application/json"); var param = { "user_name" : "soutom", "password" : "mindfire", }; xhr.send(JSON.stringify(param)); xhr.onload = function() { if (this.status == '200') { // Success Block }else{ // Error Block } };