1 de octubre de 2013

Ejemplo de jQuery Mobile

Ejemplo de jQuery Mobile


En esta entrada publicare un pequeño código para mostrar lo sencillo que es desarrollar una aplicación web móvil con jQuery Mobile. Como se muestra en el recuadro que se encuentra a continuación, una típica página de jQuery Mobile tiene tres secciones: un encabezado, contenido y pie de página.

El código anterior genera una vista similar a la que se muestra en la siguiente figura.

La sección de encabezado es donde normalmente se coloca los encabezados de página y/o logos. La sección de contenido es donde la web específica de la aplicación y el contenido de los diferentes widgets. La sección de pie de página es ideal para la navegación.

Para aprovechar las funciones de jQuery Mobile avanzadas y la sintaxis HTML, un documento HTML jQuery Mobile debe definir el doctype HTML5. El resto del documento HTML consta de:
  • El encabezado contiene las referencias a jQuery Mobile y los temas CSS.
  • La sección del cuerpo contiene el contenido de la aplicación Web.
  • El pie de página puede ser fácilmente utilizado como una barra de navegación.
Con el siguiente código se muestra un ejemplo de un documento jQuery Mobile con HTML5.

<!-- Definir el doctype HTML5: -->

<!DOCTYPE html>

<!-- Definir el <head> HTML5 con referencias a jQuery, jQuery Mobile y temas CSS móviles: -->

<html>

<head>
    <title> Título de la página </title>

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel = "stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css "/>
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"> </script>
    <script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js "> </script>
</head>

<!-- Definir el <body> documento HTML que incluye los elementos móviles de jQuery: -->

<body>

<div data-role="page" id="page1">
    <div data-role="header">
       <h1> HEADER </h1>
    </div>

    <div data-role="content">
       <p>
       ÁREA DE CONTENIDO
       </p>

    </div>

    <div data-role="footer">
       <h1> FOOTER </h1>
<!-- El pie de página se puede convertir en una barra de navegación muy fácilmente, como sigue: -->
      <center>
       <div data-role="footer" class="ui-bar">
        <div data-role="controlgroup" data-type="horizontal">
         <a href="index.html" data-role="button"> One </a>
         <a href="index.html" data-role="button"> Two </a>
         <a href="index.html" data-role="button"> Tres </a>
         <a href="index.html" data-role="button"> Ninguno </a>
        </div>      
       </div>
      </center>

    </div>
</div>

<div data-role="page" id="page2">
:
:
</div>

</body>
</html>




El resultado del código anterior se puede observar en la siguiente figura.

Referencias:
[1] http://www.ibm.com/developerworks/library/wa-jquerymobileupdate/index.html
[2] http://jquerymobile.com/demos/1.2.0/
[3] http://the-jquerymobile-tutorial.org/

Breve reseña de jQuery Mobile

Introducción


jQuery Mobile es un excelente Framework para la creación de aplicaciones web para dispositivos móviles. Desarrollado en base al popular jQuery y su interfaz de usuario (UI), jQuery Mobile es un Framework eficaz y unificado para escribir aplicaciones web para móviles. Con jQuery Mobile se puede asegurar del diseño y comportamiento persistente a través de diferentes plataformas móviles. Las características básicas de jQuery Mobile incluyen:
  • Simplicidad y flexibilidad general: El Framework es fácil de usar. El desarrollador puede:
    • Desarrollar páginas utilizando principalmente etiquetado manejado con poco o sin Javascript.
    • Uso de JavaScript avanzado y eventos.
    • Uso de un único documento HTML con múltiples páginas embebidas.
    • División de la aplicación en varias páginas.
  • Mejora progresiva y la degradación agraciada: Mientras jQuery Mobile aprovecha lo último de HTML5, CSS 3 y JavaScript, no todos los dispositivos móviles cuentan con soporte para estas tecnologías. La filosofía de jQuery Mobile es apoyar a tanto dispositivos de gama alta y de menor capacidad, como los que no tienen soporte de JavaScript y aun así proporcionar la mejor experiencia posible.
  • Soporte para el tacto y otros métodos de entrada: jQuery Mobile proporciona soporte para diferentes métodos de entrada y eventos: el tacto, el ratón y el cursor de enfoque basados en los métodos de entrada de usuario.
  • Accesibilidad: jQuery Mobile se ha diseñado pensando en la accesibilidad. Tiene soporte para Aplicaciones de Internet Enriquecidas Accesibles (WAI-ARIA) para ayudar a hacer páginas web accesibles para los visitantes con discapacidades que utilicen tecnologías de asistencia.
  • Ligero y modular: El Framework es ligero, con un tamaño total (miniaturizada y comprimido para la versión 1.0.1) de 24KB para la biblioteca JavaScript 7KB para la CSS, además de algunos iconos.
  • Tematización: El Framework también proporciona un sistema temático que le permite utilizar y definir su estilo propio. Con la nueva aplicación ThemeRoller el desarrollador puede crear fácilmente sus propios temas.

El Framework de jQuery Mobile incluye todos los componentes de interfaz de usuario necesarios para la construcción de aplicaciones web completas móviles y sitios web: páginas, cuadros de diálogo, barras de herramientas, diferentes tipos de vistas de lista, una gran variedad de elementos de formulario y botones, y mucho más. Además jQuery Mobile se basa en la parte superior del núcleo de jQuery, por lo que tiene acceso a los servicios esenciales, entre ellos: HTML y el modelo de objetos de documento (DOM) XML de desplazamiento y manipulación, gestión de eventos, la comunicación servidor usando Ajax y efectos de animación e imágenes de las páginas web.

