SlideShare a Scribd company logo
1 of 18
Download to read offline
Desarrollo de Aplicaciones Cross-
Platform para Dispositivos Móviles
Building Cross-Platform Mobile Applications
M.S.C. Raquel Vásquez Ramírez
M.S.C. Cristian A. Rodríguez Enríquez
Contenido
•  Config XML
•  Essential Properties: Config XML
•  Uso de Config XML
•  Preferences: Multi-Platform
•  Preferences: iOS
•  Preferences: BlackBerry
•  Preferences: Android
•  Storage
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 02 of 18
Config XML
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 03 of 18
Apps built using Adobe® PhoneGap™ Build can be set up
either through PhoneGap Build Web Interface or by using a
config.xml
The config.xml file, as specified in the W3C widget
specification, allows developers to easily specify metadata
about their applications.
Essen%al	
  Proper%es	
  (config.xml)	
  
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 04 of 18
<widget>: The widget element must be the root of your
XML document - it lets us know that you are following
the W3C specification.
•  id: the unique identifier for your application
•  version: for best results, use a major/minor/patch style version,
with three numbers, such as 0.0.1
•  versionCode: (optional) when building for Android, you can set the versionCode
by specifying it in your config.xml.
Notes:
BlackBerry only supports latin characters inthe <name> attribute.
BlackBerry should keep the <description> element at a reasonable length
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 05 of 18
Essen%al	
  Proper%es	
  (config.xml)
<name>: The name of the application.
<description>: A description for your application.
<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"
id = "com.phonegap.example" versionCode = "10” version = "1.0.0">
<!-- versionCode is optional and Android only -->
<name>PhoneGap Example</name>
<description>
An example for phonegap build docs.
</description>
<author href="https://build.phonegap.com" email="support@phonegap.com">
Hardeep Shoker
</author>
</widget>
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 06 of 18
Uso de Config XML
Preferences
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 07 of 18
<preference>: You can have zero or more of these elements
present in your config.xml. If you specify none, default
properties maybe applied.
• name: required
• value: required
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 08 of 18
Preferences: Multi-Platform
<preference name="phonegap-version" value="2.9.0" />
<preference name="orientation" value="landscape" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
More: https://build.phonegap.com/docs/config-xml
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 09 of 18
Preferences: iOS
<preference name="webviewbounce" value="false" />
Controls whether the screen "bounces" when scrolled beyond
the top or bottom on iOS. By default, the bounce is on.
<preference name="prerendered-icon" value="true" />
if icon is prerendered, iOS will not apply it's gloss to the app's
icon on the user's home screen. Default is false.
<preference name="prerendered-icon" value="true" />
if icon is prerendered, iOS will not apply it's gloss to the app's
icon on the user's home screen. Default is false.
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 10 of 18
Preferences: BlackBerry
<preference name="disable-cursor" value="true" />
Prevents a mouse-icon/cursor from being displayed on the
app
More: https://build.phonegap.com/docs/config-xml
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 11 of 18
Preferences: Android
<preference name="android-minSdkVersion" value="10" />
<preference name="android-maxSdkVersion" value="15" />
Android-minSdkVersion and/or android-maxSdkVersion, with
integer values
<preference name="splash-screen-duration" value="10000" />
splash-screen-duration with a value in milliseconds
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 12 of 18
Storage
PhoneGap provides access to the device's storage options. This
API offers storage options based on two different W3C
specifications:
•  The Web Storage API Specification allows you to access
data via simple key/value pairs.
•  The Web SQL Database Specification offers more full-
featured database tables accessed via SQL queries.
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 13 of 18
Storage: localStorage
var permanentStorage = window.localStorage;
var tempStorage = window.sessionStorage;
Plataformas Soportadas:
•  Android
•  BlackBerry WebWorkss (OS 6.0 and higher)
•  iOS
•  Tizen
•  Windows Phone 7 and 8
var value = window.localStorage.getItem("key");
// value is now equal to "value”
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 14 of 18
Storage: localStorage
var keyName = window.localStorage.key(0);
Key Quick Example - Returns the name of the key at the specified
position
window.localStorage.setItem("key", "value");
Set Item Quick Example - Assigns a keyed item's value
Get Item Quick Example - Returns the item identified by the
specified key
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 15 of 18
Storage: localStorage
window.localStorage.removeItem("key");
Remove Item Quick Example - Removes the item identified by the
specified key.
window.localStorage.clear();
Clear	
  Quick	
  Example	
  -­‐	
  Removes all of the key/value pairs.
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 16 of 18
Storage: Database
var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
openDatabase: Returns a new Database object.
var dbShell = window.openDatabase(database_name,
database_version, database_displayname, database_size);
Plataformas Soportadas:
•  Android
•  BlackBerry WebWorkss (OS 6.0 and higher)
•  iOS
•  Tizen
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 17 of 18
Storage: Database
Objects:
•  Database
•  SQLTransaction
•  SQLResultSet
•  SQLResultSetRowList
•  SQLError
Conclusiones	
  
