SlideShare a Scribd company logo
1 of 65
Download to read offline
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

More Related Content

What's hot

ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentationThanh Tuong
 
Flutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | EdurekaFlutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | EdurekaEdureka!
 
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Edureka!
 
React vs Angular
React vs Angular React vs Angular
React vs Angular Appinventiv
 
android app development training report
android app development training reportandroid app development training report
android app development training reportRishita Jaggi
 
Presentation on Android application
Presentation on Android applicationPresentation on Android application
Presentation on Android applicationAtibur Rahman
 
How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentHow native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentDevathon
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.jsEmanuele DelBono
 
Android Project Presentation
Android Project PresentationAndroid Project Presentation
Android Project PresentationLaxmi Kant Yadav
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJSKnoldus Inc.
 
PPT on Android Applications
PPT on Android ApplicationsPPT on Android Applications
PPT on Android ApplicationsAshish Agarwal
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018Rao Purna
 
Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?Sura Gonzalez
 

What's hot (20)

Angular vs. React
Angular vs. ReactAngular vs. React
Angular vs. React
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
Flutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | EdurekaFlutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | Edureka
 
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
 
React vs Angular
React vs Angular React vs Angular
React vs Angular
 
android app development training report
android app development training reportandroid app development training report
android app development training report
 
ReactJS
ReactJSReactJS
ReactJS
 
Reactjs
Reactjs Reactjs
Reactjs
 
Presentation on Android application
Presentation on Android applicationPresentation on Android application
Presentation on Android application
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
React js basics
React js basicsReact js basics
React js basics
 
How native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App DevelopmentHow native is React Native? | React Native vs Native App Development
How native is React Native? | React Native vs Native App Development
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.js
 
Android Project Presentation
Android Project PresentationAndroid Project Presentation
Android Project Presentation
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
Flutter workshop
Flutter workshopFlutter workshop
Flutter workshop
 
PPT on Android Applications
PPT on Android ApplicationsPPT on Android Applications
PPT on Android Applications
 
React Native Workshop
React Native WorkshopReact Native Workshop
React Native Workshop
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018
 
Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?Native, Web or Hybrid Mobile App Development?
Native, Web or Hybrid Mobile App Development?
 

Similar to 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 - The Conversation Index, Volume 2
Bazaarvoice - The Conversation Index, Volume 2Bazaarvoice - The Conversation Index, Volume 2
Bazaarvoice - The Conversation Index, Volume 2Brett Hurt
 

Similar to 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 - The Conversation Index, Volume 2
Bazaarvoice - The Conversation Index, Volume 2Bazaarvoice - The Conversation Index, Volume 2
Bazaarvoice - The Conversation Index, Volume 2
 

More from 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
 

More from 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
 

Recently uploaded

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

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