Mostrando entradas con la etiqueta jquery. Mostrar todas las entradas
Mostrando entradas con la etiqueta jquery. Mostrar todas las entradas

martes, 18 de noviembre de 2014

PLANTILLA JQUERYMOBILE EN 4 PASOS

Pues vamos a ponernos manos a la obra y vamos a crear nuestra primera plantilla para nuestra app híbrida que contruiremos con jQuery Mobile y Phonegap. 
En este Post vamos a crear la plantilla de HTML, CSS y JS con jQueryMobile y a partir de esta plantilla, en el siguiente post, le meteremos los ficheros necesarios para que sea compilada con Phonegap y ya estará lista. Posteriormente le iremos metiendo contenido para darle cuerpo a nuestra app.

 

Aprende HMTL, CSS y JS para poder ser libre 

Lo primero que queremos exponeros es que aqui vamos a realizar esta plantilla explicando las distintas carpetas y el código que vamos a tener en cada una de ellas. No vamos a deciros que hay una botón magico que te vas a apretar y ya está. De hecho, no recomendamos para principiantes las webs en las que te dicen que puedes crear tus propias Apps sin saber código ni programar nada. 

Nuestra teoría es que aprendas un poco de HTML, un poco de CSS, un poco de JavaScript y un poco de Phonegap, por lo menos lo suficiente para saber lo que estás implementando. De este modo sabrás lo que estás haciendo en cada momento y tendrás la autonomía suficiente para poder hacer modificaciones y Apps diferentes en lugar de tener que ceñirte a los frameworks y funciones que te dan hechos y no puedes modificar opciones que te gustaría. Con estos conocimientos bases podrás además utilizar cualquier framework que conozcas o nuevos que salgan y tendrás autonomia para descubrir fallos o probar cosas diferentes.

Asique nuestra recomendación es que aprendas conceptos básicos de HMTL, CSS y JS para poder ser libre y hacer Apps chulas.

 

HMTL, CSS y JS en una persona

Lo siguiente es la explicación, que desde Appositivas, hemos pensado para explicar lo que es el HMTL, CSS y JS de una manera gráfica. Así la explicación llega mejor. La idea sería la siguiente. Si pensamos en una App o una Web como una persona podemos decir que:
  • El HTML es el esqueleto: El esqueleto define la estructura, que en este caso vamos a tener una cabeza, una columna, unas piernas, unos brazos, etc. Y lo que define esta estructura es el HTML.
  • El CSS es el conjunto de elementos externos y ropa que cubre el esqueleto y van a definir el exterior y la apariencia de la persona:  Los músculos de las piernas son diferentes que los de los brazos, la piel tambien es diferente entre unas personas y otras, su color de pelo también, etc. Y lo que define estas diferencias y caracteristicas exteriores es el CSS.
  • El JavaScript (JS) es el cerebro y el sistema nervioso: Las personas se mueven, se emocionan, piensan, reaccionan, reciben y dan información, etc. Y lo que define estos comportamientos es su JS.


 


Plantilla jQueryMobile (4 pasos)

Teniendo claro esto, vamos a empezar con la creación de nuestra plantilla de jQueryMobile en 4 sencillos pasos y luego (en el siguiente post) transformarla con los archivos de phonegap necesarios para poder compilada como App en Phonegap Build para todas las plataformas.

Lo que vamos a hacer es crear un HTML con estructura de APP, meterle un CSS que le de apariencia de APP (jQueryMobile.css) y unos archivos JS que le den pensamiento y comportamiento de APP.

 

Paso 1: Creamos la estructura de carpetas y ficheros

Creamos en nuestro disco duro una carpeta que llamaremos "MyHybridApps" (donde guardaremos las Apps que vayamos creando) y dentro otra carpeta llamada "MyApp" (mi primera App que me servirá de plantilla para crear todas las demás) donde vamos a ir guardando nuestros ficheros. Creamos la carpeta "css" y "js" dentro de "MyApp".



Ahora vamos a empezar a manejar ficheros htm, css y js y para eso tenemos que descargar un editor de texto. Se puede utilizar cualquiera que os guste o conozcais. El que vamos a usar aqui es "Sublime Text" que podemos descragar aqui: http://www.sublimetext.com/2

Os dejo tambien este enlace con un manual rápido del sublime text que te dice como instalarlo y lo básico: http://www.jorgesanchez.net/programacion/manuales/sublimeText2.pdf

