El panorama actual del desarrollo móvil obliga a que un desarrollador que pretenda dar cobertura a un número de usuarios aceptable deba tener múltiples versiones de su aplicativo desarrolladas en diversos lenguajes de programación usando los diferentes SDK de las plataformas.
todo esto debido a las diversas plataformas de los dispositivos móviles de los usuarios.
PhoneGap es un framework de desarrollo para aplicativos móviles que permite construir aplicaciones de fácil portabilidad a múltiples plataformas usando HTML, CSS y Javascript.
Las plataformas a soportadas a la versión 2.3 de PhoneGap son:
Toda aplicación de PhoneGap corre en un componente nativo que visualiza una página web, esta página web tiene la opción de usar el API Javascript de PhoneGap que permite acceder a los recursos del dispositivo móvil
El API me permite acceder a los diferentes recursos del dispositivo móvil donde se va a ejecutar el aplicativo, estos recursos pueden variar por limitaciones de software o hardware en cada plataforma.
El proceso es casi idéntico en Windows, Linux y Mac
Para las plataformas más populares el proceso de creación del proyecto esta simplificado mediante un script que genera todos los recursos, este script de nombre create se encuentra en el subdirectorio bin del directorio de la plataforma despues de descomprimir PhoneGap
./create ~/tmp/MedellinJSApp com.MedellinJS.MedellinJSApp MedellinJSApp
Los parámetros son: ruta de creación, nombre del paquete y nombre del aplicativo
El proyecto puede ser ejecutado haciendo click con el botón derecho en el y seleccionando la opción Run As -> Android Application, esto lo ejecutará en un emulador que provee el Android SDK o puede ser ejecutado en un dispositivo Android con las opciones de desarrollo activadas.
Desde eclipse se puede crear el emulador si no se tiene uno usando la herramienta AVD
JQuery Mobile es un framework para el desarrollo de interfaces gráficas en HTML orientado a compatibilidad entre múltiples plataformas móviles.
Jquery Mobile hace un uso extensivo de la especificación de atributos personalizados 'data' de HTML5, clases de CSS y eventos en Javascript para crear una interfaz compatible con las plataformas soportadas.
<!DOCTYPE html>
<html>
<head>
<title>Página básica</title>
<link rel="stylesheet" href="themes/medellinjs.min.css" />
<link rel="stylesheet" href="css/jquery.mobile.structure.min.css" />
<script src="js/jquery.min.js"></script>
<script src="js/jquery.mobile.min.js"></script>
</head>
<body>
<div data-role="page" id="page1">
<div data-role="header">
<h3>Header</h3>
</div>
<div data-role="content">
</div>
<div data-role="footer">
<h3>Footer</h3>
</div>
</div>
</body>
</html>
Un botón:
<a href="#" data-role="button" id="boton1">Un botón</a>
Un switch:
<select name="flip-1" id="flip-1" data-role="slider">
<option value="off">Off</option>
<option value="on">On</option>
</select>
$("#mi_boton").on("click", function(event, ui) {
miFuncion();
});
$("#mi_select").on( "change", function(event, ui) {
miOtraFuncion();
});