SlideShare una empresa de Scribd logo
1 de 29
Comparative study of tools
      for cross-platform mobile
       application development
 Bert Outtier
 Begeleider: Gonzalo Para
 Promotor: Erik Duval       1
                                i.s.m. Capgemini Belgium
dinsdag 26 maart 13                                    1
Contents
               • Context
                - Problem
                - Comparison criteria
                - Methods
               • Appcelerator Titanium
               • Xamarin.iOS & Xamarin.Android
               • Conclusion
                                  2
dinsdag 26 maart 13                              2
Problem

               • Fragmentation
               • Time-to-market
               • Costs
               • Code reuse
               • Skill reuse
                ➔ Cross-Platform tools
                                  3
dinsdag 26 maart 13                      3
Comparison criteria
          1. Costs
          2. Platform Support
          3. Access to hardware and device API’s
          4. Performance
          5. Learning curve
          6. Productivity
          7. UI
          8. Tools, debugging and testing
          9. (Future) Support


dinsdag 26 maart 13                                4
Methods
               • Native frameworks only
               • Enterprise context
               • Proof-Of-Concept application
               • Develop POC in each tool
                      + native




dinsdag 26 maart 13                             5
Cross-Platform native
                         Frameworks




                                     Xamarin.iOS
            Appcelerator Titanium
                                    Xamarin.Android

dinsdag 26 maart 13                                   6
Appcelerator Titanium

               • JavaScript
               • Interpreter
               • UI : uses native elements
               • iOS, Android, Windows, Blackberry, HTML5
               • Titanium Studio IDE
                                   7
dinsdag 26 maart 13                                         7
Xamarin.iOS &
                           Xamarin.Android
               • C#
               • Mono
               • UI : uses native elements
               • iOS, Android (Windows Phone)
               • Xamarin Studio IDE,Visual Studio

                                    8
dinsdag 26 maart 13                                 8
1. Costs


    ✓Free                    -   $299 - $999 - $1899
    ✓Payed support           -   per developer, per
                                 platform, per year
    ✓Component store
                             ✓Component store

                         9
dinsdag 26 maart 13                                    9
2. Platform support


    • iOS                           • iOS
    • Android                       • Android
    • Web (HTML5)                   • Mac
    • Windows                       • (Windows Phone)
    • Blackberry
                               10
dinsdag 26 maart 13                                     10
3. Access to native API’s


                      ✓Very good support
                      ✓Quick updates after OS updates
                      ✓Good documentation

                                    11
dinsdag 26 maart 13                                     11
4. Performance


    - Common problems: Slow ✓difference with native
                             No performance

          animations, lagged               code
          scrolling, slow resuming
                                          ‣ iOS : AOT compiler
    • Due to interpreter?                 ‣ Android : JIT compiler

                                     12
dinsdag 26 maart 13                                                  12
Flexibility vs Performance
                              Flexibility
                              •Language
                              •API
                              •Cross platform




  Performance                 1 (native)
  •Speed
  •Native UX
  •Native capabilities
                         13
dinsdag 26 maart 13                             13
Measure performance

       • What? (FPS, time, ...)
       • Case: scrolling long lists?
       • Are there accurate tools?
       • Where is my original (JS)
             code? (Instruments, DDMS)



                                  14
dinsdag 26 maart 13                      14
5. Learning curve


    ✓JavaScript          • C#
    ✓(Eclipse based) IDE • Stand-alone IDE
    ✓and tutorials
     Good documentation ✓Good tutorials,
                           documentation and design
                                   guidelines
    ➡Good Learning curve
                              15
dinsdag 26 maart 13                                   15
6. Productivity


  -     Complexity ↑,
        productivity ↓               ✓Autocompletion
  -     Runtime errors               ✓Strong typing
  -     Runs on iOS ≠ Runs on        ✓Builtin UI designer
        Android                      ✓≈ native code
  -     Maintainability
                                16
dinsdag 26 maart 13                                         16
6. Productivity
                      Smartphone        Tablet   Time

 Appcelerator
 Titanium               60%             0%       120h

 Xamarin.iOS
 Xamarin.Android        90%             90%      104h

 iOS                    50%             50%      27h

 Android                60%             60%      22h
                                   17
