SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Developing amazing #cross-platform #apps using the new #Cordova
tools available in #Visual-Studio-2015
VISUAL STUDIO TOOLS
FOR CORDOVA
Andrea Tino (Software Development Engineer)
Win output
myapp.appx
.NET
Android output
myapp.apk
iOS output
myapp.ipa
index.html
style.css
script.js
Source code
VISUAL
STUDIO 2015
CORDOVA
JAVA
objC
swift
Cordova and its history in a few lines
PhoneGap’s first
appearance during
iPhoneDevCamp in
San Francisco,
developed by Nitobi
20
09
PhoneGap gets acquired
by Adobe and code is
acquired also by the
Apache Foundation
20
11
Visual Studio releases
version 2015 with
tools embedding
Cordova
20
15
Why should you use it?
Cordova comes with its own toolset which one can
use. So Visual Studio is not really needed. What are the
benefits of using Visual Studio then?
UPGRADE
Change Cordova version
in project configuration.
PLUGIN MANAGEMENT
Via project configuration, easy
add/remove/upgrade plugins. In plain Cordova
the upgrade story is not 100% smooth.
CUSTOM FIXES
Need to change plugins or other Cordova
classes? No duplication in platforms folder,
platforms are generated upon cleanup.
MSBUILD
Building process fully
driven by Msbuild
STORE
STORE
STORE
The big picture
Building and debugging is easier, without using platform
specific environments and tools, thus more “central”
development experience
WINDOWS
sdk
ANDROID
sdk
IOS
sdk
WINDOWS
os
MAC OS
os
The build
architecture
Android is the only SDK available for
both Mac and Windows.
Visual Studio builds Windows and
Android on the Windows machine
where it is running, but needs a remote
Mac machine for building iOS!
Prepare
Running before
and after prepare
hooks
Configuration
The configuration
file config.xml is
processed
Platforms
Adding each
supported platform
in the project
Plugins
Adding plugins to all
platforms in the
project
Add platform
Hooks before and
after adding
platforms
Add plugins
Hooks before and
after adding
plugins
Build
Each platform, via
its SDK, is built to
generate the appfile
The build process
Visual Studio will generate platforms and plugins everytime a build is issued. Appfiles are then
generated and moved into the bin folder.
Config file
Enclose plat-
form-specific set-
tings in platform tag
Might need
to replace
values, can’t
do in config
file
<platform
name="android">
<preference
name="Fullscreen"
value="true" />
</platform>
Config plugin
Use a special custom plugin
to manipulate manifest’s
XML in plugin.xml file
Cannot change single
attribute’s value in
manifest file. Can only
replace nodes and all
descendants
<platform name="ios">
<config-file
target="app.plist" parent="/">
...
</config-file>
</platform>
Hook
Crete a hook to
change the manifest
file at proper time
Must write
actual Javas-
cript code
part of the
build process
module.exports =
function(context)
{
// context: env vars
...
};
Platform specific settings
In order to have a platform specific setting land in the proper manifest file, it is
possible to use a few approaches.
The End
THANK YOU
Twitter: @_atino
E-Mail: andrea.tino@microsoft.com
This work is distributed under the Creative
Commons
Attribution-NonCommercial-ShareAlike 4.0
International license.
Cover: Space mess This work includes artworks
designed by Graphic River.
This work includes artworks
designed by Freepik.com.
May 2016
v1.0
Keywords
#visual-studio #cordova
#microsoft #cross-platform
#app #android #ios
#windows-10
#windows-phone #tools
Presentation info
Duration: 30 mins.
Background: Technical
Audience: Developers
This work includes artworks
designed by Freestock.com.
Andrea Tino
Software Development Engineer

Contenu connexe

Tendances

Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceKevin DeRudder
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioWindows Developer
 
Visual studio 2017 - Tips & Tricks
Visual studio 2017 - Tips & TricksVisual studio 2017 - Tips & Tricks
Visual studio 2017 - Tips & TricksAmal Dev
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Nativedvcrn
 