Creamos un proyecto en Sublime haciendo referencia a la carpeta MyApp que hemos creado (project -> Add folder to project y marcamos la carpeta MyApp) y ahora creamos tres nuevos ficheros (File -> New File) y lo guardamos el la carpeta MyApp como "index.html", en la carpeta "MyApp/css" como "index.css" y en la carpeta "MyApp/js" como "index.js". Y ahora escribimos en este index.html lo siguiente:


 <!DOCTYPE html>  
 <html>   
  <head>   
    <meta charset="UTF-8">   
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>   
    <title>MyApp</title>   
    <!--grupo CSS-->  
    <link href="css/index.css" type="text/css" rel="stylesheet"/>  
    <!--grupo JavaScript-->  
    <script src="js/index.js" type="text/javascript"></script>   
  </head>   
  <body>   
    <div data-role="page">   
      <div data-role="header">  
        <h1>My APP</h1>   
      </div>   
      <div data-role="main" class="ui-content">  
        Content    
      </div>   
      <div data-role="footer" data-position="fixed">  
        <h4>Footer</h4>   
      </div>    
    </div>   
  </body>   
 </html>   


Comentamos un poco algunas lineas


  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
  • width=device-width: el viewport igual a la anchura real de la pantalla del dispositivo.
  • initial-scale=1: conseguimos que no se haga zoom sobre el documento.
  • user-scalable=no: conseguimos que el usuario no pueda hacer zoom en la página.
<link href="css/index.css" type="text/css" rel="stylesheet"/> 
Llamamos como hoja de estilo de esta página al archivo "index.css". Se pueden llamar a más de una hoja de estilos (recordad, lo que define la apariencia exterior).

<script src="js/index.js" type="text/javascript"></script> 
Llamamos como documento de javascript de esta página al archivo "index.js". Se pueden llamar a más de un documento js (recordad, lo que hace que el programa piense y ejecute acciones).


<body>   
    <div data-role="page">   
      <div data-role="header">  
        <h1>My APP</h1>   
      </div>   
      <div data-role="main" class="ui-content">  
        Content    
      </div>   
      <div data-role="footer" data-position="fixed">  
        <h4>Footer</h4>   
      </div>    
    </div>   
  </body>  
Este es el cuerpo del HTML es el que definimos la estructura de la página inicial (llamada "page"):
  • El "header": que es es la cabecera
  • El "main":que es la parte de contenido.
  • El "footer": que es el pie de página. Le ponemos el complemento data-position="fixed" para que se quede en la parte inferiror de la pantalla.
Ya tenemos nuestra estructura básica, pero claro, nuestro CSS y nuestro JS están vacios. Hay que buscar los frameworks adecuados para darle aspecto de movil a nuestra estructura. Vamos a por el JqueryMobile!!

 

Paso 2: Descargarnos las librerias de jQueryMobile.

Entramos en el siguiente link, http://jquerymobile.com/download/ y veremos las distintas opciones que tenemos y nos fijamos en esta:


Descargamos la última versión estable, que en el momento de escribir este post era la 1.4.5, y al descomprimir te apareceran todos estos ficheros:





En principio para la primera app, sólo vamos a necesitar la hoja de estilos (.css), la carpeta "images" (a la que hace referencia el fichero css) y el archivo javascript (.js). Así que copiamos:
  • El fichero "jquery.mobile-1.4.5-min.css" y la carpeta "images" en la carpeta "MyApp/css"
  • El fichero "jquery.mobile-1.4.5.min.js" en la carpeta "MyApp/js".
Tenemos entonces que incluir las siguiente líneas en nuestro index.html para hacer referencia a esa hoja de estilos y ese archivo js:

    <link href="css/jquery.mobile-1.4.5.min.css" type="text/css" rel="stylesheet"/>    
    <script src="js/jquery.mobile-1.4.5.min.js" type="text/javascript"></script> 

Ahora bien, necesitamos el framework de jQuery también para que funcione el framework de jQueryMobile.

 

Paso 3: Descargamos las librerias de jQuery.

Entramos en el siguiente link, http://jquery.com/download/ y veremos las distintas opciones que tenemos y nos fijamos en esta:




Descargamos la última versión estable, que en el momento de escribir este post era la 1.11.1 (existen las versiones 2.x que no soportan Internet Explorer 6,7 y 8).

Pinchamos en "Download the compressed, production jQuery 1.11.1" y nos aparecerá la siguiente pantalla:


Le damos a "Guardar página como..." y guardamos en la carpeta "MyApp/js" (te guarda directamente el archivo "jquery-1.11.1.min.js").

Tenemos entonces que incluir la siguiente línea en nuestro index.html:

