domingo, 17 de junio de 2012

PhoneGap para el desarrollo de aplicaciones móviles



En este artículos veremos básicamente varias de las posibilidades que nos brinda PhoneGap para el desarrollo de aplicaciones compatibles con los dispositivos móviles.

Además veremos algunos de los framework compatibles que nos permiten desarrollar interfaces para las aplicaciones que desarrollemos.



¿Que es PhoneGap?

PhoneGap es un framework de código abierto, desarrollada por la empresa llamada Nitobi. Posteriormente Nitobi fue comprada por Adobe. Adobe incorpora PhoneGap en Dreamweaver desde la versión 5.5.

PhoneGap permite el desarrollo de aplicaciones compatibles con diferentes sistemas operativos disponibles actualmente  (Android, Blackberry, iOS, Symbian, WebOS, Windows Phone, Bada).

Las principales características que nos permite acceder son: Acelerometro, Camara, Compass, Contactos, File, Geolocalización, Red, Notificaciones, Escaner de código de barra.


Entendiendo PhoneGap

PhoneGap nos permite desarrollar aplicaciones para dispositivos móviles usando usando HTML5, CSS, Javascript, podemos probarlas usando emuladores, y finalmente crear un paquete para que pueda ser distribuida a las diferentes sistemas operativos móviles. A continuación un pequeño diagrama ilustrativo del proceso que a su vez es rápido y sencillo.



Librerías Javascript compatibles

PhoneGap permite ser integrado con diferentes librerías Javascript que nos dan la posibilidad de desarrollar aplicaciones con interfaces compatibles con la gran variedad de smartphones y tablet. A continuación mostramos algunas de las librarías compatibles y usadas.


jQuery Mobile es un framework para el desarrollo rápido y facil de  aplicaciones móviles, optimizadas para crear interfaces touch compatibles con los dispositivos. Es compatible con PhoneGapCompatible con HTML5, CSS3 y Javascript. Licencia GPL o MIT.





Sencha es un framework para el desarrollo de interfaces compatibles con dispositivos móviles y PhoneGap, y que sean similares visualmente a las aplicaciones nativas. Es compatible con HTML5, CSS3 y Javascript. Cuenta con licencia GPLv3 o Comercial.



JQTouch es un plugin JQuery de código abierto, permite el desarrollo de interfaces compatibles con iPhone, Android, Palm. Permite el desarrollo de aplicaciones móviles usando HTML, CSS y Javascript y lograr una vista similar a las aplicaciones nativas. Licencia MIT. Actualmente está en versión beta.




Próximamente hablaremos más de PhoneGap y las tecnologías.

sábado, 19 de mayo de 2012

Wordpress: Custom Post Type y Auto guardado/Autosave

El siguiente post es debido a un pequeño problema al crear un Custom Post Type o Custom Meta Box, que cuando creamos un post, noticia y otro, los campos se borran solos cuando salimos del formulario o cuando se realiza el autosave de wordpress.

Un ejemplo de un Custom Post Type en nuestro functions.php :

add_action('init', 'texto');
function texto() {

    $labels = array(
        'name' => _x('texto', 'post type general name'),
        'singular_name' => _x('texto', 'post type singular name'),
        'add_new' => _x('Agregar Nuevo', 'texto'),
        'add_new_item' => __('Agregar Nuevo texto'),
        'edit_item' => __('Editar texto'),
        'new_item' => __('Nuevo texto'),
        'view_item' => __('Ver texto'),
        'search_items' => __('Buscar texto'),
        'not_found' =>  __('Nada encontrado'),
        'not_found_in_trash' => __('Nada encontrado en papelera'),
        'parent_item_colon' => ''
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => true,
        'menu_position' => null,
        'rewrite'   => true,
        'has_archive' => true,
        'supports' => array('title','editor', 'excerpt','thumbnail','comments','author','page-attributes')
    );

    register_post_type( 'texto' , $args );
}


function admin_init(){
    add_meta_box("opcion", "Opcion", "opcion", "texto", "normal", "low");
}


function opcion(){
    global $post;
    $custom = get_post_custom($post->ID);
    $texto= $custom["texto"][0];
    ?>
    Texto: < input name="texto" type="text" id="texto" value="texto; ?>" />

}


add_action('save_post', 'save_opcion');

function save_opcion(){
    if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
        return $post_id;

    global $post;
 
    update_post_meta($post->ID, "opcion", $_POST["texto"]);
}

Basta con incluir las siguiente 2 lineas en nuestro código:


    if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
        return $post_id;


Estas se ejecutan cuando oprimimos el botón de publicar o cuando se realiza el autosave de wordpress.

jueves, 6 de enero de 2011

Oficial: Drupal 7 Liberado

Despues de 3 años de trabajo en la Versión 7 de Drupal, finalmente ha sido liberada. Podemos descargar Drupal 7 desde su sitio oficial.

