SlideShare uma empresa Scribd logo
1 de 30
Case study
PhoneGap / Cordova
Jolien Coenraets
Jolien.coenraets@intec.ugent.be
www.ibcn.intec.ugent.be
Internet Based Communication Networks and Services (IBCN)
Department of Information Technology (INTEC)
Ghent University - IBBT



Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
Introduction

                           = open source solution for building
                           cross-platform mobile native apps with
                           standards-based Web technologies like
                           HTML, JavaScript, CSS




Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   2
Introduction

                                                                           Accelerometer
                                                                           Camera
                                                                           Compass
                                                                           Contacts
                                                                           File
                                                                           Geolocation
                                                                           Media
                                                                           Network
                                                                           Notifications
                                                                           Storage
Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   3
Need
                                                       Lots of differences:
                                                          •Programming languages
                                                          •Screen sizes, resolutions
                                                          •Performance
                                                          •Behavior
                                                          •Buttons


                                                                       Different codebases
Java                                                                   = hard to maintain
        Java          C#       Objective C

                        1 thing in common: a browser
       Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   4
Vision
               One code base to rule them all!
Goal
 Make native functions available for web applications
 Create Adobe AIR for mobile applications

Business model
 Open source platform
 Money from training by Nitobi

Proof of concept won several prices                                                     continue !!!

      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   5
2009 - 2010
Phase 1

  Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   6
Building the architecture, phase 1
Requirements
 Cross-platform
 Access native functions from within a webkit view
 No native code needed for developers of apps

          Portability (modifiability of the platform)
                         Layers to hide information

                         Interface towards app

                         Restrict communication paths
      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   7
Building the architecture, phase 1
              HTML                                             CSS                             Your app

                                       JavaScript



JavaScript           JavaScript                    JavaScript                    JavaScript                PG
 Android                iOS                         WPhone                       BlackBerry               Java
 PG code              PG code                       PG code                       PG code
                                                                                                         Script

  Native               Native                        Native                        Native               PG
 Android                iOS                         WPhone                       BlackBerry
 PG code
                                                                                                     Native
                      PG code                       PG code                       PG code


                                                                                                            OS

      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)            8
Creating a business, phase 1




Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   9
2010 - 2011
Phase 2

  Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   10
The community grows
They wanted this


But they got this




 Problem
 Adjusting the code resulted in conflicts and made it
 impossible to merge the code
       Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   11
Building the architecture, phase 2
Requirements
 Developers can create their own extensions
 Easily add support for new features
 Easily update certain feature without affecting other code


          Modifiability
                         Add plugins for extra functionality

                         Create internal components

                         Binding at runtime

      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   12
Building the architecture, phase 2

   PhoneGap                                                       PhoneGap
     code                                                           code
Camera                                                              Camera
            Storage                                                                                Facebook
                                                                    Storage
Accelerometer                                                                                            PayPal
                                                               Accelerometer
               Device
                                                                     Device                              Adds

      Notification                                                Notification                       Twitter

                                                                     Media
    Media



      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)            13
Building the architecture, phase 2
             HTML                                             CSS                             Your app

                                      JavaScript



Android PG            iOS PG                         WP PG                         BB PG                  PG
                                                                                                         Java
                                                                                                        Script

Android PG            iOS PG                        WP PG                          BB PG               PG
                                                                                                    Native


                                                                                                           OS

     Department of Information Technology – Internet Based Communication Networks and Services (IBCN)        14
Building the architecture, phase 2
             HTML                                             CSS                             Your app

                                      JavaScript



Android PG            iOS PG                         WP PG                         BB PG                  PG
                                                                                                         Java
                                                                                                        Script

Android PG            iOS PG                        WP PG                          BB PG               PG
                                                                                                    Native


                                                                                                           OS

     Department of Information Technology – Internet Based Communication Networks and Services (IBCN)        15
Creating a business, phase 2




 600 000+
downloads




 Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   16
2011 - …
Phase 3

  Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   17
Creating a business, phase 3




Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   18
The community grows

New people join the community, looking for an easy
 solution

But:
 complicated build process, different for each platform
 some API’s not consistent between different platforms
 little documentation, often outdated


        People drop out of the project
        Deteriorating reputation of usability and stability

      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   19
Building the architecture, phase 3
Requirements
 Easier workflow (create, develop, build)
 Lower learning curve
 Consistent API between platforms


          Usability
                         Improve documentation

                         Improve build process

                         Improve PG JS source code
      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   20