Use html5 to build what you want, where you want it
Use html5 to build what you want, where you want itUse html5 to build what you want, where you want it
Use html5 to build what you want, where you want itKevin DeRudder
 
VISUG: Visual studio for web developers
VISUG: Visual studio for web developersVISUG: Visual studio for web developers
VISUG: Visual studio for web developersKevin DeRudder
 
Building cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesBuilding cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesKevin DeRudder
 
I didnt know Flex could do this
I didnt know Flex could do thisI didnt know Flex could do this
I didnt know Flex could do thise27
 
Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Techcronus Business Solutions Pvt. Ltd.
 
Everything you need to know about mern stack programming
Everything you need to know about mern stack programmingEverything you need to know about mern stack programming
Everything you need to know about mern stack programmingJAMESJOHN130
 
Complete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysComplete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysNexSoftsys
 
7 Features Of React Native
7 Features Of React Native7 Features Of React Native
7 Features Of React NativeIndumathySK
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web developmentCrampete
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparisonKaty Slemon
 

Tendances (20)

Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation Service
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual Studio
 
Visual studio 2017 - Tips & Tricks
Visual studio 2017 - Tips & TricksVisual studio 2017 - Tips & Tricks
Visual studio 2017 - Tips & Tricks
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Use html5 to build what you want, where you want it
Use html5 to build what you want, where you want itUse html5 to build what you want, where you want it
Use html5 to build what you want, where you want it
 
JavaScript Toolkit
JavaScript ToolkitJavaScript Toolkit
JavaScript Toolkit
 
Windows 8
Windows 8Windows 8
Windows 8
 
VISUG: Visual studio for web developers
VISUG: Visual studio for web developersVISUG: Visual studio for web developers
VISUG: Visual studio for web developers
 
Building cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesBuilding cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile Services
 
I didnt know Flex could do this
I didnt know Flex could do thisI didnt know Flex could do this
I didnt know Flex could do this
 
Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...
 
Everything you need to know about mern stack programming
Everything you need to know about mern stack programmingEverything you need to know about mern stack programming
Everything you need to know about mern stack programming
 
Portfolio
PortfolioPortfolio
Portfolio
 
React Native
React NativeReact Native
React Native
 
Complete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSysComplete Solution for JavaFX Development - NexSoftSys
Complete Solution for JavaFX Development - NexSoftSys
 
Php development
Php developmentPhp development
Php development
 
7 Features Of React Native
7 Features Of React Native7 Features Of React Native
7 Features Of React Native
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web development
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparison
 
Nodejsvs
NodejsvsNodejsvs
Nodejsvs
 

En vedette

Formato para hoja de vida alumnos (buena)
Formato para hoja de vida alumnos (buena)Formato para hoja de vida alumnos (buena)
Formato para hoja de vida alumnos (buena)Mateo Montoya
 
Aurel Popescu Balcesti Spirit-si-suflet-reincarnarea
Aurel Popescu Balcesti   Spirit-si-suflet-reincarnareaAurel Popescu Balcesti   Spirit-si-suflet-reincarnarea
Aurel Popescu Balcesti Spirit-si-suflet-reincarnareaValentina Stefan
 
Aurel Popescu Balcesti Sufletul-in-timpul-vietii-si-dupa-moarte
Aurel Popescu Balcesti   Sufletul-in-timpul-vietii-si-dupa-moarteAurel Popescu Balcesti   Sufletul-in-timpul-vietii-si-dupa-moarte
Aurel Popescu Balcesti Sufletul-in-timpul-vietii-si-dupa-moarteValentina Stefan
 
2 1 중동에서 불어오는 위기의 모래바람
2 1 중동에서 불어오는 위기의 모래바람2 1 중동에서 불어오는 위기의 모래바람
2 1 중동에서 불어오는 위기의 모래바람Contents Bio Culture
 
Cover lettters
Cover letttersCover lettters
Cover lettterstruelyme
 
