Aunque no se crearon específicamente para trabajar juntos, jQuery Mobile y Cordova (también conocido como PhoneGap) son un dúo muy poderoso para crear aplicaciones móviles híbridas. Esta serie le enseñará cómo desarrollar un lector de feeds utilizando tecnologías web y estos dos marcos. A lo largo de esta serie, también se familiarizará con los complementos básicos de conexión y almacenamiento de Cordova y la API de Google Feed..
Descripción general de la aplicación
La aplicación que construiremos en este tutorial, llamado "Audero Feed Reader", es muy pequeña y fácil de entender. Es un lector de feeds básico que te ayudará a mantener todas las noticias y los artículos que te interesan en un solo lugar. Después de todo, Google cerró Google Reader, así que tenemos que reemplazarlo, ¿no es así??
En la pantalla de inicio de la aplicación, colocaremos dos botones para resaltar las dos características principales: agregar un nuevo botón de alimentación y una lista de las fuentes guardadas. El diseño de la pantalla de inicio se muestra con la siguiente captura de pantalla:
Para mantener el proyecto lo más simple posible, solo guardaremos el nombre del feed y su URL. Entonces, una vez que el usuario haga clic en el botón "Agregar fuente", mostraremos un formulario con solo dos casillas de entrada, como se muestra en la siguiente imagen:
Ahora que el usuario puede guardar tantas fuentes como desee, es hora de permitirle ver la lista de esas fuentes guardadas. Además, para ayudar al usuario a encontrar fácilmente una fuente, la lista está ordenada alfabéticamente por nombre y también tiene un cuadro de búsqueda, en caso de que las fuentes sean demasiado numerosas. Puede ver un ejemplo de la página descrita en la captura de pantalla a continuación:
Una vez que el usuario elige un feed, la aplicación obtiene la URL y muestra las entradas disponibles. Para analizar fácilmente los diferentes tipos de feeds (Atom, RSS o Media RSS), aprovecharemos la API de Google Feed y, específicamente, la interfaz JSON de Google Feed. Este último analizará la URL solicitada y devolverá un objeto JSON unificado y fácil de analizar. Descubriremos más sobre esta API en la siguiente parte de esta serie. Por defecto, para ahorrar ancho de banda., Audero Feed Reader Solo requerirá 10 entradas. Para permitir que el usuario recupere más datos, agregaremos un botón "Mostrar más". Por supuesto, los datos se recuperarán realmente solo si el Feed proporcionado expone más de 10 entradas. Por ejemplo, Mobiletuts + proporciona solo 10 entradas, por lo que si el usuario hace clic en el botón "Mostrar más", aparecerá el mensaje "No hay más entradas para cargar"..
Para ahorrar espacio, las entradas se organizan con un acordeón y, de forma predeterminada, solo el título es visible. Sin embargo, el usuario puede ver más detalles si es necesario. La aplicación también muestra el resumen de la entrada, el autor y un botón que dice "Ir al artículo" para leer el artículo completo en el sitio web correspondiente. Tenga en cuenta que para mejorar la usabilidad, también mostraremos nuevamente el título, pero esta vez se puede hacer clic para acceder al artículo completo..
El aspecto final de esta página se muestra a continuación:
Componentes del proyecto
En este punto sabemos qué hacer, asi que es hora de ver cómo lo haremos. Las tecnologías involucradas en el desarrollo de Audero Feed Reader son:
HTML 5: Para crear y marcar las páginas..
CSS 3: Para estilizar las páginas. Tenga en cuenta que no tendremos una hoja de estilo CSS personalizada y solo usaremos la proporcionada y requerida por jQuery Mobile.
JavaScript: Este es el lenguaje que usaremos para programar la lógica de la aplicación. Es el único idioma soportado por PhoneGap..
jQuery: jQuery se utilizará para seleccionar elementos, adjuntar controladores de eventos y ejecutar solicitudes AJAX. También es una dependencia de jQuery Mobile..
jQuery Mobile: Este es nuestro marco de elección para crear la interfaz de usuario de nuestras páginas. Nos permite optimizar fácilmente un sitio web para dispositivos móviles y crear rápidamente interfaces móviles. En el momento de redactar este documento, la versión más reciente disponible y utilizada es 1.3.1..
PhoneGap: Envuelve todos nuestros archivos para que podamos compilarlos como si estuviéramos construyendo una aplicación nativa. Además, PhoneGap ofrece algunas API interesantes y útiles para comunicarse con el hardware del dispositivo, como Almacenamiento y Conexión. La versión utilizada es 3.0, una mejora reciente y significativa sobre 2.x.
Además de lo anterior, usaremos también estos complementos específicos de Cordova Core:
InAppBrowser: Esto es un navegador web que se muestra en la aplicación al llamar ventana abierta. Desde la versión 2.3.0, se han agregado dos métodos importantes: executeScript () y insertCSS (). El primero le permite inyectar código JavaScript, mientras que el segundo agrega código CSS a la InAppBrowser ventana. No utilizaremos estos métodos en nuestra aplicación, pero quería mencionarlos. Para obtener más información, visite el documento oficial InAppBrowser.
Complemento de almacenamiento: Proporciona acceso a las opciones de almacenamiento del dispositivo. Tenga en cuenta que, como afirma la documentación, algunos dispositivos ya proporcionan una implementación de estas especificaciones, en cuyo caso se aplica el soporte integrado. La implementación de Cordova ofrece soporte compatible para aquellos que no lo hacen. Para leer más, eche un vistazo a la documentación de almacenamiento local.
Complemento de notificación: Le permite crear notificaciones visuales, audibles y de dispositivos táctiles. De los varios métodos disponibles, usaremos solo alerta() Para mostrar algunos mensajes al usuario. Por ejemplo, este complemento se utilizará cuando un usuario agregue o elimine con éxito una fuente. Para más información, consulte los documentos de notificación..
Plugin de conexion: Se compone de una sola propiedad que proporciona información sobre el estado de conexión del dispositivo (por ejemplo, WI-FI, 3G, ninguno, etc.). Tenga en cuenta que desde la versión 2.3.0, debe acceder a la Conexión objeto usando el nuevo navegador de conexión propiedad. Esta propiedad coincide con la especificación W3C, en lugar de la anterior navigator.network.connection propiedad. Más sobre esto aquí.
Si usó versiones anteriores de PhoneGap, reconocerá que estos complementos no son más que lo que solía conocer como API. El cambio de nombre se debe a la nueva arquitectura PhoneGap. Pero no te preocupes, aparte del nombre, casi todo es igual. Si desea obtener información acerca de todas las mejoras más recientes y mejores con 3.0, puede leer el artículo introductorio y la guía de introducción..
1. Instalar PhoneGap
A partir de la versión 3.0.0, el equipo de desarrollo introdujo un nuevo procedimiento para instalar PhoneGap que requiere Node.js y npm. Además, en este momento no se proporcionan enlaces de descarga simples como una alternativa. Por lo tanto, el resto del tutorial asume que tiene ambos paquetes de software instalados y funcionando. Una vez hecho esto, el primer paso es escribir el siguiente comando para instalar PhoneGap:
npm install -g phonegap
Si está utilizando Linux, recuerde que debe anteponer sudo a la linea anterior.
2. Inicializar el proyecto.
Antes de crear la carpeta del proyecto, vale la pena señalar que el equipo de desarrollo también introdujo una línea de comandos en esta nueva versión para ayudar a los desarrolladores a realizar tareas comunes como compilar y ejecutar la aplicación o instalar complementos. El CLI también le permite inicializar un proyecto. No solo creará una carpeta con la biblioteca de PhoneGap dentro, sino que también generará el esqueleto de una aplicación. Para inicializar el proyecto, simplemente escriba el siguiente comando:
El primer argumento especifica el nombre del directorio a crear. Los otros dos argumentos son opcionales, y especifican la identificación y el nombre de la aplicación, respectivamente. Una vez que ejecute el comando anterior, verá la siguiente estructura dentro de la carpeta raíz del proyecto:
.Córdoba: Usado para compatibilidad de fondo con herramientas de Cordova.
fusiona: En esta carpeta, puede agregar cualquier personalización específica de la plataforma para que no tenga que modificar los archivos de origen cada vez que trabaje con un proyecto..
plataformas: El lugar donde se ubicarán los instaladores compilados, en caso de que compile el proyecto localmente.
plugins: La carpeta donde encontrarás los complementos de tu proyecto..
www: La carpeta que contiene los archivos de origen y la configuración de la aplicación. Contiene las carpetas "css", "js" y "img" donde puede colocar los archivos respectivos. Además, también tiene una carpeta de "res" donde colocas íconos y pantallas de bienvenida..
3. Instalar los complementos de PhoneGap
Como hemos visto en la introducción, nuestro proyecto aprovechará algunos de los complementos principales de PhoneGap. Para instalarlos, debe usar la CLI escribiendo el siguiente comando:
complemento local de phonegap agregar PLUGIN_REPOSITORY_URL
En lo anterior, PLUGIN_REPOSITORY_URL es la URL del repositorio del complemento que desea utilizar. Dado que nuestro proyecto utilizará los complementos principales de Notificación y Conexión, debe escribir el siguiente comando:
complemento local phonegap agregar https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git complemento local phonegap agregar https://git-wip-us.apache.org/repos/asf /cordova-plugin-network-information.git
Como el más observador de ustedes pudo haber notado, no agregué el complemento de almacenamiento. La razón es que a partir de la versión 3.0, el acceso está integrado en Cordova.
4. Añadir marcos PhoneGap
Ahora que tenemos PhoneGap y sus complementos en su lugar, debemos agregar las otras dos bibliotecas necesarias: jQuery (usaré la versión 2.0.3) y jQuery Mobile (versión 1.3.1).
Antes de continuar, es importante comprender por qué elegí la rama 2.x de jQuery. jQuery tiene dos ramas principales actualmente en desarrollo: 1.xy 2.x. La versión que debe usar realmente depende de dónde use el marco y qué navegadores desea apoyar. Si bien jQuery 1.x admite todas las versiones de Google Chrome, Firefox, Safari, Opera e Internet Explorer a partir de la versión 6, la versión 2.x eliminó la compatibilidad con Internet Explorer 6, 7 y 8 a cambio de un tamaño más pequeño. y mejor rendimiento. Ya que estamos desarrollando una aplicación móvil con Cordova, no debemos preocuparnos por Internet Explorer 6-8. De hecho, los sistemas operativos de Microsoft compatibles con Cordova son Windows Phone 7 y Windows Phone 8 que se ejecutan respectivamente en Internet Explorer 9 y 10. Por lo tanto, podemos usar con seguridad jQuery 2.x!
Con el lugar de comprensión anterior, podemos continuar con nuestros pasos básicos para configurar Audero Feed Reader. Una vez que descargue las bibliotecas, mueva el archivo jQuery y el archivo JavaScript (versión reducida) de jQuery Mobile dentro del "js" carpeta. Entonces, tenemos que poner la hoja de estilo de jQuery Mobile (jquery.mobile-1.3.1.min.css) dentro de "css" carpeta. Finalmente, colocamos las imágenes empaquetadas de jQuery Mobile en el "img" carpeta. Dado que hemos cambiado ligeramente la estructura nativa de jQuery Mobile, debemos ajustar las rutas que apuntan a las imágenes dentro de su archivo CSS. Necesitamos específicamente reemplazar la parte "images /" con esta cadena "... / img /". Tenga en cuenta que la cadena debe ser reemplazada 5 veces.
5. Crear estructura de archivos de proyecto
Ahora que tenemos el marco del proyecto en su lugar, debemos crear la carpeta "www", los archivos HTML necesarios, establecer el ícono de la aplicación predeterminada, modificar el archivo de configuración de compilación de Adobe PhoneGap y cambiar la pantalla de inicio predeterminada. Eso es mucho, así que sigamos moviéndonos.!
En el transcurso de esta serie, crearemos los siguientes archivos:
index.html: El punto de entrada de la aplicación, donde colocaremos los enlaces a las bibliotecas utilizadas.
add-feed.html: Esta es la página que contiene el formulario utilizado para guardar un nuevo feed.
list-feeds.html: Esto muestra la lista de los feeds almacenados..
show-feed.html: Esto muestra las entradas del feed dado. Además, tiene una barra de navegación que tiene un botón para eliminar la fuente y otro para recuperar más entradas de la fuente.
aurelio.html: La página de créditos que contiene información sobre el autor..
feed.js: Este archivo contiene una clase, llamada Alimentar, se utiliza para crear, eliminar y recuperar fuentes almacenadas. Está basado en el plugin Cordova Storage..
aplicacion.js: Este archivo contiene otra clase, llamada Solicitud, que tiene los métodos para inicializar las páginas de la aplicación y adjuntar controladores a algunos elementos de la página (por ejemplo, los botones de la barra de navegación anteriormente citados).
config.xml: Este archivo XML contiene los metadatos de nuestro proyecto y almacena configuraciones como el nombre y la descripción de la aplicación.
6. Crea la página de inicio
Como se explicó en la sección anterior, dado que jQuery Mobile carga páginas utilizando Ajax, debemos cargar los archivos CSS y JavaScript en el punto de entrada de nuestra aplicación, que es el index.html expediente. Esta página muestra el título y la descripción de la aplicación y tiene todos los botones para acceder al resto de la aplicación..
La fuente completa de la página de inicio se muestra a continuación:
Audero Feed Reader
Audero Feed Reader
Audero Feed Reader es un agregador de feeds muy básico para guardar en un solo lugar todas las noticias y los artículos que le interesan..
Añadir Feed Feed Feed
Como puede leer del código anterior, los botones dentro de la y el usa el atributo data-iconpos = "notext". Esta configuración le permite ocultar el texto del enlace y es muy útil para ahorrar espacio para pantallas pequeñas. Como explicaré más adelante en esta serie, apuntaremos a estos botones para crear una interfaz más receptiva para la aplicación..
7. Crea la página Agregar Feed
Esta página, llamada add-feed.html, simplemente contiene el formulario para agregar un nuevo feed. No tiene nada especial, así que podemos omitir la discusión de este archivo y mostrar su fuente:
Añadir Feed
Casa
Añadir Feed
Utilice este formulario para agregar un nuevo feed Feed. Es fácil escribir un nombre, la URL y luego hacer clic en "Agregar feed".
8. Crea la página de la lista de fuentes
Esta pagina se llama list-feeds.html y es muy pequeño como los demás. Dentro del archivo establecemos una lista desordenada con el habitual
elemento y luego mejorarlo usando jQuery Mobile configurando el data-role = "listview" atributo. Además, añadimos otro atributo., filtro de datos = "verdadero", para agregar una barra de búsqueda para nuestra lista. Como puedes ver, dentro de la , Puse un botón para volver a la página de inicio. Si usted es un usuario de Android, puede que esto le resulte inútil, pero tenga en cuenta que no todos los dispositivos tienen un botón de hardware para regresar. Por lo tanto, es absolutamente esencial crear un software en tus aplicaciones.!
El código para esta página se detalla a continuación:
Listar fuentes
Casa
Listar fuentes
9. Crea la página Mostrar feed
Esta es la página responsable de mostrar las entradas del feed y se llama show-feed.html. En ella tenemos una lista, pero esta vez no necesitamos una barra de búsqueda. Sin embargo, a diferencia de las pantallas anteriores, esta pantalla tiene una barra de navegación con los dos botones descritos anteriormente. Para crear una barra de navegación en jQuery Mobile, tienes que crear una div con el data-role = "barra de navegación" atributo, y luego colocarlo dentro de una lista desordenada que contiene sus botones.
El código completo de esta página se muestra a continuación:
Mostrar Feed
Espalda
Mostrar Feed
Mostrar más
Eliminar Feed
Como puede ver al mirar el código, nuestra barra de navegación también tiene una clase aplicada. Pertenece a la hoja de estilo jQuery Mobile y se usa para aplicar un tema diferente, en este caso un color azul, para resaltar cada uno de los botones..
10. Crea la página de créditos
La página aurelio.html es el menos importante de toda la aplicación y no tiene ningún widget o elemento emocionante para describir. El único hecho destacable es el uso del atributo. target = "_ en blanco" Aplicado a los enlaces. Este atributo se usa ampliamente en la web pero, esta vez, lo uso como un gancho para adjuntar un controlador a todos los enlaces externos. Aprenderás más sobre esto en la tercera parte de la serie de tutoriales..
El codigo de aurelio.html se muestra a continuación:
Aurelio de rosa
Espalda
Aurelio de rosa
Soy un desarrollador web y de aplicaciones con más de 5 años de experiencia en programación para la web utilizando HTML5, CSS3, JavaScript y PHP. Principalmente utilizo la pila LAMP y marcos como jQuery, jQuery Mobile y Cordova (PhoneGap). Mis intereses también incluyen seguridad web, accesibilidad web, SEO y WordPress.
Actualmente trabajo por cuenta propia y trabajo con las tecnologías citadas y también soy un escritor técnico para varias redes donde escribo artículos sobre los temas con los que trabajo habitualmente y más.
Contactos
Sitio web
Email
Gorjeo
LinkedIn
GitHub
Conclusión
En esta primera entrega de nuestra serie, hemos visto las características de la aplicación del lector de feeds y cómo crear la estructura del proyecto. Además, desarrollamos todos los archivos HTML que compondrán nuestra aplicación. En la segunda entrega de esta serie, escribiremos la lógica de negocios de Audero Feed Reader y discutir la API de Google Feed. Vuelve pronto, y gracias por leer.!