•  PhoneGap permite configurar la aplicación a través
de un archivo de configuración XML
•  Existen configuraciones especificas para cada
plataforma
•  PhoneGap permite utilizar almacenamiento local
(Web y de base de datos)
•  Hydra permite actualizar sin reinstalar utilizando
push, inclusive cuando se actualiza el esquema de
almacenamiento
Building Cross-Plaftform Mobile Applications – PhoneGap
Slide 18 of 18

More Related Content

Similar to 03 Building cross platform mobile applications with PhoneGap / Desarrollo de Aplicaciones Cross-Platform para Dispositivos Moviles

"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGap"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGapChristian Rokitta
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)rudigrobler
 
Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegapRakesh Jha
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegapRakesh Jha
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarinMohit Chhabra
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinPranav Ainavolu
 
Titanium appcelerator my first app
Titanium appcelerator my first appTitanium appcelerator my first app
Titanium appcelerator my first appAlessio Ricco
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoJuliano Martins
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaChristian Heilmann
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapAmar Mesic
 
Building native mobile apps using web technologies
Building native mobile apps using web technologiesBuilding native mobile apps using web technologies
Building native mobile apps using web technologiesHjörtur Hilmarsson
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and SilverlightGlen Gordon
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildChris Griffith
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentEngin Hatay
 

Similar to 03 Building cross platform mobile applications with PhoneGap / Desarrollo de Aplicaciones Cross-Platform para Dispositivos Moviles (20)

"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGap"Native" Apps with APEX and PhoneGap
"Native" Apps with APEX and PhoneGap
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)
 
Introduction phonegap
Introduction phonegapIntroduction phonegap
Introduction phonegap
 
Advanced programing in phonegap
Advanced programing in phonegapAdvanced programing in phonegap
Advanced programing in phonegap
 
Mohini_Singh_CV
Mohini_Singh_CVMohini_Singh_CV
Mohini_Singh_CV
 
mobicon_paper
mobicon_papermobicon_paper
mobicon_paper
 
phonegap_101
phonegap_101phonegap_101
phonegap_101
 
App innovationcircles xamarin
App innovationcircles xamarinApp innovationcircles xamarin
App innovationcircles xamarin
 
Phone gap development, testing, and debugging
Phone gap development, testing, and debuggingPhone gap development, testing, and debugging
Phone gap development, testing, and debugging
 
Cross platform mobile app development with Xamarin
Cross platform mobile app development with XamarinCross platform mobile app development with Xamarin
Cross platform mobile app development with Xamarin
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
Titanium appcelerator my first app
Titanium appcelerator my first appTitanium appcelerator my first app
Titanium appcelerator my first app
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile Híbrido
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
Developing Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGapDeveloping Windows Phone 8 apps using PhoneGap
Developing Windows Phone 8 apps using PhoneGap
 
Building native mobile apps using web technologies
Building native mobile apps using web technologiesBuilding native mobile apps using web technologies
Building native mobile apps using web technologies
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and Silverlight
 
Intro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap BuildIntro to PhoneGap and PhoneGap Build
Intro to PhoneGap and PhoneGap Build
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 

More from Cristian Rodríguez Enríquez

LiDIA: An integration architecture to query Linked Open Data from multiple da...
LiDIA: An integration architecture to query Linked Open Data from multiple da...LiDIA: An integration architecture to query Linked Open Data from multiple da...
LiDIA: An integration architecture to query Linked Open Data from multiple da...Cristian Rodríguez Enríquez
 
02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...Cristian Rodríguez Enríquez
 
01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...Cristian Rodríguez Enríquez
 