#1 MAG_March 2015_Benoit Letellier
#1 MAG_March 2015_Benoit Letellier#1 MAG_March 2015_Benoit Letellier
#1 MAG_March 2015_Benoit LetellierBenoit LETELLIER
 
SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...
SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...
SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...Distilled
 
How To Find Clients
How To Find ClientsHow To Find Clients
How To Find ClientsChris Do
 
МЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИ
МЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИМЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИ
МЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИTsvetan Stoqnov
 

En vedette (12)

Formato para hoja de vida alumnos (buena)
Formato para hoja de vida alumnos (buena)Formato para hoja de vida alumnos (buena)
Formato para hoja de vida alumnos (buena)
 
Aurel Popescu Balcesti Spirit-si-suflet-reincarnarea
Aurel Popescu Balcesti   Spirit-si-suflet-reincarnareaAurel Popescu Balcesti   Spirit-si-suflet-reincarnarea
Aurel Popescu Balcesti Spirit-si-suflet-reincarnarea
 
Aurel Popescu Balcesti Sufletul-in-timpul-vietii-si-dupa-moarte
Aurel Popescu Balcesti   Sufletul-in-timpul-vietii-si-dupa-moarteAurel Popescu Balcesti   Sufletul-in-timpul-vietii-si-dupa-moarte
Aurel Popescu Balcesti Sufletul-in-timpul-vietii-si-dupa-moarte
 
Juegos paralímpicos
Juegos paralímpicosJuegos paralímpicos
Juegos paralímpicos
 
San Prints Pvt Ltd
San Prints Pvt LtdSan Prints Pvt Ltd
San Prints Pvt Ltd
 
2 1 중동에서 불어오는 위기의 모래바람
2 1 중동에서 불어오는 위기의 모래바람2 1 중동에서 불어오는 위기의 모래바람
2 1 중동에서 불어오는 위기의 모래바람
 
Cover lettters
Cover letttersCover lettters
Cover lettters
 
#1 MAG_March 2015_Benoit Letellier
#1 MAG_March 2015_Benoit Letellier#1 MAG_March 2015_Benoit Letellier
#1 MAG_March 2015_Benoit Letellier
 
SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...
SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...
SearchLove San Diego 2015 | Jose Caballer & Chris Do, 'Continuous Alignment o...
 
How To Find Clients
How To Find ClientsHow To Find Clients
How To Find Clients
 
МЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИ
МЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИМЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИ
МЕЖДУНАРОДЕН ФЕСТИВАЛ НА МАСКАРАДНИТЕ ИГРИ
 
Job Searching 101 Resume And Cover Letter
Job Searching 101 Resume And Cover LetterJob Searching 101 Resume And Cover Letter
Job Searching 101 Resume And Cover Letter
 

Similaire à Visual Studio Tools for Cordova

Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Sentinel Solutions Ltd
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaNoam Kfir
 
Cordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to CordovaCordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to CordovaBinu Paul
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textToma Velev
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guidemagicshui
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentBintang Thunder
 
flutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptxflutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptxRakshaAgrawal21
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...DevClub_lv
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Nicholas Jansma
 
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
 
TechnoGeek training report
TechnoGeek training reportTechnoGeek training report
TechnoGeek training reportAnup Singh
 
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
 
Tutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJSTutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJSPhilipp Burgmer
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova TutorialJacky Chen
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Ignite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and FirebaseIgnite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and FirebaseJen Looper
 
Flutter technology Based on Web Development
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development divyawani2
 

Similaire à Visual Studio Tools for Cordova (20)

Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Cordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to CordovaCordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to Cordova
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
Codename one
Codename oneCodename one
Codename one
 
Homestead demo
Homestead demoHomestead demo
Homestead demo
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift Deployment
 
flutterbootcamp
flutterbootcampflutterbootcamp
flutterbootcamp
 
flutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptxflutter_bootcamp_MUGDSC_Presentation.pptx
flutter_bootcamp_MUGDSC_Presentation.pptx
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
 
Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)Appcelerator Titanium Intro (2014)
Appcelerator Titanium Intro (2014)
 
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
 