dinsdag 26 maart 13                                     17
7. UI


   Write once, run anywhere          Embrace platform differences

 - UI in JavaScript       ✓native UI tools
 ✓Cross-platform UI API’s - Platform specific UI API’s

                                18
dinsdag 26 maart 13                                                 18
Problems


    -     Slow animations
    -     UI glitches (demo)
    -     UI Code mixed with functional code
    -     Workarounds for API limitations

                                  19
dinsdag 26 maart 13                            19
Solutions



                      • Alloy (MVC)
                      • Make UI platform specific

                                     20
dinsdag 26 maart 13                                20
Problems


                              -   UI is platform specific
                              -   More work




                         21
dinsdag 26 maart 13                                        21
8. Tools


  ✓Titanium Studio IDE   ✓Studio Studio,Visual
                          Xamarin

  - Poor autocompletion ✓Strong autocompletion
  ✓Builtin debugger     ✓Builtin debugger
  - Runtime errors      ✓Xcode IB / UI designer
                        ✓Unit testing
                         22
dinsdag 26 maart 13                               22
9. (Future) support


  ✓> $50 million investments        ✓Several investments
  ✓> 425 000 active users           ✓000000 customers, 230
                                     12
                                         active developers
  ✓employees
   Private company, 135
                             ✓62 employees

                               23
dinsdag 26 maart 13                                          23
Conclusion
      1. Costs
      2. Platform Support
      3. Access to native API’s
      4. Performance                         wip   wip
      Learning curve                               !
      6. Productiviy
      7. UI                                  !     !
      8. Tools, debugging and testing        !
      9. (Future) support
                                        24
dinsdag 26 maart 13                                      24
Planning
       april - 17 mei : thesistekst
       1 april - 15 april : afwerking POC
       15 april - 30 april : (performantie) testing
       Algemeen: customization?




                                   25
dinsdag 26 maart 13                                   25
Statistics
               • Twitter: 62
               • Blog posts: 12
               • Blog comments: 6
               • Uren: 426u


                                    26
dinsdag 26 maart 13                      26
Statistics
                 Implementatie

                           Lezen

                       Meetings

                      Presentatie

                        Reflectie

                       Schrijven

                          Social
                                    0   15    30   45   60
                                         27
dinsdag 26 maart 13                                          27
Zelfevaluatie


                           14



                            28
dinsdag 26 maart 13                   28
Thank you!




                          29
dinsdag 26 maart 13                29

Más contenido relacionado

Destacado

360 Flex Atlanta
360 Flex Atlanta360 Flex Atlanta
360 Flex Atlantartretola
 
03 cross platform design
03 cross platform design03 cross platform design
03 cross platform designmemeapps
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application developmentsaritasingh19866
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentWim Tobback
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introductionMarcel de Vries
 
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentationAmsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentationThreeDee Media
 

Destacado (7)

360 Flex Atlanta
360 Flex Atlanta360 Flex Atlanta
360 Flex Atlanta
 
03 cross platform design
03 cross platform design03 cross platform design
03 cross platform design
 
Most Popular Cross Platform Mobile Development Tools
Most Popular Cross Platform Mobile Development ToolsMost Popular Cross Platform Mobile Development Tools
Most Popular Cross Platform Mobile Development Tools
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
 
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentationAmsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
Amsterdam HTML5 Game Developement Meetup - ThreeDee Media presentation
 

Similar a Cross-platform tools for mobile application development

Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascriptnlwebperf
 
WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightAndrew Ferrier
 
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy""Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"Ciklum Ukraine
 
Xamarin for iOS developers
Xamarin for iOS developersXamarin for iOS developers
Xamarin for iOS developersCraig Dunn
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile DevelopmentShai Raiten
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleSathish Gogineni
 
Xamarin vs. native script which one is the ideal cross-platform framework fo...
Xamarin vs. native script  which one is the ideal cross-platform framework fo...Xamarin vs. native script  which one is the ideal cross-platform framework fo...
Xamarin vs. native script which one is the ideal cross-platform framework fo...MoonTechnolabsPvtLtd
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarinDaniel Fikre
 
Xamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputationXamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputationGabor Wnuk
 
MS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentMS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentJames Montemagno
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notesjaxarcsig
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouchJonas Follesø
 
Mobile in a Nutshell
Mobile in a NutshellMobile in a Nutshell
Mobile in a NutshellGauntFace
 
Aloha on-rails-2009
Aloha on-rails-2009Aloha on-rails-2009
Aloha on-rails-2009John Woodell
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?weschwee
 

Similar a Cross-platform tools for mobile application development (20)

Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascript
 
WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with Worklight
 
SignalR
SignalRSignalR
SignalR
 
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy""Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
 
Xamarin for iOS developers
Xamarin for iOS developersXamarin for iOS developers
Xamarin for iOS developers
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
Mobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large ScaleMobile Cross Platform Automation in-practice and on a Large Scale
Mobile Cross Platform Automation in-practice and on a Large Scale
 
Xamarin vs. native script which one is the ideal cross-platform framework fo...
Xamarin vs. native script  which one is the ideal cross-platform framework fo...Xamarin vs. native script  which one is the ideal cross-platform framework fo...
Xamarin vs. native script which one is the ideal cross-platform framework fo...
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
From Web to Mobile with Stage 3D
From Web to Mobile with Stage 3DFrom Web to Mobile with Stage 3D
From Web to Mobile with Stage 3D
 
Xamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputationXamarin - Victim of Phonegap’s horrible reputation
Xamarin - Victim of Phonegap’s horrible reputation
 
MS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentMS Experiences 17 - Xamarin: Future of Mobile Development
MS Experiences 17 - Xamarin: Future of Mobile Development
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notes
 
Introduction to xamarin
Introduction to xamarin  Introduction to xamarin
Introduction to xamarin
 
Introduction to MonoTouch
Introduction to MonoTouchIntroduction to MonoTouch
Introduction to MonoTouch
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Mobile in a Nutshell
Mobile in a NutshellMobile in a Nutshell
Mobile in a Nutshell
 
Aloha on-rails-2009
Aloha on-rails-2009Aloha on-rails-2009
Aloha on-rails-2009
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?
 

Último

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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
"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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Último (20)

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)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
"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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Cross-platform tools for mobile application development

  • 1. Comparative study of tools for cross-platform mobile application development Bert Outtier Begeleider: Gonzalo Para Promotor: Erik Duval 1 i.s.m. Capgemini Belgium dinsdag 26 maart 13 1
  • 2. Contents • Context - Problem - Comparison criteria - Methods • Appcelerator Titanium • Xamarin.iOS & Xamarin.Android • Conclusion 2 dinsdag 26 maart 13 2
  • 3. Problem • Fragmentation • Time-to-market • Costs • Code reuse • Skill reuse ➔ Cross-Platform tools 3 dinsdag 26 maart 13 3
  • 4. Comparison criteria 1. Costs 2. Platform Support 3. Access to hardware and device API’s 4. Performance 5. Learning curve 6. Productivity 7. UI 8. Tools, debugging and testing 9. (Future) Support dinsdag 26 maart 13 4
  • 5. Methods • Native frameworks only • Enterprise context • Proof-Of-Concept application • Develop POC in each tool + native dinsdag 26 maart 13 5
  • 6. Cross-Platform native Frameworks Xamarin.iOS Appcelerator Titanium Xamarin.Android dinsdag 26 maart 13 6
  • 7. Appcelerator Titanium • JavaScript • Interpreter • UI : uses native elements • iOS, Android, Windows, Blackberry, HTML5 • Titanium Studio IDE 7 dinsdag 26 maart 13 7
  • 8. Xamarin.iOS & Xamarin.Android • C# • Mono • UI : uses native elements • iOS, Android (Windows Phone) • Xamarin Studio IDE,Visual Studio 8 dinsdag 26 maart 13 8
  • 9. 1. Costs ✓Free - $299 - $999 - $1899 ✓Payed support - per developer, per platform, per year ✓Component store ✓Component store 9 dinsdag 26 maart 13 9
  • 10. 2. Platform support • iOS • iOS • Android • Android • Web (HTML5) • Mac • Windows • (Windows Phone) • Blackberry 10 dinsdag 26 maart 13 10
  • 11. 3. Access to native API’s ✓Very good support ✓Quick updates after OS updates ✓Good documentation 11 dinsdag 26 maart 13 11
  • 12. 4. Performance - Common problems: Slow ✓difference with native No performance animations, lagged code scrolling, slow resuming ‣ iOS : AOT compiler • Due to interpreter? ‣ Android : JIT compiler 12 dinsdag 26 maart 13 12
  • 13. Flexibility vs Performance Flexibility •Language •API •Cross platform Performance 1 (native) •Speed •Native UX •Native capabilities 13 dinsdag 26 maart 13 13
  • 14. Measure performance • What? (FPS, time, ...) • Case: scrolling long lists? • Are there accurate tools? • Where is my original (JS) code? (Instruments, DDMS) 14 dinsdag 26 maart 13 14
  • 15. 5. Learning curve ✓JavaScript • C# ✓(Eclipse based) IDE • Stand-alone IDE ✓and tutorials Good documentation ✓Good tutorials, documentation and design guidelines ➡Good Learning curve 15 dinsdag 26 maart 13 15
  • 16. 6. Productivity - Complexity ↑, productivity ↓ ✓Autocompletion - Runtime errors ✓Strong typing - Runs on iOS ≠ Runs on ✓Builtin UI designer Android ✓≈ native code - Maintainability 16 dinsdag 26 maart 13 16
  • 17. 6. Productivity Smartphone Tablet Time Appcelerator Titanium 60% 0% 120h Xamarin.iOS Xamarin.Android 90% 90% 104h iOS 50% 50% 27h Android 60% 60% 22h 17 dinsdag 26 maart 13 17
  • 18. 7. UI Write once, run anywhere Embrace platform differences - UI in JavaScript ✓native UI tools ✓Cross-platform UI API’s - Platform specific UI API’s 18 dinsdag 26 maart 13 18
  • 19. Problems - Slow animations - UI glitches (demo) - UI Code mixed with functional code - Workarounds for API limitations 19 dinsdag 26 maart 13 19
  • 20. Solutions • Alloy (MVC) • Make UI platform specific 20 dinsdag 26 maart 13 20
  • 21. Problems - UI is platform specific - More work 21 dinsdag 26 maart 13 21
  • 22. 8. Tools ✓Titanium Studio IDE ✓Studio Studio,Visual Xamarin - Poor autocompletion ✓Strong autocompletion ✓Builtin debugger ✓Builtin debugger - Runtime errors ✓Xcode IB / UI designer ✓Unit testing 22 dinsdag 26 maart 13 22
  • 23. 9. (Future) support ✓> $50 million investments ✓Several investments ✓> 425 000 active users ✓000000 customers, 230 12 active developers ✓employees Private company, 135 ✓62 employees 23 dinsdag 26 maart 13 23
  • 24. Conclusion 1. Costs 2. Platform Support 3. Access to native API’s 4. Performance wip wip Learning curve ! 6. Productiviy 7. UI ! ! 8. Tools, debugging and testing ! 9. (Future) support 24 dinsdag 26 maart 13 24
  • 25. Planning april - 17 mei : thesistekst 1 april - 15 april : afwerking POC 15 april - 30 april : (performantie) testing Algemeen: customization? 25 dinsdag 26 maart 13 25
  • 26. Statistics • Twitter: 62 • Blog posts: 12 • Blog comments: 6 • Uren: 426u 26 dinsdag 26 maart 13 26
  • 27. Statistics Implementatie Lezen Meetings Presentatie Reflectie Schrijven Social 0 15 30 45 60 27 dinsdag 26 maart 13 27
  • 28. Zelfevaluatie 14 28 dinsdag 26 maart 13 28
  • 29. Thank you! 29 dinsdag 26 maart 13 29