05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...Cristian Rodríguez Enríquez
 
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...Cristian Rodríguez Enríquez
 
03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...Cristian Rodríguez Enríquez
 
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...Cristian Rodríguez Enríquez
 
01 Building cross-platform mobile applications with jQuery Mobile
01 Building cross-platform mobile applications with jQuery Mobile01 Building cross-platform mobile applications with jQuery Mobile
01 Building cross-platform mobile applications with jQuery MobileCristian Rodríguez Enríquez
 
Propuesta de integración para el consumo de múltiples datasets de linked data
Propuesta de integración para el consumo de múltiples datasets de linked dataPropuesta de integración para el consumo de múltiples datasets de linked data
Propuesta de integración para el consumo de múltiples datasets de linked dataCristian Rodríguez Enríquez
 

More from Cristian Rodríguez Enríquez (10)

05 building cross platform mobile applications
05 building cross platform mobile applications05 building cross platform mobile applications
05 building cross platform mobile applications
 
LiDIA: An integration architecture to query Linked Open Data from multiple da...
LiDIA: An integration architecture to query Linked Open Data from multiple da...LiDIA: An integration architecture to query Linked Open Data from multiple da...
LiDIA: An integration architecture to query Linked Open Data from multiple da...
 
02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
02 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
 
01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
01 Building cross platform mobile applications with PhoneGap / Desarrollo de ...
 
05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
05 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
 
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
04 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
 
03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
03 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
 
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
 
01 Building cross-platform mobile applications with jQuery Mobile
01 Building cross-platform mobile applications with jQuery Mobile01 Building cross-platform mobile applications with jQuery Mobile
01 Building cross-platform mobile applications with jQuery Mobile
 
Propuesta de integración para el consumo de múltiples datasets de linked data
Propuesta de integración para el consumo de múltiples datasets de linked dataPropuesta de integración para el consumo de múltiples datasets de linked data
Propuesta de integración para el consumo de múltiples datasets de linked data
 