Con jQuery Mobile se pueden escribir aplicaciones básicas de Internet móvil sin mucho esfuerzo. Debido a que jQuery Mobile es un Framework muy amplio con eventos avanzados y muchas APIs, también se pueden escribir aplicaciones avanzadas de Internet móvil y sitios web.

Compatibilidad con navegadores móviles


Los navegadores web móviles han recorrido un largo camino, pero no todos los dispositivos móviles ofrecen soporte para HTML5, CSS 3 y JavaScript. En este escenario es donde se puede observar como la consolidación progresiva de jQuery Mobile y el apoyo de la degradación agraciada entran en juego.

jQuery Mobile es compatible tanto con dispositivos de gama alta y menos capaces, como los que no tienen soporte de JavaScript. La “Mejora progresiva” es una filosofía de diseño, consta de los siguientes principios básicos:
  • Todo el contenido básico debe ser accesible a todos los navegadores.
  • Toda la funcionalidad básica debe ser accesible a todos los navegadores.
  • Disposición mejorada mediante CSS’s externamente vinculadas.
  • Comportamiento mejorado mediante JavaScript externamente vinculadas.
  • Las preferencias del navegador del usuario se respetan.

Todo el contenido básico debe representarse (según el diseño) en los dispositivos básicos, mientras que en las plataformas y navegadores más avanzadas se deben mejorar el contenido progresivamente con el uso de JavaScript y CSS.

jQuery Mobile proporciona soporte para un gran número de dispositivos móviles. jQuery Mobile clasifica (o agrupa) los dispositivos soportados en tres categorías en función de su nivel de soporte:
  • Grado A: Los dispositivos con soporte para una experiencia totalmente mejorada con Ajax basadas en transiciones de página animadas. jQuery Mobile es compatible con más de 20 dispositivos diferentes, incluyendo: iOS 3.2 a 5.0; Android 2.1-2.3 y 3.0, BlackBerry Playbook y 6-7; Skyfire 4.1, Opera Mobile, y el escritorio navegadores Chrome, Firefox, Internet Explorer y Opera.
  • Grado B: Los dispositivos con soporte para una experiencia mejorada pero sin las funciones de Ajax de navegación. Los dispositivos compatibles incluyen: BlackBerry 5.0, Opera Mini 5.0-6.5, y Nokia Symbian.
  • Grado C: Los dispositivos con soporte básico que utilizan solo HTML. Los dispositivos compatibles incluyen: la mayoría de los Smartphone BlackBerry, incluyendo 4.x, Windows Mobile, entre otros.

 Referencias:
[1] http://www.ibm.com/developerworks/library/wa-jquerymobileupdate/index.html
[2] http://jquerymobile.com/demos/1.2.0/
[3] http://the-jquerymobile-tutorial.org/

21 de septiembre de 2013

Aplicaciones Móviles Web: Ventajas y Desventajas



Aplicaciones Móviles Web

La principal característica de las aplicaciónes móviles Web es que son Multiplataforma. Aunque se requieran algunos ajustes, una aplicacion móvil Web funciona generalmente en todos los dispositivos móviles. La tecnología utilizada en este tipo de aplicaciones es más sencilla que la necesaria para desarrollar aplicaciones nativas, teniendo la opcion de utilizar lenguajes como HTML5, JS o CSS. En consecuencia es mucho más extendida, popular y general.


Debido a que funcionan con independencia de los canales de distribución de operadores y fabricantes, no se someten a ningún control, ni en la publicación inicial ni en las posteriores actualizaciones, como sucede por ejemplo con las aplicaciones en el App Store, Play Store o Marketplace. Por tanto, no hay revisión de las versiones que se publiquen, y las actualizaciones llegan de manera automática a todos los usuarios y plataformas a la vez.


Relacionado con lo anteriormente mencionado, la independencia del canal de distribución permite un mayor control de la política de precios sobre la distribución de contenidos desde la aplicación (in-App), evitando los rangos fijos, como los que tiene establecidos el App Store. Adicionalmente a la libertad en la política de precios, una aplicación móvil Web permite implementar uno o varios mecanismos de pago diferentes y de esta manera no tener que pagar las altas comisiones de las tiendas de aplicaciones (alrededor del 30%). Como inconvenientes, la descentralización del Store implica un mayor esfuerzo de marketing para que los usuarios tengan conocimiento de la disponibilidad de la aplicación, además de necesitar más recursos para distribuir la aplicación.

Teniendo en cuenta las características mencionadas, para desarrollar una aplicacion móvil es necesario ajustar el desarrollo al tipo de aplicación que ofrezca mayores prestaciones para el tipo de contenido, objetivo y funcionalidad. Es decir, aplicaciones como Páginas Amarillas o GasAll, cuya funcionalidad principal es la utilización del GPS integrado para determinar qué establecimientos o gasolineras están más cerca, en función de la posición del usuario, no tendrían sentido como aplicación web.
 
Por el contrario, tenemos el ejemplo de un sector tan influyente como el editorial, como la cara más visible de una tendencia que se va asentando. Ante la negativa de aceptar las condiciones de Apple, se decantan por las aplicaciones web basadas en HTML5. El caso más escuchado es el Financial Times. Después de varios meses de tira y afloja, Apple ha optado por retirar la aplicación de esta cabecera de prácticamente todos los Stores. El detonante, la normativa relativa a la suscripción de contenidos, puesto que las Guidelines de Apple obligan a realizarlas a través del Store y, de esta manera, retienen el 30% de los beneficios generados. Dado que la funcionalidad de la aplicación del Financial Times no requiere de las prestaciones del iPhone o del iPad, al optar por una aplicación web evitan las revisiones de Apple y, al mismo tiempo, consiguen que los suscriptores accedan al contenido desde cualquier dispositivo y que el beneficio obtenido con las suscripciones de los usuarios se quede íntegramente en sus arcas.