Requerimientos de Drupal 7:
  • Un servidor web: Apache (recomendado), Nginx, Lighttpd, o Microsoft IIS
  • Base de datos: MySQL 5.0.15 o superior, PostgreSQL 8.3 o superior, o SQLite 3.x
  • PHP: 5.2.4 y superior
  • Memoria: 32MB (Un sitio con varios de los módulos más comúnmente habilitados puede requerir 64MB o más.)
Entre sus principales funcionalidades:


- Contenido flexible: Puede definir campos personalizados que podrán ser utilizados en tipos de contenido, usuarios, comentarios, términos y otras entidades. Almacene los datos de esos campos en SQL, NoSQL o utilice almacenamiento remoto.

- Mejor diseño de plantillas: Controle exactamente qué se muestra en pantalla con la nueva Render API y algunos hooks drásticos para modificaciones. El nuevo módulo RDF provee marcado semántico para la web.

- Accessible: Las pantallas de administración son ahora mucho más accesibles. Las abundantes mejoras en el interfaz le facilitan la construcción de páginas web altamente accesibles.

- Imágenes y ficheros: El soporte de ímagenes en el contenido está ahora incorporado en el núcleo. Genere versiones diferentes para thumbnails, vistas previas y otros estilos de imágenes. Ahora es posible utilizar las gestiones privada y pública de ficheros al mismo tiempo.

- Testing automático del código: Un nuevo entorno de testing automatizado, con más de 30.000 tests incluidos permite el testing de integración continua de todos los parches al núcleo de Drupal y a los módulos contribuidos.

- Soporte de base de datos mejorado: Una nueva capa de abstracción de base de datos provee soporte para SQLite, MySQL/MariaDB y PostgreSQL out-of-the-box. Puede instalar módulos contribuidos para utilizar MS SQL Server, Oracle, y más.

- Mejor soporte para distribuciones: Utilice perfiles de instalación para distribuir su producto personalizado basado en Drupal. Una nueva API y configuración exportable le permite capturar más opciónes en código.

- Extender: Gracias a un enorme esfuerzo de la comunidad, más de 800 módulos están disponibles o bajo desarrollo activo para Drupal 7, incluyendo Views, Pathauto, y WYSIWYG, con muchos otros en el camino de actualizarse cada día.



miércoles, 22 de diciembre de 2010

Actualizado: Skype sufre caída mundial

Los usuarios de todo el mundo reportan la pérdida de este servicio, la compañía afirmó que no sabe cuál es el origen de la falla. Y que sus ingenieros se encuentran trabajando aún en la solución por vía de Twitter.

El problema consiste a la hora de acceder con los datos de usuario a Skype. Skype, presentó una caída en el año 2007.

Esperamos que este servicio se restablezca pronto, ya que por sus características lo hace casi uno de los más importantes.

Actualizado (23/Diciembre): Se restablece el servicio.

martes, 2 de noviembre de 2010

Limitar ancho de banda utilizando Apache con Debian "Lenny"

Limitar el ancho de banda es algo que puede parecer poco útil; si contamos con un ancho de banda suficiente como para satisfacer todas las peticiones realizadas a nuestro Servidor Web; el cuál puede incluir descarga de archivos, videos, entre otros.

A continuación veremos como limitar el ancho de banda de nuestro Servidor Web utilizando Apache en Debian "Lenny". Partiremos de que ya tenemos instalado apache2.

Paso 1: Instalar módulo "libapache2-mod-bw"

Instalaremos el módulo que necesitamos mediante el comando aptitude y buscamos el módulo libapache2-mod-bw.

También utilizando el comando apt-get install libapache2-mod-bw


Paso 2: Activar módulo en Apache

Para activar el módulo debemos teclear el comando a2enmod bw, esto permite que se active en apache el módulo que hemos instalado.


Paso 3: Reiniciar el servicio Apache

Para reiniciar este servicio tecleamos /etc/init.d/apache2 restart


Paso 3: Configurar Virtual Host en Apache

Para configurar un Virtual Host en apache vamos ir al directorio:

/etc/apache2/sites-available/default

Dentro de VirtualHost y Directory

Le agregamos las líneas que a continuación listamos (mantenemos las que se encuentran en este archivo):

#Activar el límite de ancho de banda.
BandwidthModule On

# Forzamos a que se limite en cada petición.
ForceBandWidthModule On

# Limitamos el ancho de banda a 10kb/s
Bandwidth all 10240

Paso 4: Reiniciar Apache

Para reiniciar nuestro Servidor Web debemos teclear el siguiente comando en la consola:

/etc/init.d/apache2 restart


Dejanos tus comentarios y cuentanos tus experiencias. Que mejoras le haz añadido a tu configuración. Esperamos que nuestro artículo les sea de gran utilidad.
Templates
Templates