Building the architecture, phase 2
                                                                                                  Media
 PhoneGap
   code                                                                                          Camera
  Camera
                                Facebook                                                       Facebook




                                                                          PhoneGap code
  Storage                                                                                        PayPal
                                  PayPal
Accelerometer                                                                                    Storage

   Device                          Adds                                                            Adds

 Notification                                                                                     Twitter
                                  Twitter
                                                                                            Accelerometer
   Media
                                                                                                  Device

                                                                                              Notification

    Department of Information Technology – Internet Based Communication Networks and Services (IBCN)         21
Building the architecture, phase 3
              HTML                                             CSS                             Your app

                                       JavaScript


                                                                                                       PG
                                                                                                      Java
Android               iOS PG                    WP PG                       BB PG                    Script
PG


Android PG             iOS PG                        WP PG                          BB PG               PG
                                                                                                     Native

                                                                                                         OS

      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)    22
Building the architecture, phase 3
              HTML                                             CSS                             Your app

                                       JavaScript


                             PhoneGap JavaScript                                                       PG
                                                                                                      Java
Android               iOS PG                    WP PG                       BB PG                    Script
PG


Android PG             iOS PG                        WP PG                          BB PG               PG
                                                                                                     Native

                                                                                                         OS

      Department of Information Technology – Internet Based Communication Networks and Services (IBCN)    23
Current status


                                                                  100 000+
                                                               downloads / month




Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   24
REMARKS

 Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   25
Remarks

An architecture can change …
      but it is better to have it right the first time.




     Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   26
Refactors
   Different JS files to one
         Change project structure = SVN conflicts
   Different plugin structure
         Outdated plugins, rewrite all your plugins
   API changes
         Introducing bugs, outdated documentation or information
   Name changes
         Find and replace ‘Phonegap’ to ‘Cordova’



                 Developer’s nightmare


        Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   27
Find partners




Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   28
No silver bullet

                              ≠ platform that every app should use


Advantages:                                               Disadvantages:


 Quick                                                    Javascript debugging
 Scripting languages                                      Performance

 Phonegap build                                           ‘Almost’ native




     Department of Information Technology – Internet Based Communication Networks and Services (IBCN)   29
Questions ?

Jolien Coenraets
jolien.coenraets@intec.ugent.be
www.ibcn.intec.ugent.be
Internet Based Communication Networks and Services (IBCN)
Department of Information Technology (INTEC)
Ghent University - IBBT



Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

Mais conteúdo relacionado

Mais procurados

Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRamesh Nair
 
Phone gap in android technology
Phone gap in android technologyPhone gap in android technology
Phone gap in android technologyVikrant Thakare
 
Hybrid Mobile Applications
Hybrid Mobile ApplicationsHybrid Mobile Applications
Hybrid Mobile ApplicationsRuwan Ranganath
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentDotitude
 
HTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's NextHTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's Nextm0bz
 
HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기정현 황
 
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSGabriel Huecas
 
Build Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGapBuild Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGapAllan Huang
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstRaymond Camden
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app developmentChamil Madusanka
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5Akib B. Momin
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentKnoldus Inc.
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applicationsmailalamin
 
Top 10 programming languages for mobile app development
Top 10 programming languages for mobile app developmentTop 10 programming languages for mobile app development
Top 10 programming languages for mobile app developmentWxit Consultant Services
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
 

Mais procurados (20)

Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
Phone gap in android technology
Phone gap in android technologyPhone gap in android technology
Phone gap in android technology
 
Hybrid Mobile Applications
Hybrid Mobile ApplicationsHybrid Mobile Applications
Hybrid Mobile Applications
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
 
HTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's NextHTML5, PhoneGap and What's Next
HTML5, PhoneGap and What's Next
 
HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기
 
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSSCordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
 
phonegap_101
phonegap_101phonegap_101
phonegap_101
 
Build Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGapBuild Cross-Platform Mobile Application with PhoneGap
Build Cross-Platform Mobile Application with PhoneGap
 
Cordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirstCordova + Ionic + MobileFirst
Cordova + Ionic + MobileFirst
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 
Mobile stategy
Mobile stategyMobile stategy
Mobile stategy
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Cross platform-mobile-applications
Cross platform-mobile-applicationsCross platform-mobile-applications
Cross platform-mobile-applications
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Top 10 programming languages for mobile app development
Top 10 programming languages for mobile app developmentTop 10 programming languages for mobile app development
Top 10 programming languages for mobile app development
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 

Semelhante a The Phonegap Architecture

Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework동수 장
 
Mee go是您的新机遇
Mee go是您的新机遇Mee go是您的新机遇
Mee go是您的新机遇OpenSourceCamp
 