<script src="js/jquery-1.11.1.min.js" type="text/javascript"></script>  

 

Paso 4: Comprobamos la plantilla

Hechos estos pasos, nuestro archivo index.html debe quedar de la siguiente manera:

Index.html

<!DOCTYPE html>
<html>
 <head> 
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
 
        <title>MyApp</title>

        <!--grupo CSS-->
        <link href="css/index.css" type="text/css" rel="stylesheet"/>
        <link href="css/jquery.mobile-1.4.5.min.css" type="text/css" rel="stylesheet"/>

        <!--grupo JavaScript-->
        <script src="js/index.js" type="text/javascript"></script>
        <script src="js/jquery-1.11.1.min.js" type="text/javascript"></script>
        <script src="js/jquery.mobile-1.4.5.min.js" type="text/javascript"></script>
 </head>
 <body>
     <div data-role="page">   
        <div data-role="header">
          <h1>My APP</h1>       
        </div>        
        <div data-role="main" class="ui-content">
          Content
        </div>    
        <div data-role="footer" data-position="fixed">
          <h4>Footer</h4>     
        </div>     
      </div>
 </body>
</html> 


Y la estructura de carpetas final de nuestra plantilla para jQueryMobile queda:


Si ahora abrimos el archivo "index.html" con nuestro navegador veremos algo así:



Listo!! Muy Facil!! No te pierdas el siguiente post en el que le incluiremos a nuestra "MyApp" los ficheros necesarios para compilarlo en Phonegap Build y haremos nuestra primera APP!! (sin contenido aún, eso sí).


Materiales Recomendados:

Hay miles de cursos en internet sobre HTML5, CSS y JS. Nosotros os ponemos como ejemplo este:
https://www.youtube.com/watch?v=qz8Q1UGQdts

Esquema Mental by Versión Lunática:

martes, 11 de noviembre de 2014

HERRAMIENTAS PARA CREAR NUESTRA APP HÍBRIDA

Vamos ahora a hacernos nuestra lista de herramientas que vamos a necesitar para ponernos manos a la obra. Lo primero es definir cómo vamos a programar nuestra App. Existen varias opciones en función del tipo de programador que seas.

  • Puedes programar una app nativa, lo que significa que programas en Java para dispositivos Android, IOS para dispositivos Apple, y C# o Visul Basic para Windows Phone.
  • Puedes programar una app híbrida, lo que significas que usas una parte de código nativo y parte de código web (HTML, CSS y JavaScript). La parte de código nativo suele ser dada por una cross platform tool (herramienta multiplataforma) que nos "adapte" la app al dispositivo móvil, como Phonegap o Appcelerator que nos permite, entre otras cosas, el uso de recursos del dispositivo móvil en el que instalemos la app (desarrollada con programación web) y que nos va a permitir compilar la app para todo tipo de dispositivos (android, ios, window phone).

Desde el punto de vista de performances (actuaciones, fluidez y acceso a recursos del móvil) es siempre mejor una programación nativa, pero la programación híbrida permite compilar para todas las plataformas con un único código y además la distancia con las apps nativas en terminos de performances se está estrechando cada vez más.

Para ver como están las opciones más y menos elegidas en el mercado os dejemos este artículo sobre los lenguajes de progamación seleccionados por los programadores de apps: http://www.developereconomics.com/report/q3-2014-language-apps/

En nuestro caso vamos a realizar una app híbrida. Con esta primera elección ya sabemos que vamos a necesitar, como hemos dicho, una herrramienta multiplataforma para adoptar la app al móvil (lo que se llama un cross-platform tool). Existen varias.

CROSS PLATFORM TOOLS

Phonegap (Apache Cordova):la más usada, de código libre y gratuita lo que permite el uso de multiple plugins públicos. Es un puro desarrollo web (HTML, CSS y JavaScript). No presenta UI frameworks de por sí sino que hay que usar unos externos (Jquery Mobile, Kendo UI, ...) como veremos más abajo. Cuenta con la herramienta Phonegap Build que permite la compilación a todos los dispositivos de manera online en la nube.


Appcelerator: la segunda más usada con su versión Titanium Appcelerator (hay otra de pago para empresas). Necesitas descargar un SDK de forma local. No es puro desarrollo web sino que es sólo Javascript lo que puede complicar un poco la maquetación. Está a la cabeza en cuanto recursos UI pues los controles y el aspecto son nativos. Presenta también compilación online en la nube.
 

