SlideShare a Scribd company logo
1 of 30
Cordova
Noam Kfir | Sela Group | 2014
Agenda
 Convergence
 What’s in a Name?
 Diving In
 One for All and All for One
 Going Native
Mobile Development Strategies
Divergent
Different platforms
Different IDEs
Different languages
Convergent
Unified platforms
Any IDE (or just one)
One language
Divergent Options
Android
Android Studio
(or Eclipse)
Java C++
iOS
Xcode
Objective-
C
Swift
Windows Phone
Visual Studio
C# C++ JavaScript
Convergent Options
Xamarin
Xamarin Studio
C#
Mobile Web
Any IDE
JavaScript*
Cordova
Any IDE
JavaScript*
Comparing Our Choices
Option Deploy Languages Tools Platform Pricing
Divergent Manage stores
individually
Different Different Native Negligible (mostly)
Mobile Web Web JavaScript Any Web Inapplicable
Xamarin Multiple stores C# One Native
Bindings
$299 or $999
per year per dev
per platform
Telerik Platform Multiple stores JavaScript Any Web +
Native
Bindings
$468 or $948
per year per dev
for all platforms
Adobe
PhoneGap
Manage stores
individually
JavaScript Any Web +
Native
Bindings
$120 or $360
(Creative Cloud) per
year
Disclaimer: This is a rough comparison that does not take into account all of the advantages and disadvantages of each option.
Built on Apache Cordova
 “Apache Cordova is a platform for building native
mobile applications using HTML, CSS and JavaScript”
 Exposes native device capabilities
 The Web as a Platform
Cordova App Structure
Native Shell
Browser Control
Your App
Installing Cordova
 Install node and npm
 npm install -g cordova
Creating a Cordova Project
 cordova create path namespace name
 Example: cordova create hello-world com.gettingStarted.helloWorld HelloWorld
Adding Platform Support
 Install the iOS SDK
 cordova platforms add ios
 Install the Android SDK and build tools (e.g., ant)
 cordova platforms add android
 Install the Windows Phone 8 SDK (on Windows)
 cordova platforms add wp8
Folder Structure
www
the app
platforms
platform
support libraries
and tools
plugins
support for
native features
config.xml
app parameters
Build iOS Platform
 cordova build ios
 Open Xcode and Run in the Simulator
 npm install -g ios-sim
 cordova emulate ios
Build Android Platform
 cordova build android
 Create at least one virtual device with android avd
 cordova emulate android
Build Windows Phone 8 Platform
 cordova build wp8
 Install Windows Phone 8 virtual devices
 Based on Hyper-V
 cordova emulate wp8
One for All and All for One
Cordova
Adobe
PhoneGap
Telerik
Platform
IBM
Worklight
Salesforce
Mobile SDK
???
Telerik’s Approach to Mobile Dev
imagesource:http://platform.telerik.com
The Telerik Platform
• AppPrototyperDesign
• AppBuilder, CordovaBuild
• Backend ServicesConnect
• Mobile TestingTest
• AppManagerDeploy and Manage
• AppFeedback, AnalyticsMeasure
Design  AppPrototyper
 Online wireframing tool
 Collaborative features
 Screens can be exported as a starting template
 Based on Kendo
 Without the UI itself
 Not yet mature, but shows promise
Build  AppBuilder
 Work in any environment
 Telerik’s AppBuilder IDE – online or offline
 Choose your own environment
 Git integration
 Test your app in an online simulator
 Or on a real device with LiveSync
 Publish your app to any app store
Connect  Backend Services
 Unified API for cloud-based services
 Management portal
 Cloud storage for data and files
 Push notifications
 iOS, Android, Windows Phone
 User management
 Facebook, Microsoft, Google, Twitter
 Server-code execution
Test  Mobile Testing
 Write JavaScript tests
 Based on Telerik’s testing framework
 Similar to Jasmine but with higher-order capabilities
 Run the tests using agents
 Browser agents – browse to a provided URL
 Device agents – install the Telerik Mobile Testing app from the appropriate app store
 View results on the dashboard