Ipad Application Development Casestudy
Ipad Application Development CasestudyIpad Application Development Casestudy
Ipad Application Development Casestudydheerajkureel
 
Blackberrymobile Application Development Casestudy
Blackberrymobile Application Development CasestudyBlackberrymobile Application Development Casestudy
Blackberrymobile Application Development Casestudydheerajkureel
 
LocalSocial Overview Q409v3
LocalSocial Overview Q409v3LocalSocial Overview Q409v3
LocalSocial Overview Q409v3Sean O'Sullivan
 
baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析joylite
 
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScriptBuilding Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScriptSencha
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsJames Pearce
 
MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...
MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...
MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...Mootwin
 
HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗Bobby Chen
 
Rebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewRebaca Technologies Corporate Overview
Rebaca Technologies Corporate Overviewsumitkhandelwal
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs mentoresd
 
Presenting the Open Web Device by Telefonica
Presenting the Open Web Device by TelefonicaPresenting the Open Web Device by Telefonica
Presenting the Open Web Device by TelefonicaFrancisco Jordano
 
Debunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application DevelopmentDebunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application DevelopmentAntenna Software
 
4. FOMS _ Pervasive Services _ John_McGovern
4. FOMS _ Pervasive  Services _ John_McGovern4. FOMS _ Pervasive  Services _ John_McGovern
4. FOMS _ Pervasive Services _ John_McGovernFOMS011
 
앱스프레소를 이용한 모바일 앱 개발(1)
앱스프레소를 이용한 모바일 앱 개발(1)앱스프레소를 이용한 모바일 앱 개발(1)
앱스프레소를 이용한 모바일 앱 개발(1)mosaicnet
 
An Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIsAn Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIsEricsson Labs
 
WebSphere as a platform for mobile apps
WebSphere as a platform for mobile appsWebSphere as a platform for mobile apps
WebSphere as a platform for mobile appsIBM Danmark
 

Semelhante a The Phonegap Architecture (20)

Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework
 
Mee go是您的新机遇
Mee go是您的新机遇Mee go是您的新机遇
Mee go是您的新机遇
 
Ipad Application Development Casestudy
Ipad Application Development CasestudyIpad Application Development Casestudy
Ipad Application Development Casestudy
 
Blackberrymobile Application Development Casestudy
Blackberrymobile Application Development CasestudyBlackberrymobile Application Development Casestudy
Blackberrymobile Application Development Casestudy
 
LocalSocial Overview Q409v3
LocalSocial Overview Q409v3LocalSocial Overview Q409v3
LocalSocial Overview Q409v3
 
baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析
 
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScriptBuilding Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
 
MeeGo and Community
MeeGo and CommunityMeeGo and Community
MeeGo and Community
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...
MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...
MobiWebApp 2012 - Gaps between standard & tool for native and web mobile appl...
 
HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗
 
Rebaca Technologies Corporate Overview
Rebaca Technologies Corporate OverviewRebaca Technologies Corporate Overview
Rebaca Technologies Corporate Overview
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs
 
Presenting the Open Web Device by Telefonica
Presenting the Open Web Device by TelefonicaPresenting the Open Web Device by Telefonica
Presenting the Open Web Device by Telefonica
 
Debunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application DevelopmentDebunking Common Myths of Mobile Application Development
Debunking Common Myths of Mobile Application Development
 
4. FOMS _ Pervasive Services _ John_McGovern
4. FOMS _ Pervasive  Services _ John_McGovern4. FOMS _ Pervasive  Services _ John_McGovern
4. FOMS _ Pervasive Services _ John_McGovern
 
앱스프레소를 이용한 모바일 앱 개발(1)
앱스프레소를 이용한 모바일 앱 개발(1)앱스프레소를 이용한 모바일 앱 개발(1)
앱스프레소를 이용한 모바일 앱 개발(1)
 
An Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIsAn Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIs
 
SpotOn Brochure
SpotOn BrochureSpotOn Brochure
SpotOn Brochure
 
WebSphere as a platform for mobile apps
WebSphere as a platform for mobile appsWebSphere as a platform for mobile apps
WebSphere as a platform for mobile apps
 

Mais de Frank Gielen

I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2Frank Gielen
 
I mindsx learning analytics v2
I mindsx learning analytics v2I mindsx learning analytics v2
I mindsx learning analytics v2Frank Gielen
 
You have been MOOCed
You have been MOOCedYou have been MOOCed
You have been MOOCedFrank Gielen
 
Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)Frank Gielen
 
Beyond MOOCs (2014)
Beyond MOOCs (2014)Beyond MOOCs (2014)
Beyond MOOCs (2014)Frank Gielen
 
The Research Canvas
The Research CanvasThe Research Canvas
The Research CanvasFrank Gielen
 
Defining the opportunity 2013
Defining the opportunity 2013Defining the opportunity 2013
Defining the opportunity 2013Frank Gielen
 
KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013Frank Gielen
 
Dare 2 Start - Course outline
Dare 2 Start - Course outlineDare 2 Start - Course outline
Dare 2 Start - Course outlineFrank Gielen
 
Delaware presentation nov2012
Delaware presentation nov2012Delaware presentation nov2012
Delaware presentation nov2012Frank Gielen
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_viewsFrank Gielen
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availabilityFrank Gielen
 
Pr 005 qa_workshop
Pr 005 qa_workshopPr 005 qa_workshop
Pr 005 qa_workshopFrank Gielen
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiabilityFrank Gielen
 
VC Do's and Don'ts - Jurgen Ingels
VC Do's and Don'ts  - Jurgen Ingels VC Do's and Don'ts  - Jurgen Ingels
VC Do's and Don'ts - Jurgen Ingels Frank Gielen
 
Debt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickDebt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickFrank Gielen
 

Mais de Frank Gielen (20)

I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
 
I mindsx learning analytics v2
I mindsx learning analytics v2I mindsx learning analytics v2
I mindsx learning analytics v2
 
You have been MOOCed
You have been MOOCedYou have been MOOCed
You have been MOOCed
 
Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)
 
Beyond MOOCs (2014)
Beyond MOOCs (2014)Beyond MOOCs (2014)
Beyond MOOCs (2014)
 
The Research Canvas
The Research CanvasThe Research Canvas
The Research Canvas
 
Defining the opportunity 2013
Defining the opportunity 2013Defining the opportunity 2013
Defining the opportunity 2013
 
KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013
 
Dare 2 Start - Course outline
Dare 2 Start - Course outlineDare 2 Start - Course outline
Dare 2 Start - Course outline
 
Sop test planning
Sop test planningSop test planning
Sop test planning
 
Delaware presentation nov2012
Delaware presentation nov2012Delaware presentation nov2012
Delaware presentation nov2012
 
Pr crc
Pr crcPr crc
Pr crc
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 
Sa 009 add
Sa 009 addSa 009 add
Sa 009 add
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_views
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availability
 
Pr 005 qa_workshop
Pr 005 qa_workshopPr 005 qa_workshop
Pr 005 qa_workshop
 
Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
VC Do's and Don'ts - Jurgen Ingels
VC Do's and Don'ts  - Jurgen Ingels VC Do's and Don'ts  - Jurgen Ingels
VC Do's and Don'ts - Jurgen Ingels
 
Debt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickDebt & Equity - Wouter Haerick
Debt & Equity - Wouter Haerick
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