TechnoGeek training report
TechnoGeek training reportTechnoGeek training report
TechnoGeek training report
 
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
 
Tutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJSTutorial: Develop Mobile Applications with AngularJS
Tutorial: Develop Mobile Applications with AngularJS
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova Tutorial
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Ignite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and FirebaseIgnite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and Firebase
 
Flutter technology Based on Web Development
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development
 

Plus de Andrea Tino

Our Journey: from Waterfall to Agile to DevOps
Our Journey: from Waterfall to Agile to DevOpsOur Journey: from Waterfall to Agile to DevOps
Our Journey: from Waterfall to Agile to DevOpsAndrea Tino
 
Development & GDPR (v2)
Development & GDPR (v2)Development & GDPR (v2)
Development & GDPR (v2)Andrea Tino
 
Development & GDPR
Development & GDPRDevelopment & GDPR
Development & GDPRAndrea Tino
 
Cutting Edge on Development Methodologies in IT
Cutting Edge on Development Methodologies in ITCutting Edge on Development Methodologies in IT
Cutting Edge on Development Methodologies in ITAndrea Tino
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOpsAndrea Tino
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous EverythingAndrea Tino
 
Modern Trends in UI Decoupling Design
Modern Trends in UI Decoupling DesignModern Trends in UI Decoupling Design
Modern Trends in UI Decoupling DesignAndrea Tino
 
Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)Andrea Tino
 
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingAndrea Tino
 
Microsoft + Agile (light)
Microsoft + Agile (light)Microsoft + Agile (light)
Microsoft + Agile (light)Andrea Tino
 
Microsoft + Agile
Microsoft + AgileMicrosoft + Agile
Microsoft + AgileAndrea Tino
 
The World of Stylesheet Languages
The World of Stylesheet LanguagesThe World of Stylesheet Languages
The World of Stylesheet LanguagesAndrea Tino
 
How to Develop Cross-Platform Apps
How to Develop Cross-Platform AppsHow to Develop Cross-Platform Apps
How to Develop Cross-Platform AppsAndrea Tino
 
The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)Andrea Tino
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkAndrea Tino
 
7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUMAndrea Tino
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutionsAndrea Tino
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUMAndrea Tino
 
Creating a compiler for your own language
Creating a compiler for your own languageCreating a compiler for your own language
Creating a compiler for your own languageAndrea Tino
 
Stateless load balancing - Early results
Stateless load balancing - Early resultsStateless load balancing - Early results
Stateless load balancing - Early resultsAndrea Tino
 

Plus de Andrea Tino (20)

Our Journey: from Waterfall to Agile to DevOps
Our Journey: from Waterfall to Agile to DevOpsOur Journey: from Waterfall to Agile to DevOps
Our Journey: from Waterfall to Agile to DevOps
 
Development & GDPR (v2)
Development & GDPR (v2)Development & GDPR (v2)
Development & GDPR (v2)
 
Development & GDPR
Development & GDPRDevelopment & GDPR
Development & GDPR
 
Cutting Edge on Development Methodologies in IT
Cutting Edge on Development Methodologies in ITCutting Edge on Development Methodologies in IT
Cutting Edge on Development Methodologies in IT
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Modern Trends in UI Decoupling Design
Modern Trends in UI Decoupling DesignModern Trends in UI Decoupling Design
Modern Trends in UI Decoupling Design
 
Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)Workshop on Cryptography - Frequency Analysis (basic)
Workshop on Cryptography - Frequency Analysis (basic)
 
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
 
Microsoft + Agile (light)
Microsoft + Agile (light)Microsoft + Agile (light)
Microsoft + Agile (light)
 
Microsoft + Agile
Microsoft + AgileMicrosoft + Agile
Microsoft + Agile
 
The World of Stylesheet Languages
The World of Stylesheet LanguagesThe World of Stylesheet Languages
The World of Stylesheet Languages
 
