This document discusses cross-platform mobile app development using PhoneGap. It introduces common problems with developing for multiple platforms, and explores PhoneGap as an alternative that allows building apps using HTML, CSS and JavaScript that can be deployed across platforms like iOS, Android and more. Key PhoneGap features that provide access to device capabilities are demonstrated.
6. PHONEGAP
• Desenvolvimento sistemas mobile utilizando páginas web
• Acesso a recursos nativos
• Framework base: APACHE CORDOVA
• Open Source
7. Wrap your app with Deploy to multiple
PhoneGap platforms!
PROCESSO DE DEPLOY
8. APACHE CORDOVA
• Incubado pela Apache.
• OpenSource.
• Plataforma de construção de aplicações mobile nativas utilizando HTML, CSS e
JavaScript.
• Utiliza o Browser nativo do dispositivo.
20. NOTIFICAÇÃO
function onConfirm(buttonIndex) {
alert('You selected button ' + buttonIndex);
function alertDismissed() { }
// do something
} // Show a custom confirmation dialog
//
navigator.notification.alert( function showConfirm() {
'You are the winner!', // message navigator.notification.confirm(
alertDismissed, // callback 'You are the winner!', // message
'Game Over', // title onConfirm, // callback to invoke with index of button pressed
'Done' // buttonName 'Game Over', // title
); 'Restart,Exit' // buttonLabels
);
}
navigator.notification.beep(2); navigator.notification.vibrate(2500);
21. STORAGE
var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
function successCB() {
alert("success!");
}
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
22. STORAGE
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
var len = results.rows.length;
console.log("DEMO table: " + len + " rows found.");
for (var i=0; i<len; i++){
console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data);
}
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(queryDB, errorCB);
28. PRÓS
• Única aplicação para várias plataformas
• Conhecimentos em Html5, CSS3 e javascript VS Object-c, Java e C#.
• Aplicações em todos os markets (App Store, Google Play, ...).
29. CONTRAS
• Aplicativos nativos são mais rápidos
• Problemas de performance na construção de Jogos
• Customização dos componentes
32. paulo.fonseca@vpsa.com.br0
linkedin.com/in/pfonseca0
paulovitor.java@gmail.com0
http://www.slideshare.net/paulovitormirafonseca/apresentacao-phonegap
OBRIGADO
Paulo Vitor Mira Fonseca