The Phonegap Architecture

  • 1. Case study PhoneGap / Cordova Jolien Coenraets Jolien.coenraets@intec.ugent.be www.ibcn.intec.ugent.be Internet Based Communication Networks and Services (IBCN) Department of Information Technology (INTEC) Ghent University - IBBT Department of Information Technology – Internet Based Communication Networks and Services (IBCN)
  • 2. Introduction = open source solution for building cross-platform mobile native apps with standards-based Web technologies like HTML, JavaScript, CSS Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 2
  • 3. Introduction Accelerometer Camera Compass Contacts File Geolocation Media Network Notifications Storage Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 3
  • 4. Need Lots of differences: •Programming languages •Screen sizes, resolutions •Performance •Behavior •Buttons Different codebases Java = hard to maintain Java C# Objective C 1 thing in common: a browser Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 4
  • 5. Vision One code base to rule them all! Goal Make native functions available for web applications Create Adobe AIR for mobile applications Business model Open source platform Money from training by Nitobi Proof of concept won several prices continue !!! Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 5
  • 6. 2009 - 2010 Phase 1 Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 6
  • 7. Building the architecture, phase 1 Requirements Cross-platform Access native functions from within a webkit view No native code needed for developers of apps Portability (modifiability of the platform) Layers to hide information Interface towards app Restrict communication paths Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 7
  • 8. Building the architecture, phase 1 HTML CSS Your app JavaScript JavaScript JavaScript JavaScript JavaScript PG Android iOS WPhone BlackBerry Java PG code PG code PG code PG code Script Native Native Native Native PG Android iOS WPhone BlackBerry PG code Native PG code PG code PG code OS Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 8
  • 9. Creating a business, phase 1 Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 9
  • 10. 2010 - 2011 Phase 2 Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 10
  • 11. The community grows They wanted this But they got this Problem Adjusting the code resulted in conflicts and made it impossible to merge the code Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 11
  • 12. Building the architecture, phase 2 Requirements Developers can create their own extensions Easily add support for new features Easily update certain feature without affecting other code Modifiability Add plugins for extra functionality Create internal components Binding at runtime Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 12
  • 13. Building the architecture, phase 2 PhoneGap PhoneGap code code Camera Camera Storage Facebook Storage Accelerometer PayPal Accelerometer Device Device Adds Notification Notification Twitter Media Media Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 13
  • 14. Building the architecture, phase 2 HTML CSS Your app JavaScript Android PG iOS PG WP PG BB PG PG Java Script Android PG iOS PG WP PG BB PG PG Native OS Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 14
  • 15. Building the architecture, phase 2 HTML CSS Your app JavaScript Android PG iOS PG WP PG BB PG PG Java Script Android PG iOS PG WP PG BB PG PG Native OS Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 15
  • 16. Creating a business, phase 2 600 000+ downloads Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 16
  • 17. 2011 - … Phase 3 Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 17
  • 18. Creating a business, phase 3 Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 18
  • 19. The community grows New people join the community, looking for an easy solution But: complicated build process, different for each platform some API’s not consistent between different platforms little documentation, often outdated People drop out of the project Deteriorating reputation of usability and stability Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 19
  • 20. Building the architecture, phase 3 Requirements Easier workflow (create, develop, build) Lower learning curve Consistent API between platforms Usability Improve documentation Improve build process Improve PG JS source code Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 20
  • 21. Building the architecture, phase 2 Media PhoneGap code Camera Camera Facebook Facebook PhoneGap code Storage PayPal PayPal Accelerometer Storage Device Adds Adds Notification Twitter Twitter Accelerometer Media Device Notification Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 21
  • 22. Building the architecture, phase 3 HTML CSS Your app JavaScript PG Java Android iOS PG WP PG BB PG Script PG Android PG iOS PG WP PG BB PG PG Native OS Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 22
  • 23. Building the architecture, phase 3 HTML CSS Your app JavaScript PhoneGap JavaScript PG Java Android iOS PG WP PG BB PG Script PG Android PG iOS PG WP PG BB PG PG Native OS Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 23
  • 24. Current status 100 000+ downloads / month Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 24
  • 25. REMARKS Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 25
  • 26. Remarks An architecture can change … but it is better to have it right the first time. Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 26
  • 27. Refactors  Different JS files to one Change project structure = SVN conflicts  Different plugin structure Outdated plugins, rewrite all your plugins  API changes Introducing bugs, outdated documentation or information  Name changes Find and replace ‘Phonegap’ to ‘Cordova’ Developer’s nightmare Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 27
  • 28. Find partners Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 28
  • 29. No silver bullet ≠ platform that every app should use Advantages: Disadvantages:  Quick  Javascript debugging  Scripting languages  Performance  Phonegap build  ‘Almost’ native Department of Information Technology – Internet Based Communication Networks and Services (IBCN) 29
  • 30. Questions ? Jolien Coenraets jolien.coenraets@intec.ugent.be www.ibcn.intec.ugent.be Internet Based Communication Networks and Services (IBCN) Department of Information Technology (INTEC) Ghent University - IBBT Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

Notas do Editor

  1. Situatieschets 2009: smartphones en tablets komen op, maarerzijnveelplatformen (toenBada, Symbian, Windows Mobile, Android kont op, iPhone 3G). Nergensiets uniform, niemandweetwaar het naatoegaat. Moeilijkomals developer tekiezen, liefstallestegelijk.
  2. Visie en missiePhonegaptoen (samen met commercieel aspect)Adobe AIR kwam pas in 2010 naartelefoon
  3. Uitleg portability en wat het voor PG betekende
  4. Architectuuroverzicht
  5. Probleemstelleng:niet pluggable, veelverschillendeversies
  6. Uitleg portability en wat het voor PG betekende
  7. Toelatenomeigenplugins toe tevoegen en functionaliteit in interne modules steken
  8. Architectuuroverzichtfase 2 – pluginstoegevoegd
  9. Architectuuroverzichtfase 2 – pluginstoegevoegd
  10. OvernameNitobi door Adobe, Grotere community
  11. Nu is bijnaalleseenexterneplugin
  12. Architectuuroverzichtfase 3 – unified javascript layer
  13. Architectuuroverzichtfase 3 – unified javascript layer