Recently uploaded

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Recently uploaded (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

03 Building cross platform mobile applications with PhoneGap / Desarrollo de Aplicaciones Cross-Platform para Dispositivos Moviles

  • 1. Desarrollo de Aplicaciones Cross- Platform para Dispositivos Móviles Building Cross-Platform Mobile Applications M.S.C. Raquel Vásquez Ramírez M.S.C. Cristian A. Rodríguez Enríquez
  • 2. Contenido •  Config XML •  Essential Properties: Config XML •  Uso de Config XML •  Preferences: Multi-Platform •  Preferences: iOS •  Preferences: BlackBerry •  Preferences: Android •  Storage Building Cross-Plaftform Mobile Applications – PhoneGap Slide 02 of 18
  • 3. Config XML Building Cross-Plaftform Mobile Applications – PhoneGap Slide 03 of 18 Apps built using Adobe® PhoneGap™ Build can be set up either through PhoneGap Build Web Interface or by using a config.xml The config.xml file, as specified in the W3C widget specification, allows developers to easily specify metadata about their applications.
  • 4. Essen%al  Proper%es  (config.xml)   Building Cross-Plaftform Mobile Applications – PhoneGap Slide 04 of 18 <widget>: The widget element must be the root of your XML document - it lets us know that you are following the W3C specification. •  id: the unique identifier for your application •  version: for best results, use a major/minor/patch style version, with three numbers, such as 0.0.1 •  versionCode: (optional) when building for Android, you can set the versionCode by specifying it in your config.xml.
  • 5. Notes: BlackBerry only supports latin characters inthe <name> attribute. BlackBerry should keep the <description> element at a reasonable length Building Cross-Plaftform Mobile Applications – PhoneGap Slide 05 of 18 Essen%al  Proper%es  (config.xml) <name>: The name of the application. <description>: A description for your application.
  • 6. <?xml version="1.0" encoding="UTF-8" ?> <widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id = "com.phonegap.example" versionCode = "10” version = "1.0.0"> <!-- versionCode is optional and Android only --> <name>PhoneGap Example</name> <description> An example for phonegap build docs. </description> <author href="https://build.phonegap.com" email="support@phonegap.com"> Hardeep Shoker </author> </widget> Building Cross-Plaftform Mobile Applications – PhoneGap Slide 06 of 18 Uso de Config XML
  • 7. Preferences Building Cross-Plaftform Mobile Applications – PhoneGap Slide 07 of 18 <preference>: You can have zero or more of these elements present in your config.xml. If you specify none, default properties maybe applied. • name: required • value: required
  • 8. Building Cross-Plaftform Mobile Applications – PhoneGap Slide 08 of 18 Preferences: Multi-Platform <preference name="phonegap-version" value="2.9.0" /> <preference name="orientation" value="landscape" /> <preference name="target-device" value="universal" /> <preference name="fullscreen" value="true" />
  • 9. More: https://build.phonegap.com/docs/config-xml Building Cross-Plaftform Mobile Applications – PhoneGap Slide 09 of 18 Preferences: iOS <preference name="webviewbounce" value="false" /> Controls whether the screen "bounces" when scrolled beyond the top or bottom on iOS. By default, the bounce is on. <preference name="prerendered-icon" value="true" /> if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen. Default is false. <preference name="prerendered-icon" value="true" /> if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen. Default is false.
  • 10. Building Cross-Plaftform Mobile Applications – PhoneGap Slide 10 of 18 Preferences: BlackBerry <preference name="disable-cursor" value="true" /> Prevents a mouse-icon/cursor from being displayed on the app
  • 11. More: https://build.phonegap.com/docs/config-xml Building Cross-Plaftform Mobile Applications – PhoneGap Slide 11 of 18 Preferences: Android <preference name="android-minSdkVersion" value="10" /> <preference name="android-maxSdkVersion" value="15" /> Android-minSdkVersion and/or android-maxSdkVersion, with integer values <preference name="splash-screen-duration" value="10000" /> splash-screen-duration with a value in milliseconds
  • 12. Building Cross-Plaftform Mobile Applications – PhoneGap Slide 12 of 18 Storage PhoneGap provides access to the device's storage options. This API offers storage options based on two different W3C specifications: •  The Web Storage API Specification allows you to access data via simple key/value pairs. •  The Web SQL Database Specification offers more full- featured database tables accessed via SQL queries.
  • 13. Building Cross-Plaftform Mobile Applications – PhoneGap Slide 13 of 18 Storage: localStorage var permanentStorage = window.localStorage; var tempStorage = window.sessionStorage; Plataformas Soportadas: •  Android •  BlackBerry WebWorkss (OS 6.0 and higher) •  iOS •  Tizen •  Windows Phone 7 and 8
  • 14. var value = window.localStorage.getItem("key"); // value is now equal to "value” Building Cross-Plaftform Mobile Applications – PhoneGap Slide 14 of 18 Storage: localStorage var keyName = window.localStorage.key(0); Key Quick Example - Returns the name of the key at the specified position window.localStorage.setItem("key", "value"); Set Item Quick Example - Assigns a keyed item's value Get Item Quick Example - Returns the item identified by the specified key
  • 15. Building Cross-Plaftform Mobile Applications – PhoneGap Slide 15 of 18 Storage: localStorage window.localStorage.removeItem("key"); Remove Item Quick Example - Removes the item identified by the specified key. window.localStorage.clear(); Clear  Quick  Example  -­‐  Removes all of the key/value pairs.
  • 16. Building Cross-Plaftform Mobile Applications – PhoneGap Slide 16 of 18 Storage: Database var db = window.openDatabase("test", "1.0", "Test DB", 1000000); openDatabase: Returns a new Database object. var dbShell = window.openDatabase(database_name, database_version, database_displayname, database_size); Plataformas Soportadas: •  Android •  BlackBerry WebWorkss (OS 6.0 and higher) •  iOS •  Tizen
  • 17. Building Cross-Plaftform Mobile Applications – PhoneGap Slide 17 of 18 Storage: Database Objects: •  Database •  SQLTransaction •  SQLResultSet •  SQLResultSetRowList •  SQLError
  • 18. Conclusiones   •  PhoneGap permite configurar la aplicación a través de un archivo de configuración XML •  Existen configuraciones especificas para cada plataforma •  PhoneGap permite utilizar almacenamiento local (Web y de base de datos) •  Hydra permite actualizar sin reinstalar utilizando push, inclusive cuando se actualiza el esquema de almacenamiento Building Cross-Plaftform Mobile Applications – PhoneGap Slide 18 of 18