Contenido

HTML5 llega al iPhone

3 feb

+ 9

Ajaxian nos alegra esta mañana anunciando que el iphone será el primer dispositivo móvil que dispondrá de algunas de las maravillas del HTML5 en su navegador web.

Almacenamiento DOM

Concretamente, la versión 2.1 del nuevo iPhone dispondrá de una base de datos para almacenamiento DOM de nuestras aplicaciones.

try {
    if (!window.openDatabase) {
        alert('not supported');
    } else {
        var shortName = 'mydatabase';
        var version = '1.0';
        var displayName = 'My Important Database';
        var maxSize = 65536; // in bytes
        var mydb = openDatabase(shortName, version, displayName, maxSize);

 	// Creamos las tablas
 	createTables(mydb);

 	// Ejecutamos UPDATE
 	updateRow('jdoe', 'fuschia');
    }
} catch(e) {
    // Error handling code goes here.
    if (e == INVALID_STATE_ERR) {
        // Version number mismatch.
        alert("Invalid database version.");
    } else {
        alert("Unknown error "+e+".");
    }
    return;
}

function createTables(db)
{
    db.transaction(
        function (transaction) {

            /* CREAMOS LA TABLA SI NO EXISTE . */
            transaction.executeSql('CREATE TABLE people(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL DEFAULT "John Doe", shirt TEXT NOT NULL DEFAULT "Purple");', [], nullDataHandler, errorHandler);

            /* AÑADIMOS DATOS. */
            transaction.executeSql('insert into people (name, shirt) VALUES ("Joe", "Green");', [], nullDataHandler, errorHandler);
            transaction.executeSql('insert into people (name, shirt) VALUES ("Mark", "Blue");', [], nullDataHandler, errorHandler);
            transaction.executeSql('insert into people (name, shirt) VALUES ("Phil", "Orange");', [], nullDataHandler, errorHandler);
            transaction.executeSql('insert into people (name, shirt) VALUES ("jdoe", "Purple");', [], nullDataHandler, errorHandler);
        }
    );
}

function updateRow(name, shirt) {
	db.transaction(
    function (transaction) {
        transaction.executeSql("UPDATE people set shirt=? where name=?;",
            [ shirt, name ]); // array of values for the ? placeholders
    }
	);
}

Disponemos de una documentación bastante detallada que nos permitirá hacer uso de esta fantástica propiedad.

Caché HTML5 de Aplicaciones

Cuando seleccionemos guardar nuestra aplicación en el Home Screen, esta automáticamente se guardará en caché, siempre y cuando lo especifiquemos mediante el tipo MIME correspondiente. Una forma de hacer más rápidas las aplicaciones para los clientes.

Esta capacidad será exclusiva de Safari Mobile y no aparecerá en ninguna otra versión de WebKit.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.