How to Develop Cross-Platform Apps
How to Develop Cross-Platform AppsHow to Develop Cross-Platform Apps
How to Develop Cross-Platform Apps
 
The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)The Asynchronous Pattern (for beginners)
The Asynchronous Pattern (for beginners)
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation framework
 
7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM7 tips for more effective morning SCRUM
7 tips for more effective morning SCRUM
 
Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUM
 
Creating a compiler for your own language
Creating a compiler for your own languageCreating a compiler for your own language
Creating a compiler for your own language
 
Stateless load balancing - Early results
Stateless load balancing - Early resultsStateless load balancing - Early results
Stateless load balancing - Early results
 

Dernier

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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Dernier (20)

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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Visual Studio Tools for Cordova

  • 1. Developing amazing #cross-platform #apps using the new #Cordova tools available in #Visual-Studio-2015 VISUAL STUDIO TOOLS FOR CORDOVA Andrea Tino (Software Development Engineer)
  • 2. Win output myapp.appx .NET Android output myapp.apk iOS output myapp.ipa index.html style.css script.js Source code VISUAL STUDIO 2015 CORDOVA JAVA objC swift Cordova and its history in a few lines PhoneGap’s first appearance during iPhoneDevCamp in San Francisco, developed by Nitobi 20 09 PhoneGap gets acquired by Adobe and code is acquired also by the Apache Foundation 20 11 Visual Studio releases version 2015 with tools embedding Cordova 20 15
  • 3. Why should you use it? Cordova comes with its own toolset which one can use. So Visual Studio is not really needed. What are the benefits of using Visual Studio then? UPGRADE Change Cordova version in project configuration. PLUGIN MANAGEMENT Via project configuration, easy add/remove/upgrade plugins. In plain Cordova the upgrade story is not 100% smooth. CUSTOM FIXES Need to change plugins or other Cordova classes? No duplication in platforms folder, platforms are generated upon cleanup. MSBUILD Building process fully driven by Msbuild
  • 4. STORE STORE STORE The big picture Building and debugging is easier, without using platform specific environments and tools, thus more “central” development experience
  • 5. WINDOWS sdk ANDROID sdk IOS sdk WINDOWS os MAC OS os The build architecture Android is the only SDK available for both Mac and Windows. Visual Studio builds Windows and Android on the Windows machine where it is running, but needs a remote Mac machine for building iOS!
  • 6. Prepare Running before and after prepare hooks Configuration The configuration file config.xml is processed Platforms Adding each supported platform in the project Plugins Adding plugins to all platforms in the project Add platform Hooks before and after adding platforms Add plugins Hooks before and after adding plugins Build Each platform, via its SDK, is built to generate the appfile The build process Visual Studio will generate platforms and plugins everytime a build is issued. Appfiles are then generated and moved into the bin folder.
  • 7. Config file Enclose plat- form-specific set- tings in platform tag Might need to replace values, can’t do in config file <platform name="android"> <preference name="Fullscreen" value="true" /> </platform> Config plugin Use a special custom plugin to manipulate manifest’s XML in plugin.xml file Cannot change single attribute’s value in manifest file. Can only replace nodes and all descendants <platform name="ios"> <config-file target="app.plist" parent="/"> ... </config-file> </platform> Hook Crete a hook to change the manifest file at proper time Must write actual Javas- cript code part of the build process module.exports = function(context) { // context: env vars ... }; Platform specific settings In order to have a platform specific setting land in the proper manifest file, it is possible to use a few approaches.
  • 8. The End THANK YOU Twitter: @_atino E-Mail: andrea.tino@microsoft.com This work is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. Cover: Space mess This work includes artworks designed by Graphic River. This work includes artworks designed by Freepik.com. May 2016 v1.0 Keywords #visual-studio #cordova #microsoft #cross-platform #app #android #ios #windows-10 #windows-phone #tools Presentation info Duration: 30 mins. Background: Technical Audience: Developers This work includes artworks designed by Freestock.com. Andrea Tino Software Development Engineer