Adobe Air: Usado para apps desarrolladas en flash, es decir, realmente no es para HTML y JS, sino para Flash/Actionscript. Además para que la apps corran en un dispositivo es necesario que tengan instaldo Adobe Air o bien instalarlo junto con la app, lo que incrementa el tamaño de la misma.

Para utilizarlo como cross platform tool es necesario instalar un SDK en las herramientas de desarrollo de las apps nativas (por ejemplo instalar el SDK de Sencha en eclipse para compilar en Android). Tiene un UI framework llamado Senda Touch que permite compilarlo con Phonegap. El servicio completo Sencha Complete es de pago.


 

Existen varias opciones más como Monaca que desconocemos un poco pero creemos que realmente usa Phonegap pero facilita su uso y el de sus plugins, y otras como Qt orientado más a C++, o Unity orientado a desarrollo 3D. Pero pensamos que de momento con estas es más que suficiente.
En principio, según hemos leido (no nos dedicamos al estudio de mercado), las dos más usadas son Phonegap y Appcelerator. Nosotros, en Appositivas, usaremos para nuestra primera app Phonegap.

Pero aún tenemos que elegir más cosas antes de empezar y es si vamos a utilizar un UI Framework (librería gráfica) para darle a nuestra App un aspecto de móvil. En nuestro caso, al haber seleccionado Phonegap deberemos hacerlo, porque podemos ir jugando con el HTML, CSS y JS y podríamos hacerlo nosotros mismos, pero estos frameworks permiten de una forma rápida y sencilla adaptar el aspecto de nuetro diseño web a uno de app para dispositivos móviles. Veamos algunos ejemplos.

UI FRAMEWORKS

jQuery Mobile: Es la más común y la más usada. Basada en Jquery. Tiene buena documentación y es gratuita. En la propia documentación recomiendan el uso de una hoja css customizada que varie un poco la libreria, porque se corre el riesgo de hacer apps iguales unas a otras con estas librerias.


Kendo UI: Es la que mejor resultado presenta y la que más se acerca a las apps nativas. Basada en Jquery. Tiene buena documentación. Lo malo es que es de pago si quieres usarlo para una app comercial (licencia comercial)


Sencha Touch: Ya hemos hablado de Sencha como cross platform tool y ahora hablamos de sencha touch como librería gráfica. Basada en Javascript. Tiene buena documentación. También es de pago si se quiere usar para una app comercial (licencia comercial). Sencha Touch puede ser compilado con Phonegap.


Ionic: Tiene buena documentación y compila para IOS y Andorid. Es necesario hacer instalaciones locales (tienes que tener node.js instalado y luego cargar Ionic).


Existen más, como Boostrap que es una UI framework general para HTML5 para responsive design pero que permite crear apps, o la japonesa Onsen UI que desconocemos un poco pero que va asociada a Monaca de la que hemos hablado antes (hay que investigarlo). De momento pensamos que con esto es suficiente. Nosotros, en Appositivas, usaremos para nuestra primera app jQuery Mobile. 

Llamadnos clasicos, pero usaremos  jQuery Mobile y Phonegap, porque en nuestra primera app, como ya dijimos en post anteriores, no queremos hacer la mejor y más alucinante, si no que pensamos que lo primero es desarrollar nuestra app, acabarla, entender el proceso
y asentar conceptos. Luego ya haremos otras apps utilizando alguna de estas otras herramientas y frameworks.

Asique ya lo tenemos!! Lo que vamos a necesitar para realizar nuestra primera app va a ser:

CONOCIMIENTOS (que iremos dando):
  • Conocimientos de HTML5, CSS y JavaScript
  • Conocimientos de JqueryMobile.
  • Conocimientos de Phonegap.
PROGRAMAS y ARCHIVOS:
  • Un editor de texto para HTML, CSS y JavaScript. Lo suyo es usar Adobe Dreamweaver, pero hay que pagarlo y como alternativa nosotros recomendamos Sublime Text que está muy bien y es gratuito.
  • Descargaremos Phonegap de su página web.
  • Descargaremos la librería de jQuery Mobile de su página web. 
  • Una cuenta de Adobe que es gratuita y te permitirá tener una app privada con Phonegap Build.
En cualquier caso en el próximo post haremos el proceso para crearnos una plantilla básica para una app detallando las descarga y la estrucutra de carpetas que necesitaremos.

Materiales Recomendados:

Existen en la red multiples comparativas de las herramientas multiplataformas. Os ponemos algunas, pero buscad en la red y encontraréis más:
Lo mismo sucede con los UI frameworks para HTML5. Os ponemos algunas:

Esquema Mental by Versión Lunática: