SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Cross-Platform Mobile Development




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Peter Friese




         @peterfriese
          peter.friese@zuehlke.com
         xing.to/peter
         http://peterfriese.de


(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
cell phone usage is ubiquitous
cell phone usage is ubiquitous
Growth of the mobile web
15,0 %


13,5 %




                                                                                                > 8%
12,0 %


10,5 %


 9,0 %


 7,5 %                                            ~ 4%
           < 2%
 6,0 %


 4,5 %


 3,0 %


 1,5 %


  0 %
     2008-12   2009-03    2009-06   2009-09   2009-12   2010-03   2010-06   2010-09   2010-12   2011-03   2011-06   2011-09   2011-12   2012-03   2012-06


                         Source: http://gs.statcounter.com/#mobile_vs_desktop-ww-monthly-200812-201206



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
I want an App




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Mobile Platforms




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Mobile Platforms




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Mobile Platforms
                                                Others                                                        2011
                                                                                     Android
                                                                                                          46,9 %
                                                                                       iOS
                                                                                                          18,8 %
                                                                                 BlackBe
                                                                                         rr     y        11,5 %
                                                                                  Symbian
                                                                                                        16,9 %
                                                                                    WP7
                                                                                                       2,3 %
                                                                                 Others
                                                                                                      3,6 %




Source: IDC Worldwide Quarterly Mobile Phone Tracker, August 12, 2012. http://www.idc.com/getdoc.jsp?containerId=prUS23638712
Mobile Platforms
                                                Others                                                        2011
                                                                                                                          2012
                                                                                     Android
                                                                                                          46,9 %
                                                                                                                        68,1 %
                                                                                       iOS
                                                                                                          18,8 %
                                                                                 BlackBe                                16,9 %
                                                                                         rry
                                                                                                         11,5 %
                                                                                 Symbian                               4,8 %
                                                                                                        16,9 %
                                                                                                                      4,4 %
                                                                                    WP7
                                                                                                       2,3 %
                                                                                 Others                              3,5 %
                                                                                                      3,6 %
                                                                                                                     2,3 %
                                                                           2011
                                                                           2012



Source: IDC Worldwide Quarterly Mobile Phone Tracker, August 12, 2012. http://www.idc.com/getdoc.jsp?containerId=prUS23638712
The Native Experience
                           IDE                   Emulator          Store          Consumer




                           IDE                   Emulator          Store           Consumer




                           IDE                   Simulator         Store          Consumer




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
The Native Experience




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Native App
                                 Native App                                        only centr
                                                                                 application
                                                                                              al
                                                                                             logic




                                       //                 Web App
                                  ttp:                                            htt
                                 h                      (Java / PHP)                 p://


           Native App




                                                Files                                        Web
                                                Images
                                            Other Resources
                                                                  Database                  Service




                                            d
                        Device      U I an                             Backend                 3rd Party
                                tes
                          execu        ication
                                ) appl
                          (s ome
                                  logic
(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Demo
D evelo
             per’s            Native Apps
         rspe ctive
      pe
  Language(s)          Java (Android, BlackBerry)   Cost of          $$ Mac OS required (iOS)
                       Objective-C (iOS)            development      $$ License fees (all)
                       C# (WP7)
                                                    Learning curve ✔ Educational material
  Platforms            ✔ Android                                   ✔ Forums
                       ✔ iOS                                       ✔ Support
                       ✔ WP7
                       ✔ BlackBerry                 Development      ✔ IDEs
                                                    support          	      Eclipse
  Platform access      ✔ Camera                                      	      Xcode / AppCode
                       ✔ GPS                                         	      Visual Studio
                       ✔ Gyro                                        ✔ Debugging
                       ✔ address book
                       ✔ calendar
                       ✔ etc.                       Monetization     ✔ App stores




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
User’s                  Native Apps
     perspective



                      Performance          best you can get

                      Platforms            ✔ Android
                                           ✔ iOS
                                           ✔ WP7
                                           ✔ BlackBerry

                      Visibility           easily found on the app stores




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Recommendation
    Use native applications if...
    - you want to achieve native look and feel
    - you need top performance
    - you want to be on the app store(s)




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Later, in the office




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Multi-Platform Apps




 only for rich guys?
Have your cake
                                                         and eat it, too?




http://www.flickr.com/photos/jeff-anderson/4385042770/
6 Approaches

(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
The Web




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
The Web




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
The Mobile Web




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
abus ed as
       r
             a
         endere
               r
                dumb
                        Server-side Web         (as we know it)
                                                                                                 exe
                                                                                                    cu
                                                                                               UI tes
                                                                                       app         and
                                                                                           lic
                                                                                              atio
                                                                                                   nl
                                                                                                      ogi
                                                                                                          c



                                       :   //                   Web App
                                 h ttp                        (Java / PHP)             htt
                                                                                          p://


          Web Browser




                                                      Files                                         Web
                                                      Images
                                                  Other Resources
                                                                        Database                   Service




                        Device                                               Backend                   3rd Party



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Frameworks / Toolkits

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




                                                          Twitter Bootstrap
                                                          http://twitter.github.com/bootstrap/




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Demo
D evelo
               per’s                             Mobile Web
           rspe ctive
        pe
  Language(s)                        Java / Ruby (Backend)   Cost of         $0.0 use existing tools
                                     HTML* (Frontend)        development     $0.0 no license fees

                                                             Learning curve ✔ Educational material
  Platforms                          ✔ Android                              ✔ Forums
                                     ✔ iOS                                  ✔ Support
                                     ✔ WP7
                                     ✔ BlackBerry            Development     ✔ use editor of your choice
                                     ✔ even your old Nokia   support         ✔ Debugging:
  Platform access                    ✘ Camera                                	      Chrome DevTools
                                     ✔ GPS
                                     ✔ Gyro
                                     ✘ address book
                                     ✘ calendar
                                     ✘ etc.                  Monetization    ✘ App stores



  *) I know, HTML doesn’t count as a “real” language.



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
User’s                  Mobile Web
     perspective

                      Performance          - as fast as your browser is
                                           - you will experience network
                                            latency

                      Platforms            ✔ Android
                                           ✔ iOS
                                           ✔ WP7
                                           ✔ BlackBerry
                                           ✔ all phones with a browser

                      Visibility           ✘ not distributed via the app stores
                                           ✔ search engine!




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Recommendation
    Use the mobile web if...
    - you need a mobile landing page for your
      company
    - you need something that runs on almost
      every platform
                                        Don’t use it if you
                                           want to use
                                       smartphone sensors!




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Client-Side Web
                                                                Also know as
                                                                             HTML 5




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
execu tes UI
               and
         pplicatio
                   n
                            Client-side Web                                                only centr
                                                                                                      al
(some) a                                                                                 application
                                                                                                     logic
       logic


                   Web Browser

                                                             http://

                         App                                                         Web App
                     (JavaScript)                                                  (Java / PHP)




             Files                                                         Files
                               Database                                    Images
             Images
                                                                       Other Resources
                                                                                             Database
         Other Resources       (e.g. for caching)




                                                    Device                                        Backend


(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Frameworks / Toolkits

        zepto.js                   iUI.js




          joApp



                       Wink Toolkit
(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Demo
Demo
Dev eloper’s                     Client-Side Web
            tive
   per spec
  Language(s)                  Java / Ruby (Backend)                           Cost of             $0.0 use existing tools
                               HTML* (Frontend)                                development         $0.0 no license fees
                               JavaScript (Front- /Backend)
                                                                               Learning curve ✔ Educational material
  Platforms                    ✔ Android                                                      ✔ Forums
                               ✔ iOS                                                          ✔ Support
                               ✔ WP7
                               ✔ BlackBerry                                    Development         ✔ use editor of your choice
                                                                               support             ✔ Debugging:
  Platform access              ✘ Camera                                                            	      Chrome DevTools
                               ✔ GPS
                               ✔ Gyro **
                               ✘ address book
                               ✘ calendar
                               ✘ etc.                                          Monetization        ✘ App stores



  *) I know, HTML doesn’t count as a “real” language.
  **) See http://www.peterfriese.de/how-to-use-the-gyroscope-of-your-iphone-in-a-mobile-web-app/



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
User’s          Client-Side Web
      perspective

  Performance          - as fast as your browser is
                       - you will experience network latency    Someti
                                                                         mes, ap
  Platforms            ✔ Android                               Android            ps on
                                                                         or Blac
                       ✔ iOS
                                                               will loo           kBerry
                       ✔ WP7                                            k like a
                       ✔ BlackBerry
                                                                                 pps on
                                                                    the iPh
                       ✔ all phones with a browser                           one.

  Visibility           ✘ not distributed via the app stores
                       ✔ search engine!




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Recommendation
    Use the client-side web if...
    - you want to prototype a service
    - need something that looks like an app,
      but care less for the sensors of your
      phone
                                     In the future, this will
                                     probably be a viable way
                                       to build full-blown
                                                  apps



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Hybrid Apps




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Hybrid App                                       only centr
                                                                                   application
                                                                                                al
                                                                                               logic

                 Native App
                                                 http://

                                                                               Web App
                 Library (native)                                            (Java / PHP)


                           Native Code
        Bridge




                                                         p ://
                                                      t
                                                    ht



                 App (JavaScript)                                    Files
                                                                     Images
                                                                 Other Resources
                                                                                       Database
                              Interpreter



                                        Device                                              Backend

                                             me)
                       executes UI and (so
                           application logic
(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Hybrid App




                                                       Adobe Flash Builder




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Demo
Demo
Request Interception
Dev eloper’s                              Hybrid Apps
            tive
   per spec
  Language(s)                  Java / Ruby (Backend)                           Cost of             $0.0 use existing tools
                               HTML* (Frontend)                                development         $0.0 no license fees
                               JavaScript (Front- /Backend)
                                                                               Learning curve ✔ Educational material
  Platforms                    ✔ Android                                                      ✔ Forums
                               ✔ iOS                                                          ✔ Support
                               ✔ WP7
                               ✔ BlackBerry                                    Development         ✔ use editor of your choice
                                                                               support             ✔ support in some IDEs
  Platform access              ✔ Camera                                                            ✔ Debugging:
                               ✔ GPS                                                               	      Chrome DevTools
                               ✔ Gyro **
                               ✔ address book
                               ✔ calendar
                               ✔ etc.                                          Monetization        ✔ App stores



  *) I know, HTML doesn’t count as a “real” language.
  **) See http://www.peterfriese.de/how-to-use-the-gyroscope-of-your-iphone-in-a-mobile-web-app/



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
User’s                 Hybrid Apps
     perspective

                      Performance          - as fast as your browser is
                                           - you will experience network latency
                      Platforms            ✔ Android
                                           ✔ iOS
                                           ✔ WP7
                                           ✔ BlackBerry
                                           ✔ Symbian
                                           ✔ Bada
                      Visibility           ✔ distributed via the app stores
                                           ✘ search engine: no!




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Recommendation
    Use a hybrid approach if...
    - you want to build your app based on
      HTML 5
    - and need access to the phone’s
      hardware

                                                 PhoneGap’s goal is
                                                   to make itself
                                                   superfluous.



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Interpreted Apps




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Interpreted Apps                               only centr
                                                                                                al
                                                                                   application
                                                                                               logic


                   Native App
                                                  http:/
                                                           /

           API     API       API          API                                  Web App
                                                                             (Java / PHP)

                                   Native APIs
         Abstraction Layer                                 ://
                                                      t  p
                                                    ht


                      App Script                                     Files
                      (JavaScript, Lua)                              Images
                                                                 Other Resources
                                                                                       Database
                                    Interpreter

                                    d
                            U I an
                        tes
                 e xecu        ication Device                                               Backend
                          appl
                 (so me)
                          logic
(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Frameworks / Toolkits




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Demo
Dev eloper’s         Interpreted Apps
            tive
   per spec
  Language(s)        JavaScript                     Cost of          $0.0 tools free of charge
                                                    development      > $0.0 license fees to
                                                                     some extend

  Platforms          ✔ Android                      Learning curve ✔ Educational material
                     ✔ iOS                                         ✔ Forums
                     ✘ WP7                                         ✔ Support
                     ✔ BlackBerry
                                                    Development      ✔ IDEs
  Platform access    ✔ Camera                       support          ✔ Integrated Debugging
                     ✔ GPS
                     ✔ Gyro **
                     ✔ address book
                     ✔ calendar
                     ✔ etc.                         Monetization     ✔ App stores




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
User’s            Interpreted Apps
   perspective

                      Performance          - almost native experience

                      Platforms            ✔ Android
                                           ✔ iOS
                                           ✘ WP7
                                           ✔ BlackBerry


                      Visibility           ✔ distributed via the app stores
                                           ✘ search engine: no!




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Recommendation
    Use interpreted apps if...
    - you want to use “one language to build
      them all”
    - need access to the phone’s hardware
    - need semi-native look’n’feel / performance




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Cross Compiling




 Image found at http://mjmobbs.com/?p=262



(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Code Generator

                                                 Native
                                                  App                               Files




                                                                http
                                                                                  Images
                                                                              Other Resources




                                                                    ://
                                                      iOS
                             Cartridge
                                (iOS)


                                                             http://
                    Engine




                             Cartridge           Native                        Web App
     Model
    Describes App             (Android)           App                        (Java / PHP)


                             Cartridge            Android




                                                             //
                               (WP7)




                                                            http:
                                Generator
                                                 Native
                                                                                  Database
                                                  App

                                                                                            Backend
                                                     WP7

(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Cross-Compiler (Mono)

                                                           Native
                                                            App




                                                                             http
                                                                                ://
           UI                   MonoTouch(iOS)
          (iOS)                                                 iOS

           UI                    MonoDroid
        (Android)                   (Android)                         http
                                                          Native          ://
                                                           App
           UI                       Mono Compiler
          (WP7)

                                                            Android
        Core                       .NET RT
                                     (WP7)




                                                                           /
         (Shared)




                                                                       p:/
                                                                      htt
                    C#              MSIL Compiler          Native
                                                            App
                                                                                      Backend
                                                               WP7


(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Frameworks / Tools




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Demo
Dev eloper’s         Cross-Compiled
            tive
   per spec
  Language(s)        .NET / C#                      Cost of          $$ need to buy dev tools
                                                    development


  Platforms          ✔ Android                      Learning curve ✔ Educational material
                     ✔ iOS                                         ✔ Forums
                     ✔ WP7                                         ✔ Support
                     ✘ BlackBerry
                                                    Development      ✔ IDEs
  Platform access    ✔ Camera                       support          ✔ Integrated Debugging
                     ✔ GPS
                     ✔ Gyro **
                     ✔ address book
                     ✔ calendar
                     ✔ etc.                         Monetization     ✔ App stores




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
User’s            Cross-Compiled
   perspective

                      Performance          - native experience
                                           - native look’n’feel
                      Platforms            ✔ Android
                                           ✔ iOS
                                           ✔ WP7
                                           ✘ BlackBerry


                      Visibility           ✔ distributed via the app stores
                                           ✘ search engine: no!




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Recommendation
    Use cross-compiled apps if...
    - you want to use “one language to build
      them all”
    - need access to the phone’s hardware
    - need truly native look’n’feel / performance




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Summary
                                                                                                                                                                                                                                                                  Native App
                                                                                                                                                                                                                                                                                                              http:/
                                                                                                                                                                                                                                                                                                                       /


                                        /                     Web App                                                                                    /                  Web App                                                                        API    API            API          API                                                     Web App
                                  p:/                                                                                                                p:/
                               htt                          (Java / PHP)                     htt
                                                                                                p://                                           htt                        (Java / PHP)                           htt
                                                                                                                                                                                                                    p://                                                                                                                            (Java / PHP)

                                                                                                                                                                                                                                                                                          Native APIs
    Native App                                                                                                          Web Browser
                                                                                                                                                                                                                                                      Abstraction Layer                                                ://
                                                                                                                                                                                                                                                                                                                  tp
                                                                                                                                                                                                                                                                                                                ht


                                                    Files                                                                                                         Files                                                                                                   App Script                                                        Files
                                                    Images
                                                                                                         Web                                                      Images
                                                                                                                                                                                                                             Web                                          (JavaScript, Lua)
                                                Other Resources
                                                                      Database                          Service                                               Other Resources
                                                                                                                                                                                            Database                        Service
                                                                                                                                                                                                                                                                                                                                          Images
                                                                                                                                                                                                                                                                                                                                                              Database
                                                                                                                                                                                                                                                                                                                                      Other Resources
                                                                                                                                                                                                                                                                                          Interpreter



                     Device                                                Backend                         3rd Party                  Device                                                    Backend                        3rd Party                                                            Device                                                             Backend




             Web Browser                                                                                                        Native App                                                                                                                                                                   Native
                                                                                                                                                                                                                                                                                                              App                                              Files




                                                                                                                                                                                                                                                                                                                                  http
                                                                                                                                                                          http://                                                                                                                                                                              Images
                                                            http://                                                                                                                                                                                                                                                                                        Other Resources




                                                                                                                                                                                                                                                                                                                                      ://
                   App                                                                   Web App                                                                                                             Web App                                                                                                 iOS
                                                                                       (Java / PHP)                                                                                                        (Java / PHP)                                                      Cartridge
               (JavaScript)                                                                                                     Library (native)                                                                                                                                  (iOS)


                                                                                                                                                                                                                                                                                                                              http://




                                                                                                                                                                                                                                                                 Engine
                                                                                                                                                                                                                                                                             Cartridge                       Native                                          Web App
                                                                                                                                           Native Code                                                                                      Model
                                                                                                                       Bridge




                                                                                                                                                                                       //                                                                                                                     App
                                                                                                                                                                                    p:                                                                                                                                                                     (Java / PHP)
                                                                                                                                                                                                                                           Describes App                        (Android)
                                                                                                                                                                                htt

                                                                                                                                                                                                                                                                             Cartridge                        Android




                                                                                                                                                                                                                                                                                                                               /
                                                                                                                                                                                                                                                                                 (WP7)
                                                                               Files                                                                                                               Files




                                                                                                                                                                                                                                                                                                                             http:/
       Files                                                                                                                    App (JavaScript)
                          Database                                             Images                                                                                                              Images
       Images
                                                                           Other Resources
                                                                                                       Database                                                                                Other Resources
                                                                                                                                                                                                                           Database
   Other Resources        (e.g. for caching)                                                                                                                                                                                                                                      Generator
                                                                                                                                               Interpreter
                                                                                                                                                                                                                                                                                                             Native
                                                                                                                                                                                                                                                                                                                                                            Database
                                                                                                                                                                                                                                                                                                              App

                                               Device                                                      Backend                                           Device                                                            Backend                                                                                                                                 Backend
                                                                                                                                                                                                                                                                                                                 WP7




(c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
Summary
                                      Client-                           Cross
Language(s)             Native   Web Side Web   Hybrid   Interpreted   Compiled
   various                ✔
   Java / Ruby / HTML             ✔
   JavaScript / HTML                    ✔         ✔          ✔
   C#                                                                     ✔
Platforms
   Android                ✔       ✔     ✔         ✔          ✔            ✔
   iOS                    ✔       ✔     ✔         ✔          ✔            ✔
   WP7                    ✔       ✔     ✔         ✔          ✘            ✔
   BlackBerry             ✔       ✔     ✔         ✔          ✔            ✘
Platform access           ✔       ✘     ✘         ✔          ✔            ✔
Cost of development      $$$      $     $$       $$          $$          $$
Development support      ++       +     +         +          ++          ++
Monetization             ++       -      -       ++          ++          ++
Zühlke. Empowering Ideas.




Want to learn more? Get in touch - I’m available for consulting:
@peterfriese
peter.friese@zuehlke.com
http://www.zuehlke.com
Zühlke. Empowering Ideas.




                                                  http://slidesha.re/xS4QGb




Want to learn more? Get in touch - I’m available for consulting:
@peterfriese
peter.friese@zuehlke.com
http://www.zuehlke.com

Weitere ähnliche Inhalte

Was ist angesagt?

Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!July Systems
 
Quiz app android ppt
Quiz app android pptQuiz app android ppt
Quiz app android pptAditya Nag
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web AppIdo Green
 
Google flutter the easy and practical way
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical wayAhmed Abu Eldahab
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeSambhu Lakshmanan
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJSHoang Long
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application DevelopmentTharindu Dassanayake
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentBenny Skogberg
 
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Sandip Nirmal
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & DevelopmentRonnie Liew
 

Was ist angesagt? (20)

Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!
 
Progressive Web-App (PWA)
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)
 
Quiz app android ppt
Quiz app android pptQuiz app android ppt
Quiz app android ppt
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
 
Google flutter the easy and practical way
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical way
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx
 
Android studio ppt
Android studio pptAndroid studio ppt
Android studio ppt
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
Progressive web app
Progressive web appProgressive web app
Progressive web app
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)
 
REST API
REST APIREST API
REST API
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & Development
 

Ähnlich wie Cross platform mobile development

Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMarcel de Vries
 
Australian broadcasting summit 2011
Australian broadcasting summit 2011Australian broadcasting summit 2011
Australian broadcasting summit 2011Lauren Oldham
 
Convergence: From Desktop to Web to Mobile
Convergence: From Desktop to Web to MobileConvergence: From Desktop to Web to Mobile
Convergence: From Desktop to Web to Mobileaccount inactive
 
Apple brazil app proliferation 9.4
Apple brazil app proliferation 9.4Apple brazil app proliferation 9.4
Apple brazil app proliferation 9.4Sergio Percope
 
Domain7: Mobile Web Market Analysis
Domain7: Mobile Web Market AnalysisDomain7: Mobile Web Market Analysis
Domain7: Mobile Web Market AnalysisRyan Hanawalt
 
20121018 appconference dot_org_mobile_industry_trends_nielsen
20121018 appconference dot_org_mobile_industry_trends_nielsen20121018 appconference dot_org_mobile_industry_trends_nielsen
20121018 appconference dot_org_mobile_industry_trends_nielsenDon Kellogg
 
Social Infrastructure and Technology in India
Social Infrastructure and Technology in IndiaSocial Infrastructure and Technology in India
Social Infrastructure and Technology in IndiaZinnovLLC
 
Mobile applications, apps and appiness
Mobile applications, apps and appinessMobile applications, apps and appiness
Mobile applications, apps and appinessArts Council England
 
Executive aviation embraer day 2007
Executive aviation embraer day 2007Executive aviation embraer day 2007
Executive aviation embraer day 2007Embraer RI
 
2007* Executive Aviation Embraer Day 2007
2007* Executive Aviation Embraer Day 20072007* Executive Aviation Embraer Day 2007
2007* Executive Aviation Embraer Day 2007Embraer RI
 
Mobile Marketing Conference - Business Design Centre 1 Oct
Mobile Marketing Conference - Business Design Centre 1 OctMobile Marketing Conference - Business Design Centre 1 Oct
Mobile Marketing Conference - Business Design Centre 1 OctCraig Sullivan
 
Umeng Data Insight Report 2012 Q2
Umeng Data Insight Report 2012 Q2Umeng Data Insight Report 2012 Q2
Umeng Data Insight Report 2012 Q2Umeng
 
Mobile internet. Consumption trends and measurement possibilities .
Mobile internet. Consumption trends and measurement possibilities.Mobile internet. Consumption trends and measurement possibilities.
Mobile internet. Consumption trends and measurement possibilities .Gemius Baltics
 
O'Shaughnessy's Four Value Factors
O'Shaughnessy's Four Value FactorsO'Shaughnessy's Four Value Factors
O'Shaughnessy's Four Value FactorsJustin Case
 
Us mobile search e frontier
Us mobile search e frontierUs mobile search e frontier
Us mobile search e frontierMarketingfacts
 
Be like the internet
Be like the internetBe like the internet
Be like the internetNeil Cooper
 
Woe zaal b 14.00 14.15 gfk
Woe zaal b 14.00 14.15 gfkWoe zaal b 14.00 14.15 gfk
Woe zaal b 14.00 14.15 gfkwebwinkelvakdag
 
Bazaarvoice Conversation Index Volume 2
Bazaarvoice Conversation Index Volume 2Bazaarvoice Conversation Index Volume 2
Bazaarvoice Conversation Index Volume 2Erin Mulligan Nelson
 

Ähnlich wie Cross platform mobile development (20)

Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteem
 
Australian broadcasting summit 2011
Australian broadcasting summit 2011Australian broadcasting summit 2011
Australian broadcasting summit 2011
 
Convergence: From Desktop to Web to Mobile
Convergence: From Desktop to Web to MobileConvergence: From Desktop to Web to Mobile
Convergence: From Desktop to Web to Mobile
 
Apple brazil app proliferation 9.4
Apple brazil app proliferation 9.4Apple brazil app proliferation 9.4
Apple brazil app proliferation 9.4
 
Domain7: Mobile Web Market Analysis
Domain7: Mobile Web Market AnalysisDomain7: Mobile Web Market Analysis
Domain7: Mobile Web Market Analysis
 
20121018 appconference dot_org_mobile_industry_trends_nielsen
20121018 appconference dot_org_mobile_industry_trends_nielsen20121018 appconference dot_org_mobile_industry_trends_nielsen
20121018 appconference dot_org_mobile_industry_trends_nielsen
 
Social Infrastructure and Technology in India
Social Infrastructure and Technology in IndiaSocial Infrastructure and Technology in India
Social Infrastructure and Technology in India
 
Cisco mts
Cisco mtsCisco mts
Cisco mts
 
Mobile applications, apps and appiness
Mobile applications, apps and appinessMobile applications, apps and appiness
Mobile applications, apps and appiness
 
Investor Day 2012: PLM
Investor Day 2012: PLMInvestor Day 2012: PLM
Investor Day 2012: PLM
 
Executive aviation embraer day 2007
Executive aviation embraer day 2007Executive aviation embraer day 2007
Executive aviation embraer day 2007
 
2007* Executive Aviation Embraer Day 2007
2007* Executive Aviation Embraer Day 20072007* Executive Aviation Embraer Day 2007
2007* Executive Aviation Embraer Day 2007
 
Mobile Marketing Conference - Business Design Centre 1 Oct
Mobile Marketing Conference - Business Design Centre 1 OctMobile Marketing Conference - Business Design Centre 1 Oct
Mobile Marketing Conference - Business Design Centre 1 Oct
 
Umeng Data Insight Report 2012 Q2
Umeng Data Insight Report 2012 Q2Umeng Data Insight Report 2012 Q2
Umeng Data Insight Report 2012 Q2
 
Mobile internet. Consumption trends and measurement possibilities .
Mobile internet. Consumption trends and measurement possibilities.Mobile internet. Consumption trends and measurement possibilities.
Mobile internet. Consumption trends and measurement possibilities .
 
O'Shaughnessy's Four Value Factors
O'Shaughnessy's Four Value FactorsO'Shaughnessy's Four Value Factors
O'Shaughnessy's Four Value Factors
 
Us mobile search e frontier
Us mobile search e frontierUs mobile search e frontier
Us mobile search e frontier
 
Be like the internet
Be like the internetBe like the internet
Be like the internet
 
Woe zaal b 14.00 14.15 gfk
Woe zaal b 14.00 14.15 gfkWoe zaal b 14.00 14.15 gfk
Woe zaal b 14.00 14.15 gfk
 
Bazaarvoice Conversation Index Volume 2
Bazaarvoice Conversation Index Volume 2Bazaarvoice Conversation Index Volume 2
Bazaarvoice Conversation Index Volume 2
 

Mehr von Peter Friese

Building Reusable SwiftUI Components
Building Reusable SwiftUI ComponentsBuilding Reusable SwiftUI Components
Building Reusable SwiftUI ComponentsPeter Friese
 
Firebase & SwiftUI Workshop
Firebase & SwiftUI WorkshopFirebase & SwiftUI Workshop
Firebase & SwiftUI WorkshopPeter Friese
 
Building Reusable SwiftUI Components
Building Reusable SwiftUI ComponentsBuilding Reusable SwiftUI Components
Building Reusable SwiftUI ComponentsPeter Friese
 
Firebase for Apple Developers - SwiftHeroes
Firebase for Apple Developers - SwiftHeroesFirebase for Apple Developers - SwiftHeroes
Firebase for Apple Developers - SwiftHeroesPeter Friese
 
 +  = ❤️ (Firebase for Apple Developers) at Swift Leeds
 +  = ❤️ (Firebase for Apple Developers) at Swift Leeds +  = ❤️ (Firebase for Apple Developers) at Swift Leeds
 +  = ❤️ (Firebase for Apple Developers) at Swift LeedsPeter Friese
 
async/await in Swift
async/await in Swiftasync/await in Swift
async/await in SwiftPeter Friese
 
Firebase for Apple Developers
Firebase for Apple DevelopersFirebase for Apple Developers
Firebase for Apple DevelopersPeter Friese
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebasePeter Friese
 
Rapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and FirebaseRapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and FirebasePeter Friese
 
Rapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and FirebaseRapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and FirebasePeter Friese
 
6 Things You Didn't Know About Firebase Auth
6 Things You Didn't Know About Firebase Auth6 Things You Didn't Know About Firebase Auth
6 Things You Didn't Know About Firebase AuthPeter Friese
 
Five Things You Didn't Know About Firebase Auth
Five Things You Didn't Know About Firebase AuthFive Things You Didn't Know About Firebase Auth
Five Things You Didn't Know About Firebase AuthPeter Friese
 
Building High-Quality Apps for Google Assistant
Building High-Quality Apps for Google AssistantBuilding High-Quality Apps for Google Assistant
Building High-Quality Apps for Google AssistantPeter Friese
 
Building Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on Google Building Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on Google Peter Friese
 
Building Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on GoogleBuilding Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on GooglePeter Friese
 
What's new in Android Wear 2.0
What's new in Android Wear 2.0What's new in Android Wear 2.0
What's new in Android Wear 2.0Peter Friese
 
Google Fit, Android Wear & Xamarin
Google Fit, Android Wear & XamarinGoogle Fit, Android Wear & Xamarin
Google Fit, Android Wear & XamarinPeter Friese
 
Introduction to Android Wear
Introduction to Android WearIntroduction to Android Wear
Introduction to Android WearPeter Friese
 
Google Play Services Rock
Google Play Services RockGoogle Play Services Rock
Google Play Services RockPeter Friese
 
Introduction to Android Wear
Introduction to Android WearIntroduction to Android Wear
Introduction to Android WearPeter Friese
 

Mehr von Peter Friese (20)

Building Reusable SwiftUI Components
Building Reusable SwiftUI ComponentsBuilding Reusable SwiftUI Components
Building Reusable SwiftUI Components
 
Firebase & SwiftUI Workshop
Firebase & SwiftUI WorkshopFirebase & SwiftUI Workshop
Firebase & SwiftUI Workshop
 
Building Reusable SwiftUI Components
Building Reusable SwiftUI ComponentsBuilding Reusable SwiftUI Components
Building Reusable SwiftUI Components
 
Firebase for Apple Developers - SwiftHeroes
Firebase for Apple Developers - SwiftHeroesFirebase for Apple Developers - SwiftHeroes
Firebase for Apple Developers - SwiftHeroes
 
 +  = ❤️ (Firebase for Apple Developers) at Swift Leeds
 +  = ❤️ (Firebase for Apple Developers) at Swift Leeds +  = ❤️ (Firebase for Apple Developers) at Swift Leeds
 +  = ❤️ (Firebase for Apple Developers) at Swift Leeds
 
async/await in Swift
async/await in Swiftasync/await in Swift
async/await in Swift
 
Firebase for Apple Developers
Firebase for Apple DevelopersFirebase for Apple Developers
Firebase for Apple Developers
 
Building Apps with SwiftUI and Firebase
Building Apps with SwiftUI and FirebaseBuilding Apps with SwiftUI and Firebase
Building Apps with SwiftUI and Firebase
 
Rapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and FirebaseRapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and Firebase
 
Rapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and FirebaseRapid Application Development with SwiftUI and Firebase
Rapid Application Development with SwiftUI and Firebase
 
6 Things You Didn't Know About Firebase Auth
6 Things You Didn't Know About Firebase Auth6 Things You Didn't Know About Firebase Auth
6 Things You Didn't Know About Firebase Auth
 
Five Things You Didn't Know About Firebase Auth
Five Things You Didn't Know About Firebase AuthFive Things You Didn't Know About Firebase Auth
Five Things You Didn't Know About Firebase Auth
 
Building High-Quality Apps for Google Assistant
Building High-Quality Apps for Google AssistantBuilding High-Quality Apps for Google Assistant
Building High-Quality Apps for Google Assistant
 
Building Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on Google Building Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on Google
 
Building Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on GoogleBuilding Conversational Experiences with Actions on Google
Building Conversational Experiences with Actions on Google
 
What's new in Android Wear 2.0
What's new in Android Wear 2.0What's new in Android Wear 2.0
What's new in Android Wear 2.0
 
Google Fit, Android Wear & Xamarin
Google Fit, Android Wear & XamarinGoogle Fit, Android Wear & Xamarin
Google Fit, Android Wear & Xamarin
 
Introduction to Android Wear
Introduction to Android WearIntroduction to Android Wear
Introduction to Android Wear
 
Google Play Services Rock
Google Play Services RockGoogle Play Services Rock
Google Play Services Rock
 
Introduction to Android Wear
Introduction to Android WearIntroduction to Android Wear
Introduction to Android Wear
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Cross platform mobile development

  • 1. Cross-Platform Mobile Development (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 2. Peter Friese @peterfriese peter.friese@zuehlke.com xing.to/peter http://peterfriese.de (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 3. cell phone usage is ubiquitous
  • 4. cell phone usage is ubiquitous
  • 5. Growth of the mobile web 15,0 % 13,5 % > 8% 12,0 % 10,5 % 9,0 % 7,5 % ~ 4% < 2% 6,0 % 4,5 % 3,0 % 1,5 % 0 % 2008-12 2009-03 2009-06 2009-09 2009-12 2010-03 2010-06 2010-09 2010-12 2011-03 2011-06 2011-09 2011-12 2012-03 2012-06 Source: http://gs.statcounter.com/#mobile_vs_desktop-ww-monthly-200812-201206 (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 6. I want an App (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 7. Mobile Platforms (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 8. Mobile Platforms (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 9. Mobile Platforms Others 2011 Android 46,9 % iOS 18,8 % BlackBe rr y 11,5 % Symbian 16,9 % WP7 2,3 % Others 3,6 % Source: IDC Worldwide Quarterly Mobile Phone Tracker, August 12, 2012. http://www.idc.com/getdoc.jsp?containerId=prUS23638712
  • 10. Mobile Platforms Others 2011 2012 Android 46,9 % 68,1 % iOS 18,8 % BlackBe 16,9 % rry 11,5 % Symbian 4,8 % 16,9 % 4,4 % WP7 2,3 % Others 3,5 % 3,6 % 2,3 % 2011 2012 Source: IDC Worldwide Quarterly Mobile Phone Tracker, August 12, 2012. http://www.idc.com/getdoc.jsp?containerId=prUS23638712
  • 11. The Native Experience IDE Emulator Store Consumer IDE Emulator Store Consumer IDE Simulator Store Consumer (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 12. The Native Experience (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 13. Native App Native App only centr application al logic // Web App ttp: htt h (Java / PHP) p:// Native App Files Web Images Other Resources Database Service d Device U I an Backend 3rd Party tes execu ication ) appl (s ome logic (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 14. Demo
  • 15. D evelo per’s Native Apps rspe ctive pe Language(s) Java (Android, BlackBerry) Cost of $$ Mac OS required (iOS) Objective-C (iOS) development $$ License fees (all) C# (WP7) Learning curve ✔ Educational material Platforms ✔ Android ✔ Forums ✔ iOS ✔ Support ✔ WP7 ✔ BlackBerry Development ✔ IDEs support Eclipse Platform access ✔ Camera Xcode / AppCode ✔ GPS Visual Studio ✔ Gyro ✔ Debugging ✔ address book ✔ calendar ✔ etc. Monetization ✔ App stores (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 16. User’s Native Apps perspective Performance best you can get Platforms ✔ Android ✔ iOS ✔ WP7 ✔ BlackBerry Visibility easily found on the app stores (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 17. Recommendation Use native applications if... - you want to achieve native look and feel - you need top performance - you want to be on the app store(s) (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 18. Later, in the office (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 19. Multi-Platform Apps only for rich guys?
  • 20. Have your cake and eat it, too? http://www.flickr.com/photos/jeff-anderson/4385042770/
  • 21. 6 Approaches (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 22. The Web (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 23. The Web (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 24. The Mobile Web (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 25. abus ed as r a endere r dumb Server-side Web (as we know it) exe cu UI tes app and lic atio nl ogi c : // Web App h ttp (Java / PHP) htt p:// Web Browser Files Web Images Other Resources Database Service Device Backend 3rd Party (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 26. Frameworks / Toolkits 320 zurb Foundation http://foundation.zurb.com/ Twitter Bootstrap http://twitter.github.com/bootstrap/ (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 27. Demo
  • 28. D evelo per’s Mobile Web rspe ctive pe Language(s) Java / Ruby (Backend) Cost of $0.0 use existing tools HTML* (Frontend) development $0.0 no license fees Learning curve ✔ Educational material Platforms ✔ Android ✔ Forums ✔ iOS ✔ Support ✔ WP7 ✔ BlackBerry Development ✔ use editor of your choice ✔ even your old Nokia support ✔ Debugging: Platform access ✘ Camera Chrome DevTools ✔ GPS ✔ Gyro ✘ address book ✘ calendar ✘ etc. Monetization ✘ App stores *) I know, HTML doesn’t count as a “real” language. (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 29. User’s Mobile Web perspective Performance - as fast as your browser is - you will experience network latency Platforms ✔ Android ✔ iOS ✔ WP7 ✔ BlackBerry ✔ all phones with a browser Visibility ✘ not distributed via the app stores ✔ search engine! (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 30. Recommendation Use the mobile web if... - you need a mobile landing page for your company - you need something that runs on almost every platform Don’t use it if you want to use smartphone sensors! (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 31. Client-Side Web Also know as HTML 5 (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 32. execu tes UI and pplicatio n Client-side Web only centr al (some) a application logic logic Web Browser http:// App Web App (JavaScript) (Java / PHP) Files Files Database Images Images Other Resources Database Other Resources (e.g. for caching) Device Backend (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 33. Frameworks / Toolkits zepto.js iUI.js joApp Wink Toolkit (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 34. Demo
  • 35. Demo
  • 36. Dev eloper’s Client-Side Web tive per spec Language(s) Java / Ruby (Backend) Cost of $0.0 use existing tools HTML* (Frontend) development $0.0 no license fees JavaScript (Front- /Backend) Learning curve ✔ Educational material Platforms ✔ Android ✔ Forums ✔ iOS ✔ Support ✔ WP7 ✔ BlackBerry Development ✔ use editor of your choice support ✔ Debugging: Platform access ✘ Camera Chrome DevTools ✔ GPS ✔ Gyro ** ✘ address book ✘ calendar ✘ etc. Monetization ✘ App stores *) I know, HTML doesn’t count as a “real” language. **) See http://www.peterfriese.de/how-to-use-the-gyroscope-of-your-iphone-in-a-mobile-web-app/ (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 37. User’s Client-Side Web perspective Performance - as fast as your browser is - you will experience network latency Someti mes, ap Platforms ✔ Android Android ps on or Blac ✔ iOS will loo kBerry ✔ WP7 k like a ✔ BlackBerry pps on the iPh ✔ all phones with a browser one. Visibility ✘ not distributed via the app stores ✔ search engine! (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 38. Recommendation Use the client-side web if... - you want to prototype a service - need something that looks like an app, but care less for the sensors of your phone In the future, this will probably be a viable way to build full-blown apps (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 39. Hybrid Apps (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 40. Hybrid App only centr application al logic Native App http:// Web App Library (native) (Java / PHP) Native Code Bridge p :// t ht App (JavaScript) Files Images Other Resources Database Interpreter Device Backend me) executes UI and (so application logic (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 41. Hybrid App Adobe Flash Builder (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 42. Demo
  • 44. Dev eloper’s Hybrid Apps tive per spec Language(s) Java / Ruby (Backend) Cost of $0.0 use existing tools HTML* (Frontend) development $0.0 no license fees JavaScript (Front- /Backend) Learning curve ✔ Educational material Platforms ✔ Android ✔ Forums ✔ iOS ✔ Support ✔ WP7 ✔ BlackBerry Development ✔ use editor of your choice support ✔ support in some IDEs Platform access ✔ Camera ✔ Debugging: ✔ GPS Chrome DevTools ✔ Gyro ** ✔ address book ✔ calendar ✔ etc. Monetization ✔ App stores *) I know, HTML doesn’t count as a “real” language. **) See http://www.peterfriese.de/how-to-use-the-gyroscope-of-your-iphone-in-a-mobile-web-app/ (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 45. User’s Hybrid Apps perspective Performance - as fast as your browser is - you will experience network latency Platforms ✔ Android ✔ iOS ✔ WP7 ✔ BlackBerry ✔ Symbian ✔ Bada Visibility ✔ distributed via the app stores ✘ search engine: no! (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 46. Recommendation Use a hybrid approach if... - you want to build your app based on HTML 5 - and need access to the phone’s hardware PhoneGap’s goal is to make itself superfluous. (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 47. Interpreted Apps (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 48. Interpreted Apps only centr al application logic Native App http:/ / API API API API Web App (Java / PHP) Native APIs Abstraction Layer :// t p ht App Script Files (JavaScript, Lua) Images Other Resources Database Interpreter d U I an tes e xecu ication Device Backend appl (so me) logic (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 49. Frameworks / Toolkits (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 50. Demo
  • 51. Dev eloper’s Interpreted Apps tive per spec Language(s) JavaScript Cost of $0.0 tools free of charge development > $0.0 license fees to some extend Platforms ✔ Android Learning curve ✔ Educational material ✔ iOS ✔ Forums ✘ WP7 ✔ Support ✔ BlackBerry Development ✔ IDEs Platform access ✔ Camera support ✔ Integrated Debugging ✔ GPS ✔ Gyro ** ✔ address book ✔ calendar ✔ etc. Monetization ✔ App stores (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 52. User’s Interpreted Apps perspective Performance - almost native experience Platforms ✔ Android ✔ iOS ✘ WP7 ✔ BlackBerry Visibility ✔ distributed via the app stores ✘ search engine: no! (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 53. Recommendation Use interpreted apps if... - you want to use “one language to build them all” - need access to the phone’s hardware - need semi-native look’n’feel / performance (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 54. Cross Compiling Image found at http://mjmobbs.com/?p=262 (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 55. Code Generator Native App Files http Images Other Resources :// iOS Cartridge (iOS) http:// Engine Cartridge Native Web App Model Describes App (Android) App (Java / PHP) Cartridge Android // (WP7) http: Generator Native Database App Backend WP7 (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 56. Cross-Compiler (Mono) Native App http :// UI MonoTouch(iOS) (iOS) iOS UI MonoDroid (Android) (Android) http Native :// App UI Mono Compiler (WP7) Android Core .NET RT (WP7) / (Shared) p:/ htt C# MSIL Compiler Native App Backend WP7 (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 57. Frameworks / Tools (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 58. Demo
  • 59. Dev eloper’s Cross-Compiled tive per spec Language(s) .NET / C# Cost of $$ need to buy dev tools development Platforms ✔ Android Learning curve ✔ Educational material ✔ iOS ✔ Forums ✔ WP7 ✔ Support ✘ BlackBerry Development ✔ IDEs Platform access ✔ Camera support ✔ Integrated Debugging ✔ GPS ✔ Gyro ** ✔ address book ✔ calendar ✔ etc. Monetization ✔ App stores (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 60. User’s Cross-Compiled perspective Performance - native experience - native look’n’feel Platforms ✔ Android ✔ iOS ✔ WP7 ✘ BlackBerry Visibility ✔ distributed via the app stores ✘ search engine: no! (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 61. Recommendation Use cross-compiled apps if... - you want to use “one language to build them all” - need access to the phone’s hardware - need truly native look’n’feel / performance (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 62. Summary Native App http:/ / / Web App / Web App API API API API Web App p:/ p:/ htt (Java / PHP) htt p:// htt (Java / PHP) htt p:// (Java / PHP) Native APIs Native App Web Browser Abstraction Layer :// tp ht Files Files App Script Files Images Web Images Web (JavaScript, Lua) Other Resources Database Service Other Resources Database Service Images Database Other Resources Interpreter Device Backend 3rd Party Device Backend 3rd Party Device Backend Web Browser Native App Native App Files http http:// Images http:// Other Resources :// App Web App Web App iOS (Java / PHP) (Java / PHP) Cartridge (JavaScript) Library (native) (iOS) http:// Engine Cartridge Native Web App Native Code Model Bridge // App p: (Java / PHP) Describes App (Android) htt Cartridge Android / (WP7) Files Files http:/ Files App (JavaScript) Database Images Images Images Other Resources Database Other Resources Database Other Resources (e.g. for caching) Generator Interpreter Native Database App Device Backend Device Backend Backend WP7 (c) 2012 Peter Friese, Zühlke Engineering (peter@peterfriese.de / @peterfriese)
  • 63. Summary Client- Cross Language(s) Native Web Side Web Hybrid Interpreted Compiled various ✔ Java / Ruby / HTML ✔ JavaScript / HTML ✔ ✔ ✔ C# ✔ Platforms Android ✔ ✔ ✔ ✔ ✔ ✔ iOS ✔ ✔ ✔ ✔ ✔ ✔ WP7 ✔ ✔ ✔ ✔ ✘ ✔ BlackBerry ✔ ✔ ✔ ✔ ✔ ✘ Platform access ✔ ✘ ✘ ✔ ✔ ✔ Cost of development $$$ $ $$ $$ $$ $$ Development support ++ + + + ++ ++ Monetization ++ - - ++ ++ ++
  • 64. Zühlke. Empowering Ideas. Want to learn more? Get in touch - I’m available for consulting: @peterfriese peter.friese@zuehlke.com http://www.zuehlke.com
  • 65. Zühlke. Empowering Ideas. http://slidesha.re/xS4QGb Want to learn more? Get in touch - I’m available for consulting: @peterfriese peter.friese@zuehlke.com http://www.zuehlke.com