Deploy and Manage  AppManager
 Automatically publish your app to the Apple, Google or Windows app stores
 Also supports private app stores for in-house apps
 Integrated with AppBuilder via the Publish button
 Edit configurations using the AppBuilder
Measure  AppFeedback
 Lets users and testers provide feedback directly from within the app
 Can automatically collect usage data
 Screenshots
 System info
 User comments
 Feedback shows up in the AppFeedback dashboard where it can be managed centrally
 Assign, resolve, etc.
 Request additional feedback or send replies
Measure  Analytics
 Rich analytics platform, visible in the workspace dashboard
 Opt-in using the Analytics plugin
 Collects automatic data
 Analytics API supports custom events and data
Going Native
 Plugins provide support for native features
 Don’t have to be native!
 Anyone can write a plugin
 Plugin registry: http://plugins.cordova.io
Adding Plugins
 cordova plugin add plugin-identifier
Common Plugins
org.apache.cordova.console
org.apache.cordova.device
org.apache.cordova.notification
Summary
Questions?

More Related Content

What's hot

Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application developmentwebprogr.com
 
Multiscreen Development with Adobe Air
Multiscreen Development with Adobe AirMultiscreen Development with Adobe Air
Multiscreen Development with Adobe Aireaselsolutions
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen developmenteaselsolutions
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGapDotitude
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinGuy Barrette
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile DevelopmentShai Raiten
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderJeffrey T. Fritz
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentKnoldus Inc.
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101Sam Basu
 
Cross platform development
Cross platform developmentCross platform development
Cross platform developmentdftaiwo
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinJoe Koletar
 
Developing Mobile Applications using Flex 4.5
Developing Mobile Applications using Flex 4.5Developing Mobile Applications using Flex 4.5
Developing Mobile Applications using Flex 4.5Chaithanya Yambari
 
Flutter dhaval solanki
Flutter   dhaval solankiFlutter   dhaval solanki
Flutter dhaval solankiDhaval Solanki
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with XamarinXpand IT
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadRuss Fustino
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendCaleb Jenkins
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentGill Cleeren
 

What's hot (20)

Fire up your mobile app!
Fire up your mobile app!Fire up your mobile app!
Fire up your mobile app!
 
Cross platform mobile application development
Cross platform mobile application developmentCross platform mobile application development
Cross platform mobile application development
 
Multiscreen Development with Adobe Air
Multiscreen Development with Adobe AirMultiscreen Development with Adobe Air
Multiscreen Development with Adobe Air
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
Ionic framework
Ionic frameworkIonic framework
Ionic framework
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
Build Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilderBuild Your First iPhone or Android App with Telerik AppBuilder
Build Your First iPhone or Android App with Telerik AppBuilder
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Telerik AppBuilder 101
Telerik AppBuilder 101Telerik AppBuilder 101
Telerik AppBuilder 101
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Developing Mobile Applications using Flex 4.5
Developing Mobile Applications using Flex 4.5Developing Mobile Applications using Flex 4.5
Developing Mobile Applications using Flex 4.5
 
Flutter dhaval solanki
Flutter   dhaval solankiFlutter   dhaval solanki
Flutter dhaval solanki
 
Wwdc2019
Wwdc2019Wwdc2019
Wwdc2019
 
Cross Platform Development with Xamarin
Cross Platform Development with XamarinCross Platform Development with Xamarin
Cross Platform Development with Xamarin
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression Blend
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform development
 

Similar to Building Cross-Platform JavaScript Apps using Cordova

Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Applitools
 
Telerik Platform
Telerik PlatformTelerik Platform
Telerik PlatformNoam Kfir
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools reviewUday Kothari
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...RIA RUI Society
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap InsightsMonaca
 
Mobile Application Development Strategy
Mobile Application Development StrategyMobile Application Development Strategy
Mobile Application Development StrategyAvi Aggarwal MBA, BEng
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksSasha dos Santos
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMoataz Nabil
 
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfTK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfLam Chun
 
Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisLawrence Nyakiso
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxssuserd27db6
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupSanjay Patel
 

Similar to Building Cross-Platform JavaScript Apps using Cordova (20)

Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
Telerik Platform
Telerik PlatformTelerik Platform
Telerik Platform
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
Mobile Application Development Strategy
Mobile Application Development StrategyMobile Application Development Strategy
Mobile Application Development Strategy
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworks
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfTK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
 
Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility Analysis
 
fdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptxfdocuments.in_apache-cordova-overview.pptx
fdocuments.in_apache-cordova-overview.pptx
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 

More from Noam Kfir

Agile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-DelusionAgile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-DelusionNoam Kfir
 
Testers and Coders - Blurring the Lines
Testers and Coders - Blurring the LinesTesters and Coders - Blurring the Lines
Testers and Coders - Blurring the LinesNoam Kfir
 
TDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleTDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleNoam Kfir
 
TypeScript Modules
TypeScript ModulesTypeScript Modules
TypeScript ModulesNoam Kfir
 
There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScriptNoam Kfir
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Noam Kfir
 
Maximizing UI Automation – A Case Study
Maximizing UI Automation – A Case StudyMaximizing UI Automation – A Case Study
Maximizing UI Automation – A Case StudyNoam Kfir
 
Web components
Web componentsWeb components
Web componentsNoam Kfir
 
HTML5 and the Evolution of the Web
HTML5 and the Evolution of the WebHTML5 and the Evolution of the Web
HTML5 and the Evolution of the WebNoam Kfir
 
Git Workflows
Git WorkflowsGit Workflows
Git WorkflowsNoam Kfir
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersNoam Kfir
 
Profiling JavaScript Performance
Profiling JavaScript PerformanceProfiling JavaScript Performance
Profiling JavaScript PerformanceNoam Kfir
 
Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open HouseNoam Kfir
 

More from Noam Kfir (15)

Agile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-DelusionAgile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-Delusion
 
Testers and Coders - Blurring the Lines
Testers and Coders - Blurring the LinesTesters and Coders - Blurring the Lines
Testers and Coders - Blurring the Lines
 
TDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleTDD and the Legacy Code Black Hole
TDD and the Legacy Code Black Hole
 
TypeScript Modules
TypeScript ModulesTypeScript Modules
TypeScript Modules
 
There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScript
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
Meteor
MeteorMeteor
Meteor
 
Clean code
Clean codeClean code
Clean code
 
Maximizing UI Automation – A Case Study
Maximizing UI Automation – A Case StudyMaximizing UI Automation – A Case Study
Maximizing UI Automation – A Case Study
 
Web components
Web componentsWeb components
Web components
 
HTML5 and the Evolution of the Web
HTML5 and the Evolution of the WebHTML5 and the Evolution of the Web
HTML5 and the Evolution of the Web
 
Git Workflows
Git WorkflowsGit Workflows
Git Workflows
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Profiling JavaScript Performance
Profiling JavaScript PerformanceProfiling JavaScript Performance
Profiling JavaScript Performance
 
Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open House
 

Recently uploaded

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Recently uploaded (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Building Cross-Platform JavaScript Apps using Cordova

  • 1. Cordova Noam Kfir | Sela Group | 2014
  • 2. Agenda  Convergence  What’s in a Name?  Diving In  One for All and All for One  Going Native
  • 3. Mobile Development Strategies Divergent Different platforms Different IDEs Different languages Convergent Unified platforms Any IDE (or just one) One language
  • 4. Divergent Options Android Android Studio (or Eclipse) Java C++ iOS Xcode Objective- C Swift Windows Phone Visual Studio C# C++ JavaScript
  • 5. Convergent Options Xamarin Xamarin Studio C# Mobile Web Any IDE JavaScript* Cordova Any IDE JavaScript*
  • 6. Comparing Our Choices Option Deploy Languages Tools Platform Pricing Divergent Manage stores individually Different Different Native Negligible (mostly) Mobile Web Web JavaScript Any Web Inapplicable Xamarin Multiple stores C# One Native Bindings $299 or $999 per year per dev per platform Telerik Platform Multiple stores JavaScript Any Web + Native Bindings $468 or $948 per year per dev for all platforms Adobe PhoneGap Manage stores individually JavaScript Any Web + Native Bindings $120 or $360 (Creative Cloud) per year Disclaimer: This is a rough comparison that does not take into account all of the advantages and disadvantages of each option.
  • 7. Built on Apache Cordova  “Apache Cordova is a platform for building native mobile applications using HTML, CSS and JavaScript”  Exposes native device capabilities  The Web as a Platform
  • 8. Cordova App Structure Native Shell Browser Control Your App
  • 9. Installing Cordova  Install node and npm  npm install -g cordova
  • 10. Creating a Cordova Project  cordova create path namespace name  Example: cordova create hello-world com.gettingStarted.helloWorld HelloWorld
  • 11. Adding Platform Support  Install the iOS SDK  cordova platforms add ios  Install the Android SDK and build tools (e.g., ant)  cordova platforms add android  Install the Windows Phone 8 SDK (on Windows)  cordova platforms add wp8
  • 12. Folder Structure www the app platforms platform support libraries and tools plugins support for native features config.xml app parameters
  • 13. Build iOS Platform  cordova build ios  Open Xcode and Run in the Simulator  npm install -g ios-sim  cordova emulate ios
  • 14. Build Android Platform  cordova build android  Create at least one virtual device with android avd  cordova emulate android
  • 15. Build Windows Phone 8 Platform  cordova build wp8  Install Windows Phone 8 virtual devices  Based on Hyper-V  cordova emulate wp8
  • 16. One for All and All for One Cordova Adobe PhoneGap Telerik Platform IBM Worklight Salesforce Mobile SDK ???
  • 17. Telerik’s Approach to Mobile Dev imagesource:http://platform.telerik.com
  • 18. The Telerik Platform • AppPrototyperDesign • AppBuilder, CordovaBuild • Backend ServicesConnect • Mobile TestingTest • AppManagerDeploy and Manage • AppFeedback, AnalyticsMeasure
  • 19. Design  AppPrototyper  Online wireframing tool  Collaborative features  Screens can be exported as a starting template  Based on Kendo  Without the UI itself  Not yet mature, but shows promise
  • 20. Build  AppBuilder  Work in any environment  Telerik’s AppBuilder IDE – online or offline  Choose your own environment  Git integration  Test your app in an online simulator  Or on a real device with LiveSync  Publish your app to any app store
  • 21. Connect  Backend Services  Unified API for cloud-based services  Management portal  Cloud storage for data and files  Push notifications  iOS, Android, Windows Phone  User management  Facebook, Microsoft, Google, Twitter  Server-code execution
  • 22. Test  Mobile Testing  Write JavaScript tests  Based on Telerik’s testing framework  Similar to Jasmine but with higher-order capabilities  Run the tests using agents  Browser agents – browse to a provided URL  Device agents – install the Telerik Mobile Testing app from the appropriate app store  View results on the dashboard
  • 23. Deploy and Manage  AppManager  Automatically publish your app to the Apple, Google or Windows app stores  Also supports private app stores for in-house apps  Integrated with AppBuilder via the Publish button  Edit configurations using the AppBuilder
  • 24. Measure  AppFeedback  Lets users and testers provide feedback directly from within the app  Can automatically collect usage data  Screenshots  System info  User comments  Feedback shows up in the AppFeedback dashboard where it can be managed centrally  Assign, resolve, etc.  Request additional feedback or send replies
  • 25. Measure  Analytics  Rich analytics platform, visible in the workspace dashboard  Opt-in using the Analytics plugin  Collects automatic data  Analytics API supports custom events and data
  • 26. Going Native  Plugins provide support for native features  Don’t have to be native!  Anyone can write a plugin  Plugin registry: http://plugins.cordova.io
  • 27. Adding Plugins  cordova plugin add plugin-identifier