<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Revolución móvil</title>
	
	<link>http://revolucion.mobi</link>
	<description>Tutoriales, cursos y recursos de desarrollo móvil con PhoneGap y HTML5 para iPhone, Android, Blackberry</description>
	<lastBuildDate>Mon, 20 May 2013 16:07:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/revolucionmobi" /><feedburner:info uri="revolucionmobi" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>revolucionmobi</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.feedness.com/alta/http://feeds.feedburner.com/revolucionmobi" src="http://www.feedness.com/ayuda/wp-content/square_b_sh_feed.gif">Subscribe with Feedness</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/revolucionmobi" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Frevolucionmobi" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Novedades del Android Studio</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/djMMza7Z1lk/</link>
		<comments>http://revolucion.mobi/2013/05/17/novedades-del-android-studio/#comments</comments>
		<pubDate>Fri, 17 May 2013 09:04:10 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[noticias]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1765</guid>
		<description><![CDATA[En el marco de la conferencia  Google I/O la compañía anuncio un nuevo IDE de desarrollo de aplicaciones llamado Android Estudio. La [...]]]></description>
				<content:encoded><![CDATA[<p>En el marco de la conferencia  Google I/O la compañía anuncio un nuevo IDE de desarrollo de aplicaciones llamado <strong><a href="http://revolucion.mobi/tag/android">Android</a> Estudio</strong>.<span id="more-1765"></span></p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-15-at-5.58.47-PM.png"><img class="aligncenter size-full wp-image-1776" alt="Screen Shot 2013-05-15 at 5.58.47 PM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-15-at-5.58.47-PM.png" width="235" height="329" /></a></p>
<p>La nueva herramienta de Google esta basada en el aclamado <a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a> de la compañía <a href="http://www.jetbrains.com/">JetBrains</a> fabricante de otros famosos programas de desarrollo  como WebStorm para <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> o AppCode para crear aplicaciones en iOS.</p>
<p><a href="http://revolucion.mobi/tag/android">Android</a> Studio ya esta disponible para descarga en modalidad de vista previa para desarrolladores, pero Google advierte que aunque el programa es estable y de buena calidad,  aun esta en modo de prueba y puede tener errores, así que si quieres probarlo, no desinstales tu antiguo Eclipse, en especial si desarrollas aplicaciones de manera profesional.</p>
<p><a href="http://developer.android.com/sdk/installing/studio.html#download">http://developer.android.com/sdk/installing/studio.html#download</a></p>
<h2>Novedades de Android Studio</h2>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-3.54.55-AM.png"><img class="aligncenter size-full wp-image-1774" alt="Screen Shot 2013-05-17 at 3.54.55 AM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-3.54.55-AM.png" width="399" height="298" /></a></p>
<h3><b>Nueva </b>Interfaz</h3>
<p>Atrás quedo la antigua interfaz genérica de Eclipse, este nuevo IDE tiene una gráfica mas moderna, simple y fácil de usar con pestañas para facilitar el acceso rápido a las herramientas de uso común. También incluye la opción de cambiar la apariencia completa del IDE.</p>
<h3><b><a href="http://revolucion.mobi/wp-content/uploads/2013/05/androidstudio1.jpg"><img class="aligncenter  wp-image-1772" alt="androidstudio1" src="http://revolucion.mobi/wp-content/uploads/2013/05/androidstudio1.jpg" width="640" height="301" /></a><br />
Soporte para proyectos Eclipse</b></h3>
<p>Los proyectos de Eclipse tienen una estructura diferente de los nuevos proyectos de <a href="http://revolucion.mobi/tag/android">Android</a> Studio. Al utilizar un nuevo sistema de compilación basado en <a href="http://www.gradle.org/">Gradle</a> ( Eclipse que usa ANT ) tus proyectos antiguos no son compatibles con el nuevo IDE, pero no te preocupes, Google pensó en todo e incluyó una herramienta para importar proyectos creados en Eclipse para facilitar el proceso de migración.</p>
<p style="text-align: center;"><a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-3.55.08-AM.png"><img class="aligncenter  wp-image-1773" alt="Screen Shot 2013-05-17 at 3.55.08 AM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-3.55.08-AM.png" width="403" height="350" /></a></p>
<h3>Control de Versiones</h3>
<p>Un punto crucial para todo desarrollador profesional es el control de código y si ese es un problema para ti, este programa tiene todas las bases cubiertas:  Mercurial, Git, Github, Subversion, en solo unos minutos puedes conectarte a un repositorio y programar con total tranquilidad de que tu código esta seguro.</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.01.02-AM.png"><img class="aligncenter size-full wp-image-1775" alt="Screen Shot 2013-05-17 at 4.01.02 AM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.01.02-AM.png" width="376" height="167" /></a></p>
<h3><strong>Autocompletado</strong></h3>
<p>Al igual que en Eclipse y programas similares, tiene la opción de autocompeltado de código  una herramienta en extremo útil para desarrolladores novatos y experimentados. En este mundo en el que tenemos que saber muchos lenguajes de programación distintos, si un editor moderno no tiene la función de autocompletado ni siquiera vale la pena descargarlo.<br />
<a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.08.09-AM.png"><img class="aligncenter size-full wp-image-1777" alt="Screen Shot 2013-05-17 at 4.08.09 AM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.08.09-AM.png" width="577" height="319" /></a></p>
<h3>Herramientas de formato, rendimiento y compatibilidad</h3>
<p><a href="http://revolucion.mobi/tag/android">Android</a> Studio tiene incorporadas alertas que te avisaran en tiempo real cuando cometas errores de sintaxis, compatibilidad o cualquier problema que pueda afectar tu aplicación antes que siguiera la hayas compilado.</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.22.34-AM.png"><img class="aligncenter size-full wp-image-1780" alt="Screen Shot 2013-05-17 at 4.22.34 AM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.22.34-AM.png" width="293" height="228" /></a></p>
<h3><strong>Prevista en diferentes layouts</strong></h3>
<p>En este nuevo programa podemos ver una vista previa en diferentes dispositivos y resoluciones, el control de elementos permite configurar con facilidad los elementos gráficos y previsualizar la interfaz de tu app en pocos minutos.</p>
<p style="text-align: center;"><a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.20.00-AM.png"><img class="aligncenter  wp-image-1778" alt="Screen Shot 2013-05-17 at 4.20.00 AM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.20.00-AM.png" width="637" height="429" /></a></p>
<h3>Acceso directo a herramientas Android</h3>
<p>La ventaja de tener un IDE dedicado es que todo se trata de <a href="http://revolucion.mobi/tag/android">Android</a>, atrás quedaron las &#8220;vistas&#8221; de eclipse que cambiaban los componentes y su posición. Ahora tenemos un acceso rápido a las herramientas comunes de desarrollo como administración de maquinas virtuales, SDK&#8217;s y la consola de depuración logcat.</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.21.12-AM.png"><img class="aligncenter size-full wp-image-1779" alt="Screen Shot 2013-05-17 at 4.21.12 AM" src="http://revolucion.mobi/wp-content/uploads/2013/05/Screen-Shot-2013-05-17-at-4.21.12-AM.png" width="557" height="139" /></a></p>
<h2><b>Conclusión</b></h2>
<p>Por ahora las diferencias con el <a href="http://developer.android.com/intl/es/sdk/index.html">Eclipse Bundle</a> no son tan amplias, pero desde ya se nota una mejora en el entorno, rendimiento  y  comodidad de tener un IDE dedicado a <a href="http://revolucion.mobi/tag/android">Android</a> con todas las herramientas necesarias en la punta de los dedos.</p>
<p>Esta herramienta es un gran aporte a la madurez de la plataforma <a href="http://revolucion.mobi/tag/android">Android</a> en general y con el apoyo de Google junto a la capacidad de ampliar el programa a través de plugins, es cuestión de tiempo para que <a href="http://revolucion.mobi/tag/android">Android</a> Studio se convierta en la herramienta que ayude a los desarrolladores a preocuparse cada vez menos por los detalles del código y mas en crear aplicaciones espectaculares.</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/djMMza7Z1lk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/05/17/novedades-del-android-studio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/05/17/novedades-del-android-studio/</feedburner:origLink></item>
		<item>
		<title>Crear Aplicaciones con jQuery Mobile</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/xW2draNjlD8/</link>
		<comments>http://revolucion.mobi/2013/05/03/aplicaciones-moviles-con-jquery-movile/#comments</comments>
		<pubDate>Fri, 03 May 2013 13:30:28 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[ManualDelGuerreroMovil]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Móvil]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquerymobile]]></category>
		<category><![CDATA[libros]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutoriales]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1732</guid>
		<description><![CDATA[Posiblemente el framework de JavaScript más utilizado en la web es jQuery y tiene su versión adaptada para dispositivos móviles [...]]]></description>
				<content:encoded><![CDATA[<p>Posiblemente el framework de JavaScript más utilizado en la <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> es jQuery y tiene su versión adaptada para dispositivos móviles llamado jQuery Mobile.<span id="more-1732"></span></p>
<p><img class="aligncenter size-full wp-image-1739" alt="jquery-logo" src="http://revolucion.mobi/wp-content/uploads/2013/05/jquery-logo.png" width="550" height="156" /></p>
<p>jQuery Mobile es un plugin del jQuery original y requiere que este último esté instalado previamente para poder funcionar.</p>
<p>Una vez activo, jQuery Mobile hace dos cosas: primero, optimiza las funciones nativas para mejorar su performance en equipos móviles , segundo, modifica el HTML y genera un layout con una serie de elementos gráficos predefinidos que acelera sustancialmente la velocidad de producción.</p>
<h2 dir="ltr">Instalar jQuery Mobile</h2>
<p dir="ltr">Aunque es posible y es una técnica muy común en sitios <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>,  instalar jQuery Mobile enlazando directamente a los archivos almacenados en la nube, se recomienda ampliamente no aplicar esa técnica para aplicaciones <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a>. Muy frecuentemente tu aplicación será utilizada sin ninguna conexión a internet o con conexión intermitente. Si los archivos de jQuery están enlazados a documentos en la nube, la aplicación quedaría posiblemente inutilizable.</p>
<p dir="ltr">Para instalar este framework, lo primero que debes hacer es descargar jQuery en su página oficial:</p>
<p dir="ltr"><a href="http://docs.jquery.com/Downloading_jQuery#Current_Release">http://docs.jQuery.com/Downloading_jQuery#Current_Release</a></p>
<p dir="ltr">Crea una subcarpeta llamada “js” dentro de tu proyecto <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a> y guarda allí el archivo de jQuery.</p>
<p dir="ltr">Una vez descargado jQuery, debes descargar el plugin de jQuery Mobile desde su sitio <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> oficial:</p>
<p dir="ltr"><a href="http://jquerymobile.com/download/">http://jquerymobile.com/download/</a></p>
<p dir="ltr">Crea una carpeta con el nombre “jQueryMobile”, descomprime el archivo .zip  que acabas de descargar y copia allí todos los archivos que contiene. Al final deberías tener una estructura similar a esta:</p>
<p><b><b><br />
<a href="http://revolucion.mobi/wp-content/uploads/2013/05/image06.png"><img class="aligncenter size-full wp-image-1750" alt="image06" src="http://revolucion.mobi/wp-content/uploads/2013/05/image06.png" width="234" height="255" /></a><br />
</b></b></p>
<p dir="ltr">El nombre de los archivos de jQuery y jQuery Mobile cambia según la versión. Si la versión que descargaste tiene otro nombre recuerda hacer los ajustes en el código del ejercicio.</p>
<p dir="ltr">Como mencionamos jQuery Mobile cumple dos funciones: optimiza las acciones de jQuery y genera una interfaz adaptada para dispositivos móviles, por eso es que este plugin contiene imágenes y hojas de estilo.</p>
<p dir="ltr">Pongamos manos a la obra con el código y comencemos a construir una aplicación con jQuery Mobile. comencemos con este código base:</p>
<div class="code">
<p dir="ltr">&lt;!DOCTYPE html&gt;</p>
<p dir="ltr">&lt;html&gt;</p>
<p dir="ltr">&lt;head&gt;</p>
<p dir="ltr">    &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0, maximum-scale=2&#8243; /&gt;</p>
<p dir="ltr">    &lt;title&gt;Ejercicio 10.1&lt;/title&gt;</p>
<p dir="ltr">    &lt;meta charset=&#8221;utf-8&#8243;&gt;</p>
<p dir="ltr">        <strong>&lt;link rel=&#8221;stylesheet&#8221; href=&#8221;js/jQueryMobile/jQuery.mobile.theme-1.1.0.min.css&#8221; /&gt;</strong></p>
<p dir="ltr"><strong>        &lt;script src=&#8221;js/jQuery-1.7.2.min.js&#8221;&gt;&lt;/script&gt;</strong></p>
<p dir="ltr"><strong>        &lt;script src=&#8221;js/jQueryMobile/jQuery.mobile-1.1.0.min.js&#8221;&gt;&lt;/script&gt;</strong></p>
<p dir="ltr">    &lt;/head&gt;</p>
<p dir="ltr">&lt;body&gt;</p>
<p dir="ltr">&lt;/body&gt;</p>
<p dir="ltr">&lt;/html&gt;</p>
</div>
<p>Como se puede observar en negrita agregamos 3 líneas de código extra para incluir los archivos descargados. La primera incluye la hoja de estilos de jQuery Mobile que se usará para crear las interfaces, la segunda línea incluye el el framework de jQuery propiamente dicho y la tercera es la que inserta el plugin de jQuery Mobile.</p>
<p dir="ltr">Por ahora el código no muestra ningun elemento en el navegador, a continuación vamos a explorar cómo crear una interfaz de usuario con jQuery Mobile.</p>
<h2 dir="ltr">Creación de Interfaces</h2>
<p>jQuery Mobile nos permite crear interfaces optimizadas para dispositivos móviles muy rápidamente y con relativamente poco esfuerzo.</p>
<p dir="ltr">La forma en que trabaja, es reescribiendo el código original del documento y generando uno nuevo, más complejo, según las características y argumentos solicitados.</p>
<p dir="ltr">Una característica interesante de jQuery Mobile es que, a diferencia de un sitio <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>, que pasa de un documento HTML a otro para mostrar la información, las páginas o “pantallas” de una aplicación se manejan desde un solo documento HTML.</p>
<p dir="ltr">Las páginas o “pantallas” están en un único archivo, jQuery Mobile las administra para mostrar sólo la parte del documento correspondiente a cada pantalla mientras que el resto permanece oculto. De esta forma se acelera sustancialmente la carga de páginas, también permite administrar eventos y animaciones entre una pantalla y otra.</p>
<p dir="ltr">jQuery Mobile aprovecha al máximo los nuevos elementos de <a href="http://revolucion.mobi/category/web-movil">HTML5</a> y hace un uso intensivo de los atributos personalizados que se definen con el prefijo “data-”</p>
<p dir="ltr">Por ejemplo “data-role”, uno de los atributos más usados en jQuery Mobile, permite definir el rol a nivel de funcionalidad y apariencia del elemento que lo contiene. Al definir el rol de un elemento, este atributo permite crear páginas, botones, menús y muchos elementos más.</p>
<p dir="ltr">Al insertar el atributo “data-role” en cualquier tag lo convertimos en un elemento de la interfaz. Sin necesidad agregar ningún código adicional jQuery agrega todos los elementos gráficos, clases y hasta animaciones necesarios para el funcionamiento de ese elemento en particular.</p>
<p dir="ltr">Por ejemplo, para crear una página se utiliza el atributo data-role=&#8221;page&#8221; de esta forma:</p>
<div class="code">
<p dir="ltr">&lt;div data-role=&#8221;page&#8221; id=&#8221;inicio&#8221;&gt;</p>
<p dir="ltr">    Inicio</p>
<p dir="ltr">&lt;/div&gt;</p>
</div>
<p dir="ltr">Cuando jQuery Mobile renderiza la aplicación comprende que este div debe ser interpretado como una página. Le agrega el código y eventos necesarios para que se comporte y vea como tal.</p>
<p dir="ltr">Usando el mismo principio, vamos a utilizar el atributo data-role=”header” para agregar un encabezado a la página que acabamos de crear:</p>
<div class="code">
<p dir="ltr">&lt;div data-role=&#8221;page&#8221; id=&#8221;inicio&#8221; &gt;</p>
<p dir="ltr">    &lt;div data-role=&#8221;header&#8221;&gt;</p>
<p dir="ltr">   &lt;h1&gt; Inicio &lt;/h1&gt;</p>
<p dir="ltr">   &lt;/div&gt;</p>
<p dir="ltr">&lt;/div&gt;</p>
</div>
<p dir="ltr">Ya tenemos una pagina con un encabezado, fijate que se generó un fondo negro detrás del texto, en este caso como jQuery detectó que ese elemento era un header y automáticamente le agregó las imágenes necesarias para que tenga la apariencia de un encabezado.</p>
<p style="text-align: center;"><b><b><br />
<a href="http://revolucion.mobi/wp-content/uploads/2013/05/image00.png"><img class="aligncenter  wp-image-1744" alt="image00" src="http://revolucion.mobi/wp-content/uploads/2013/05/image00.png" width="259" height="496" /></a><br />
</b></b></p>
<p dir="ltr">Como se mencionó antes, jQuery Mobile encapsula toda la aplicación en un solo documento, así que todas las pantallas deben agregarse en el mismo documento, agreguemos dos pantallas más a esta aplicación:</p>
<div class="code">
<p dir="ltr">&lt;div data-role=&#8221;page&#8221; id=&#8221;pantalla2&#8243;&gt;</p>
<p dir="ltr">   &lt;h1&gt; Pantalla 2 &lt;/h1&gt;</p>
<p dir="ltr">&lt;/div&gt;</p>
<p dir="ltr">&lt;div data-role=&#8221;page&#8221; id=&#8221;pantalla3&#8243;&gt;</p>
<p dir="ltr">   &lt;h1&gt; Pantalla 3 &lt;/h1&gt;</p>
<p dir="ltr">&lt;/div&gt;</p>
</div>
<p dir="ltr">Tenemos tres pantallas pero la aplicación se sigue viendo exactamente igual. Esto porque aun no tenemos ninguna forma de navegar entre ellas, para crear elementos de navegación sólo es necesario agregar un enlace normal de HTML, en este caso vamos a incluirlo en la primera pantalla, al inicio de la aplicación:</p>
<div class="code">
<p dir="ltr">&lt;div data-role=&#8221;page&#8221; id=&#8221;inicio&#8221; &gt;</p>
<p dir="ltr">    &lt;div data-role=&#8221;header&#8221;&gt;</p>
<p dir="ltr">   &lt;h1&gt; Inicio &lt;/h1&gt;</p>
<p dir="ltr">   &lt;/div&gt;</p>
<p dir="ltr">   &lt;a href=&#8221;#pantalla2&#8243;&gt; Ir a Pantalla 2 &lt;/a&gt;</p>
<p dir="ltr">&lt;/div&gt;</p>
</div>
<p dir="ltr">Como habrá notado el lector, en el código todas las pantallas tienen un atributo “id” diferente. Para navegar entre pantallas los enlaces deben usar el nombre del ID agregando el signo “#” al inicio.</p>
<p><b><b><br />
<a href="http://revolucion.mobi/wp-content/uploads/2013/05/image08.png"><img class="aligncenter size-full wp-image-1752" alt="image08" src="http://revolucion.mobi/wp-content/uploads/2013/05/image08.png" width="339" height="139" /></a><br />
</b></b></p>
<p dir="ltr">El enlace del ejemplo no solo permite ir a la pantalla 2 , jQuery Mobile  automáticamente incluyó una animación de transición para darle una apariencia similar a la de una aplicación nativa.</p>
<p dir="ltr">Llevemos un poco más lejos el enlace que acabamos de crear y agreguemos el atributo de jQuery Mobile data-role=&#8221;button&#8221; para que este enlace se comporte como un botón:</p>
<div class="code">
&lt;a href=&#8221;#pantalla2&#8243; data-role=&#8221;button&#8221;&gt; Ir a Pantalla 2 &lt;/a&gt;
</div>
<p dir="ltr">Al probar el código anterior se verá algo similar a esto:</p>
<p>&nbsp;</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/image04.png"><img class="aligncenter size-full wp-image-1748" alt="image04" src="http://revolucion.mobi/wp-content/uploads/2013/05/image04.png" width="361" height="373" /></a></p>
<p dir="ltr">¡Mucho mejor, cada vez se ve más similar a una verdadera aplicación! El siguiente problema es que, en esta aplicación, cuando avanzamos a la siguiente pantalla, no hay forma de regresar.</p>
<p dir="ltr">Para regresar a la página principal, se puede aplicar la técnica anterior de enlazar un link al id de la página principal, o más sencillo aún, se puede utilizar el atributo data-rel=&#8221;back&#8221; que regresa la aplicación a la pantalla inmediatamente anterior.</p>
<div class="code">
<p dir="ltr">&lt;a href=&#8221;#&#8221; data-rel=&#8221;back&#8221; data-role=&#8221;button&#8221; &gt; Regresar &lt;/a&gt;</p>
</div>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/image07.png"><img class="aligncenter size-full wp-image-1751" alt="image07" src="http://revolucion.mobi/wp-content/uploads/2013/05/image07.png" width="366" height="328" /></a></p>
<p dir="ltr">En este punto ya tenemos una aplicación mínima con una navegación básica y hasta transiciones de pantalla.</p>
<p dir="ltr">Para crear una aplicación más compleja con muchas secciones,  es posible que se necesite mostrar estas secciones en forma de lista de enlaces directos a cada sección. Esto lo logramos aplicando el atributo data-role=&#8221;listview&#8221; a cualquier lista regular :</p>
<div class="code">
<p dir="ltr">&lt;ul data-role=&#8221;listview&#8221; &gt;</p>
<p dir="ltr">   &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 1&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">   &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 2 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">   &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 3 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">   &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 4 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">   &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 5 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">   &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 6 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">&lt;/ul&gt;</p>
</div>
<p dir="ltr">En el código anterior creamos una lista normal de enlaces, pero con el uso de listview se genera un nuevo elemento de tipo lista:</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/image05.png"><img class="aligncenter  wp-image-1749" alt="image05" src="http://revolucion.mobi/wp-content/uploads/2013/05/image05.png" width="253" height="500" /></a></p>
<p dir="ltr">Con las listas podemos crear menús extensos que abarquen múltiples páginas internas. Al igual que en con los otros elementos de navegación, las transiciones entre pantallas incluyen las animaciones automáticamente.</p>
<p dir="ltr">Por último, vamos a agregar un menú de navegación en esta pantalla. Al igual que con el elemento anterior, utilizamos una lista con enlaces para generar el elemento, pero esta vez se usará el atributo data-role=&#8221;navbar&#8221;  para crear una barra de navegación :</p>
<div class="code">
<p dir="ltr">&lt;div data-role=&#8221;navbar&#8221;&gt;</p>
<p dir="ltr">&lt;ul&gt;</p>
<p dir="ltr">&lt;li&gt;&lt;a href=&#8221;#pantalla1&#8243;&gt;Inicio&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">&lt;li&gt;&lt;a href=&#8221;#pantalla2&#8243;&gt;Pantalla 2&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">&lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt;Otros&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">&lt;/ul&gt;</p>
<p dir="ltr">&lt;/div&gt;</p>
</div>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/05/image01.png"><img class="aligncenter size-full wp-image-1745" alt="image01" src="http://revolucion.mobi/wp-content/uploads/2013/05/image01.png" width="321" height="40" /></a></p>
<p dir="ltr">El siguiente ejercicio integra todos los elementos que examinamos en una sola aplicación:</p>
<div class="code">
<p dir="ltr">&lt;!DOCTYPE html&gt;</p>
<p dir="ltr">&lt;html&gt;</p>
<p dir="ltr">&lt;head&gt;</p>
<p dir="ltr">    &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0, maximum-scale=2&#8243; /&gt;</p>
<p dir="ltr">    &lt;title&gt;Ejercicio 10.2&lt;/title&gt;</p>
<p dir="ltr">    &lt;meta charset=&#8221;utf-8&#8243;&gt;</p>
<p dir="ltr">        &lt;link rel=&#8221;stylesheet&#8221; href=&#8221;js/jqueryMobile/jquery.mobile.theme-1.1.0.min.css&#8221; /&gt;</p>
<p dir="ltr">        &lt;script src=&#8221;js/jquery-1.7.2.min.js&#8221;&gt;&lt;/script&gt;</p>
<p dir="ltr">        &lt;script src=&#8221;js/jqueryMobile/jquery.mobile-1.1.0.min.js&#8221;&gt;&lt;/script&gt;</p>
<p dir="ltr">    &lt;/head&gt;</p>
<p dir="ltr">&lt;body&gt;</p>
<p dir="ltr">    &lt;div data-role=&#8221;page&#8221; id=&#8221;inicio&#8221; &gt;</p>
<p dir="ltr">        &lt;div data-role=&#8221;header&#8221;&gt;</p>
<p dir="ltr">            &lt;h1&gt; Inicio &lt;/h1&gt;</p>
<p dir="ltr">        &lt;/div&gt;</p>
<p dir="ltr">        &lt;a href=&#8221;#pantalla2&#8243; data-role=&#8221;button&#8221;&gt; Ir a Pantalla 2 &lt;/a&gt;</p>
<p dir="ltr">    &lt;/div&gt;</p>
<p dir="ltr">    &lt;div data-role=&#8221;page&#8221; id=&#8221;pantalla2&#8243;&gt;</p>
<p dir="ltr">            &lt;div data-role=&#8221;header&#8221;&gt;</p>
<p dir="ltr">                &lt;h1&gt; Pantalla 2 &lt;/h1&gt;</p>
<p dir="ltr">            &lt;/div&gt;</p>
<p dir="ltr">            &lt;a href=&#8221;#&#8221; data-rel=&#8221;back&#8221; data-role=&#8221;button&#8221; &gt; Regresar &lt;/a&gt;</p>
<p dir="ltr">        &lt;ul data-role=&#8221;listview&#8221; &gt;</p>
<p dir="ltr">            &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 1&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">            &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 2 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">            &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 3 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">            &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 4 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">            &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 5 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">            &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt; Pantalla 6 &lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">        &lt;/ul&gt;</p>
<p dir="ltr">        &lt;div data-role=&#8221;footer&#8221;&gt;</p>
<p dir="ltr">            &lt;div data-role=&#8221;navbar&#8221;&gt;</p>
<p dir="ltr">                &lt;ul&gt;</p>
<p dir="ltr">                    &lt;li&gt;&lt;a href=&#8221;#pantalla1&#8243;&gt;Inicio&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">                    &lt;li&gt;&lt;a href=&#8221;#pantalla2&#8243;&gt;Pantalla 2&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">                    &lt;li&gt;&lt;a href=&#8221;#pantalla3&#8243;&gt;Otros&lt;/a&gt;&lt;/li&gt;</p>
<p dir="ltr">                &lt;/ul&gt;</p>
<p dir="ltr">            &lt;/div&gt;&lt;!&#8211; /navbar &#8211;&gt;</p>
<p dir="ltr">        &lt;/div&gt;</p>
<p dir="ltr">    &lt;/div&gt;</p>
<p dir="ltr">    &lt;div data-role=&#8221;page&#8221; id=&#8221;pantalla3&#8243;&gt;</p>
<p dir="ltr">        &lt;h1&gt; Pantalla 3 &lt;/h1&gt;</p>
<p dir="ltr">         &lt;a href=&#8221;#&#8221; data-rel=&#8221;back&#8221; data-role=&#8221;button&#8221; &gt; Regresar &lt;/a&gt;</p>
<p dir="ltr">    &lt;/div&gt;</p>
<p>&nbsp;</p>
<p dir="ltr">&lt;/body&gt;</p>
<p dir="ltr">&lt;/html&gt;</p>
</div>
<h2 dir="ltr">Pros y contras de usar jQuery Mobile</h2>
<p dir="ltr">No hay tecnología perfecta y jQuery no es la excepción. Muchos desarrolladores crean todas sus aplicaciones con esta tecnología mientras que otros la evitan al máximo, todo depende de las preferencias personales.</p>
<p dir="ltr">Aquí una breve lista de ventajas y desventajas de desarrollar con jQuery Mobile para que puedas tomar la mejor decisión.</p>
<p><b><b> </b></b></p>
<h3 dir="ltr">Pros:</h3>
<ul>
<li dir="ltr">
<p dir="ltr">Desarrollo rápido de interfaces.</p>
</li>
<li dir="ltr">
<p dir="ltr">Sintaxis sencilla.</p>
</li>
<li dir="ltr">
<p dir="ltr">Efectos prediseñados.</p>
</li>
<li dir="ltr">
<p dir="ltr">Manejo de eventos.</p>
</li>
<li dir="ltr">
<p dir="ltr">Baja curva de aprendizaje.</p>
</li>
</ul>
<h3 dir="ltr">Contras:</h3>
<ul>
<li dir="ltr">
<p dir="ltr">Agrega peso extra a la aplicación.</p>
</li>
<li dir="ltr">
<p dir="ltr">Manejo complejo de CSS.</p>
</li>
<li dir="ltr">
<p dir="ltr">Los efectos no funcionan fluidamente en algunos equipos de baja gama.</p>
</li>
<li dir="ltr">
<p dir="ltr">Las aplicaciones más grandes pueden hacer lenta la carga por trabajar en un solo archivo.</p>
</li>
<li dir="ltr">
<p dir="ltr">Menos control general del código.</p>
</li>
</ul>
<p dir="ltr">jQuery Mobile es una excelente plataforma para comenzar a desarrollar, para aplicaciones pequeñas o medianas y para acelerar tu producción.</p>
<p>Si deseas aprender más sobre este framework puedes encontrar documentación detallada en su sitio oficial</p>
<p dir="ltr"><a href="http://jquerymobile.com/demos/">http://jQuerymobile.com/demos/</a></p>
<p dir="ltr">También existen otros frameworks similares a jQuery Mobile como <a href="http://www.sencha.com/products/touch/">Sencha Touch</a> o <a href="http://dhtmlx.com/touch/">DHTMLX touch</a>  con una aproximación similar de desarrollo rápido con elementos prediseñados.</p>
<p>jQuery Mobile es un paquete completo con su propio CSS, elementos gráficos, eventos y métodos, que  ofrecen una gran comodidad y aumentan velocidad de desarrollo.</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/xW2draNjlD8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/05/03/aplicaciones-moviles-con-jquery-movile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/05/03/aplicaciones-moviles-con-jquery-movile/</feedburner:origLink></item>
		<item>
		<title>Login de usuarios con PhoneGap y jQuery Mobile</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/AI38bkbaZac/</link>
		<comments>http://revolucion.mobi/2013/04/12/login-en-servidores-externos-con-phonegap/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 07:23:33 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquerymobile]]></category>
		<category><![CDATA[jsonp]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[webservices]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1647</guid>
		<description><![CDATA[La autenticación de usuarios es un proceso común en las aplicaciones móviles  pero,  aunque los desarrolladores web están acostumbrados a realizar rutinas de autenticación en un servidor , el proceso es [...]]]></description>
				<content:encoded><![CDATA[<p>La autenticación de usuarios es un proceso común en las aplicaciones móviles  pero,  aunque los desarrolladores <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> están acostumbrados a realizar rutinas de autenticación en un servidor , el proceso es algo distinto en <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a>.</p>
<p style="text-align: center;"><a href="http://revolucion.mobi/wp-content/uploads/2013/04/url.png"><img class="aligncenter  wp-image-1675" alt="url" src="http://revolucion.mobi/wp-content/uploads/2013/04/url.png" width="307" height="307" /></a></p>
<p>Las aplicaciones <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a>, a diferencia de una aplicación <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>,  tienen toda su información almacenada en el equipo del usuario y no se pueden conectar directamente a una base de datos externa. Esto no significa que la información debe quedarse atrapada en el móvil. Tenemos muchas técnicas para conectar las aplicaciones a cualquier servidor e interactuar con cualquier base de datos.</p>
<p>En este tutorial vamos a revisar paso a paso el proceso de validación de un usuario en una aplicación <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a> con jQuery Mobile.</p>
<h2>Código base de la aplicación</h2>
<p>Vamos a arrancar con una aplicación básica que requiere autenticación,  usaremos una app basada en jQuery Mobile, si nunca haz hecho una <a href="http://www.youtube.com/watch?v=_OszwzyhX3I">puedes ver un tutorial acá</a>.</p>
<p>El código de esta aplicación tiene dos pantallas, la primera tiene un formulario  y la segunda  solo puede verse luego de validarse en un servidor externo.</p>
<script>document.write('<link href=\"https://gist.github.com/assets/embed-17ab34a51711628d8f5449c4663a9318.css\" media=\"screen\" rel=\"stylesheet\" />')
document.write('<div id=\"gist5362969\" class=\"gist\">\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n\n\n\n  <div class=\"file-data\">\n    <table cellpadding=\"0\" cellspacing=\"0\" class=\"lines highlight\">\n      <tr>\n        <td class=\"line-numbers\">\n          <span class=\"line-number\" id=\"file-index-html-L1\" rel=\"file-index-html-L1\">1<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L2\" rel=\"file-index-html-L2\">2<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L3\" rel=\"file-index-html-L3\">3<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L4\" rel=\"file-index-html-L4\">4<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L5\" rel=\"file-index-html-L5\">5<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L6\" rel=\"file-index-html-L6\">6<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L7\" rel=\"file-index-html-L7\">7<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L8\" rel=\"file-index-html-L8\">8<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L9\" rel=\"file-index-html-L9\">9<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L10\" rel=\"file-index-html-L10\">10<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L11\" rel=\"file-index-html-L11\">11<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L12\" rel=\"file-index-html-L12\">12<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L13\" rel=\"file-index-html-L13\">13<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L14\" rel=\"file-index-html-L14\">14<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L15\" rel=\"file-index-html-L15\">15<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L16\" rel=\"file-index-html-L16\">16<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L17\" rel=\"file-index-html-L17\">17<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L18\" rel=\"file-index-html-L18\">18<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L19\" rel=\"file-index-html-L19\">19<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L20\" rel=\"file-index-html-L20\">20<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L21\" rel=\"file-index-html-L21\">21<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L22\" rel=\"file-index-html-L22\">22<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L23\" rel=\"file-index-html-L23\">23<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L24\" rel=\"file-index-html-L24\">24<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L25\" rel=\"file-index-html-L25\">25<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L26\" rel=\"file-index-html-L26\">26<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L27\" rel=\"file-index-html-L27\">27<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L28\" rel=\"file-index-html-L28\">28<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L29\" rel=\"file-index-html-L29\">29<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L30\" rel=\"file-index-html-L30\">30<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L31\" rel=\"file-index-html-L31\">31<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L32\" rel=\"file-index-html-L32\">32<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L33\" rel=\"file-index-html-L33\">33<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L34\" rel=\"file-index-html-L34\">34<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L35\" rel=\"file-index-html-L35\">35<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L36\" rel=\"file-index-html-L36\">36<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L37\" rel=\"file-index-html-L37\">37<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L38\" rel=\"file-index-html-L38\">38<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L39\" rel=\"file-index-html-L39\">39<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L40\" rel=\"file-index-html-L40\">40<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L41\" rel=\"file-index-html-L41\">41<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L42\" rel=\"file-index-html-L42\">42<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L43\" rel=\"file-index-html-L43\">43<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L44\" rel=\"file-index-html-L44\">44<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L45\" rel=\"file-index-html-L45\">45<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L46\" rel=\"file-index-html-L46\">46<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L47\" rel=\"file-index-html-L47\">47<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L48\" rel=\"file-index-html-L48\">48<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L49\" rel=\"file-index-html-L49\">49<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L50\" rel=\"file-index-html-L50\">50<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L51\" rel=\"file-index-html-L51\">51<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L52\" rel=\"file-index-html-L52\">52<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L53\" rel=\"file-index-html-L53\">53<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L54\" rel=\"file-index-html-L54\">54<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L55\" rel=\"file-index-html-L55\">55<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L56\" rel=\"file-index-html-L56\">56<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L57\" rel=\"file-index-html-L57\">57<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L58\" rel=\"file-index-html-L58\">58<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L59\" rel=\"file-index-html-L59\">59<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L60\" rel=\"file-index-html-L60\">60<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L61\" rel=\"file-index-html-L61\">61<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L62\" rel=\"file-index-html-L62\">62<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L63\" rel=\"file-index-html-L63\">63<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L64\" rel=\"file-index-html-L64\">64<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L65\" rel=\"file-index-html-L65\">65<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L66\" rel=\"file-index-html-L66\">66<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L67\" rel=\"file-index-html-L67\">67<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L68\" rel=\"file-index-html-L68\">68<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L69\" rel=\"file-index-html-L69\">69<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L70\" rel=\"file-index-html-L70\">70<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L71\" rel=\"file-index-html-L71\">71<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L72\" rel=\"file-index-html-L72\">72<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L73\" rel=\"file-index-html-L73\">73<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L74\" rel=\"file-index-html-L74\">74<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L75\" rel=\"file-index-html-L75\">75<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L76\" rel=\"file-index-html-L76\">76<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L77\" rel=\"file-index-html-L77\">77<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L78\" rel=\"file-index-html-L78\">78<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L79\" rel=\"file-index-html-L79\">79<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L80\" rel=\"file-index-html-L80\">80<\/span>\n          <span class=\"line-number\" id=\"file-index-html-L81\" rel=\"file-index-html-L81\">81<\/span>\n        <\/td>\n        <td class=\"line-data\">\n          <pre class=\"line-pre\"><div class=\"line\" id=\"file-index-html-LC1\"><span class=\"cp\">&lt;!DOCTYPE html&gt;<\/span> <\/div><div class=\"line\" id=\"file-index-html-LC2\"><span class=\"nt\">&lt;html&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC3\"><span class=\"nt\">&lt;head&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC4\">  <span class=\"nt\">&lt;meta<\/span> <span class=\"na\">charset=<\/span><span class=\"s\">&quot;UTF-8&quot;<\/span><span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC5\">  <span class=\"nt\">&lt;title&gt;<\/span>Validacion de usuarios<span class=\"nt\">&lt;/title&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC6\">  <span class=\"nt\">&lt;link<\/span> <span class=\"na\">rel=<\/span><span class=\"s\">&quot;stylesheet&quot;<\/span> <span class=\"na\">href=<\/span><span class=\"s\">&quot;http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css&quot;<\/span> <span class=\"nt\">/&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC7\">  <span class=\"nt\">&lt;script <\/span><span class=\"na\">src=<\/span><span class=\"s\">&quot;http://code.jquery.com/jquery-1.9.1.min.js&quot;<\/span><span class=\"nt\">&gt;&lt;/script&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC8\">  <span class=\"nt\">&lt;script <\/span><span class=\"na\">src=<\/span><span class=\"s\">&quot;http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js&quot;<\/span><span class=\"nt\">&gt;&lt;/script&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC9\"><span class=\"nt\">&lt;/head&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC10\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC11\"><span class=\"nt\">&lt;body&gt;<\/span> <\/div><div class=\"line\" id=\"file-index-html-LC12\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC13\"><span class=\"nt\">&lt;div<\/span> <span class=\"na\">data-role=<\/span><span class=\"s\">&quot;page&quot;<\/span> <span class=\"na\">id=<\/span><span class=\"s\">&quot;inicio&quot;<\/span><span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC14\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC15\">	<span class=\"nt\">&lt;div<\/span> <span class=\"na\">data-role=<\/span><span class=\"s\">&quot;header&quot;<\/span><span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC16\">		<span class=\"nt\">&lt;h1&gt;<\/span>Autenticacion de Usuario<span class=\"nt\">&lt;/h1&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC17\">	<span class=\"nt\">&lt;/div&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC18\">    <\/div><div class=\"line\" id=\"file-index-html-LC19\">	<span class=\"nt\">&lt;div<\/span> <span class=\"na\">data-role=<\/span><span class=\"s\">&quot;content&quot;<\/span><span class=\"nt\">&gt;<\/span>	<\/div><div class=\"line\" id=\"file-index-html-LC20\">		<span class=\"nt\">&lt;form<\/span> <span class=\"na\">id=<\/span><span class=\"s\">&quot;formulario&quot;<\/span> <span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC21\">      <\/div><div class=\"line\" id=\"file-index-html-LC22\">      			<span class=\"nt\">&lt;label&gt;<\/span> Usuario <span class=\"nt\">&lt;/label&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC23\">      			<span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">&quot;text&quot;<\/span> <span class=\"na\">id=<\/span><span class=\"s\">&quot;nombredeusuario&quot;<\/span> <span class=\"na\">name=<\/span><span class=\"s\">&quot;nombredeusuario&quot;<\/span><span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC24\">      <\/div><div class=\"line\" id=\"file-index-html-LC25\">      			<span class=\"nt\">&lt;label&gt;<\/span> Password <span class=\"nt\">&lt;/label&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC26\">     			<span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">&quot;password&quot;<\/span> <span class=\"na\">id=<\/span><span class=\"s\">&quot;clave&quot;<\/span> <span class=\"na\">name=<\/span><span class=\"s\">&quot;clave&quot;<\/span> <span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC27\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC28\">      			<span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">&quot;submit&quot;<\/span> <span class=\"na\">value=<\/span><span class=\"s\">&quot;Login&quot;<\/span> <span class=\"na\">id=<\/span><span class=\"s\">&quot;botonLogin&quot;<\/span><span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC29\">      <\/div><div class=\"line\" id=\"file-index-html-LC30\">    		<span class=\"nt\">&lt;/form&gt;<\/span>		<\/div><div class=\"line\" id=\"file-index-html-LC31\">	<span class=\"nt\">&lt;/div&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC32\">	 <\/div><div class=\"line\" id=\"file-index-html-LC33\"><span class=\"nt\">&lt;/div&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC34\"> <\/div><div class=\"line\" id=\"file-index-html-LC35\"><span class=\"nt\">&lt;div<\/span> <span class=\"na\">data-role=<\/span><span class=\"s\">&quot;page&quot;<\/span> <span class=\"na\">id=<\/span><span class=\"s\">&quot;home&quot;<\/span><span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC36\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC37\">	<span class=\"nt\">&lt;div<\/span> <span class=\"na\">data-role=<\/span><span class=\"s\">&quot;header&quot;<\/span><span class=\"nt\">&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC38\">		<span class=\"nt\">&lt;h1&gt;<\/span>Bienvenido<span class=\"nt\">&lt;/h1&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC39\">	<span class=\"nt\">&lt;/div&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC40\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC41\">	<span class=\"nt\">&lt;div<\/span> <span class=\"na\">data-role=<\/span><span class=\"s\">&quot;content&quot;<\/span><span class=\"nt\">&gt;<\/span>	<\/div><div class=\"line\" id=\"file-index-html-LC42\">		<span class=\"nt\">&lt;h2&gt;<\/span> Bienvenido a la aplicacion <span class=\"nt\">&lt;/h2&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC43\">		<span class=\"nt\">&lt;h3&gt;<\/span> Su usuario y password son válidos<span class=\"nt\">&lt;/h3&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC44\">	<span class=\"nt\">&lt;/div&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC45\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC46\"><span class=\"nt\">&lt;/div&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC47\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC48\"><span class=\"nt\">&lt;script&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC49\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC50\"><span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"s1\">&#39;#formulario&#39;<\/span><span class=\"p\">).<\/span><span class=\"nx\">submit<\/span><span class=\"p\">(<\/span><span class=\"kd\">function<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span> <\/div><div class=\"line\" id=\"file-index-html-LC51\">	<\/div><div class=\"line\" id=\"file-index-html-LC52\">	 <\/div><div class=\"line\" id=\"file-index-html-LC53\">	<span class=\"c1\">// recolecta los valores que inserto el usuario<\/span><\/div><div class=\"line\" id=\"file-index-html-LC54\">	<span class=\"kd\">var<\/span> <span class=\"nx\">datosUsuario<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;#nombredeusuario&quot;<\/span><span class=\"p\">).<\/span><span class=\"nx\">val<\/span><span class=\"p\">()<\/span><\/div><div class=\"line\" id=\"file-index-html-LC55\">	<span class=\"kd\">var<\/span> <span class=\"nx\">datosPassword<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">$<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;#clave&quot;<\/span><span class=\"p\">).<\/span><span class=\"nx\">val<\/span><span class=\"p\">()<\/span><\/div><div class=\"line\" id=\"file-index-html-LC56\">	<\/div><div class=\"line\" id=\"file-index-html-LC57\">  	<span class=\"nx\">archivoValidacion<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">&quot;http://revolucion.mobi/ejemplos/phonegap/envioFormulario/validacion_de_datos.php?jsoncallback=?&quot;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC58\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC59\">	<span class=\"nx\">$<\/span><span class=\"p\">.<\/span><span class=\"nx\">getJSON<\/span><span class=\"p\">(<\/span> <span class=\"nx\">archivoValidacion<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">usuario<\/span><span class=\"o\">:<\/span><span class=\"nx\">datosUsuario<\/span> <span class=\"p\">,<\/span><span class=\"nx\">password<\/span><span class=\"o\">:<\/span><span class=\"nx\">datosPassword<\/span><span class=\"p\">})<\/span><\/div><div class=\"line\" id=\"file-index-html-LC60\">	<span class=\"p\">.<\/span><span class=\"nx\">done<\/span><span class=\"p\">(<\/span><span class=\"kd\">function<\/span><span class=\"p\">(<\/span><span class=\"nx\">respuestaServer<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"file-index-html-LC61\">		<\/div><div class=\"line\" id=\"file-index-html-LC62\">		<span class=\"nx\">alert<\/span><span class=\"p\">(<\/span><span class=\"nx\">respuestaServer<\/span><span class=\"p\">.<\/span><span class=\"nx\">mensaje<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">&quot;\\nGenerado en: &quot;<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">respuestaServer<\/span><span class=\"p\">.<\/span><span class=\"nx\">hora<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">&quot;\\n&quot;<\/span> <span class=\"o\">+<\/span><span class=\"nx\">respuestaServer<\/span><span class=\"p\">.<\/span><span class=\"nx\">generador<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"file-index-html-LC63\">		<\/div><div class=\"line\" id=\"file-index-html-LC64\">		<span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"nx\">respuestaServer<\/span><span class=\"p\">.<\/span><span class=\"nx\">validacion<\/span> <span class=\"o\">==<\/span> <span class=\"s2\">&quot;ok&quot;<\/span><span class=\"p\">){<\/span><\/div><div class=\"line\" id=\"file-index-html-LC65\">		  <\/div><div class=\"line\" id=\"file-index-html-LC66\">		 	<span class=\"c1\">/// si la validacion es correcta, muestra la pantalla &quot;home&quot;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC67\">			<span class=\"nx\">$<\/span><span class=\"p\">.<\/span><span class=\"nx\">mobile<\/span><span class=\"p\">.<\/span><span class=\"nx\">changePage<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;#home&quot;<\/span><span class=\"p\">)<\/span><\/div><div class=\"line\" id=\"file-index-html-LC68\">		  <\/div><div class=\"line\" id=\"file-index-html-LC69\">		<span class=\"p\">}<\/span><span class=\"k\">else<\/span><span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"file-index-html-LC70\">		  <\/div><div class=\"line\" id=\"file-index-html-LC71\">		  <span class=\"c1\">/// ejecutar una conducta cuando la validacion falla<\/span><\/div><div class=\"line\" id=\"file-index-html-LC72\">		<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"file-index-html-LC73\">  <\/div><div class=\"line\" id=\"file-index-html-LC74\">	<span class=\"p\">})<\/span><\/div><div class=\"line\" id=\"file-index-html-LC75\">	<span class=\"k\">return<\/span> <span class=\"kc\">false<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC76\"><span class=\"p\">})<\/span><\/div><div class=\"line\" id=\"file-index-html-LC77\">	<\/div><div class=\"line\" id=\"file-index-html-LC78\"><span class=\"nt\">&lt;/script&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC79\">&nbsp;<\/div><div class=\"line\" id=\"file-index-html-LC80\"><span class=\"nt\">&lt;/body&gt;<\/span><\/div><div class=\"line\" id=\"file-index-html-LC81\"><span class=\"nt\">&lt;/html&gt;<\/span><\/div><\/pre>\n        <\/td>\n      <\/tr>\n    <\/table>\n  <\/div>\n\n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"https://gist.github.com/siddharta1337/5362969/raw/ae4a9869bd22a0e38c833396c40e77da61ff9f71/index.html\" style=\"float:right\">view raw<\/a>\n          <a href=\"https://gist.github.com/siddharta1337/5362969#file-index-html\" style=\"float:right; margin-right:10px; color:#666;\">index.html<\/a>\n          <a href=\"https://gist.github.com/siddharta1337/5362969\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n<\/div>\n')
</script><div style='margin-bottom:1em;padding:0;'><noscript><code><pre style='overflow:auto;margin:0;padding:0;border:1px solid #DDD;'>&lt;!DOCTYPE html&gt; 
&lt;html&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;title&gt;Validacion de usuarios&lt;/title&gt;
  &lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css&quot; /&gt;
  &lt;script src=&quot;http://code.jquery.com/jquery-1.9.1.min.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt; 

&lt;div data-role=&quot;page&quot; id=&quot;inicio&quot;&gt;

	&lt;div data-role=&quot;header&quot;&gt;
		&lt;h1&gt;Autenticacion de Usuario&lt;/h1&gt;
	&lt;/div&gt;
    
	&lt;div data-role=&quot;content&quot;&gt;	
		&lt;form id=&quot;formulario&quot; &gt;
      
      			&lt;label&gt; Usuario &lt;/label&gt;
      			&lt;input type=&quot;text&quot; id=&quot;nombredeusuario&quot; name=&quot;nombredeusuario&quot;&gt;
      
      			&lt;label&gt; Password &lt;/label&gt;
     			&lt;input type=&quot;password&quot; id=&quot;clave&quot; name=&quot;clave&quot; &gt;

      			&lt;input type=&quot;submit&quot; value=&quot;Login&quot; id=&quot;botonLogin&quot;&gt;
      
    		&lt;/form&gt;		
	&lt;/div&gt;
	 
&lt;/div&gt;
 
&lt;div data-role=&quot;page&quot; id=&quot;home&quot;&gt;

	&lt;div data-role=&quot;header&quot;&gt;
		&lt;h1&gt;Bienvenido&lt;/h1&gt;
	&lt;/div&gt;

	&lt;div data-role=&quot;content&quot;&gt;	
		&lt;h2&gt; Bienvenido a la aplicacion &lt;/h2&gt;
		&lt;h3&gt; Su usuario y password son v&Atilde;&iexcl;lidos&lt;/h3&gt;
	&lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;

$('#formulario').submit(function() { 
	
	 
	// recolecta los valores que inserto el usuario
	var datosUsuario = $(&quot;#nombredeusuario&quot;).val()
	var datosPassword = $(&quot;#clave&quot;).val()
	
  	archivoValidacion = &quot;http://revolucion.mobi/ejemplos/phonegap/envioFormulario/validacion_de_datos.php?jsoncallback=?&quot;

	$.getJSON( archivoValidacion, { usuario:datosUsuario ,password:datosPassword})
	.done(function(respuestaServer) {
		
		alert(respuestaServer.mensaje + &quot;\nGenerado en: &quot; + respuestaServer.hora + &quot;\n&quot; +respuestaServer.generador)
		
		if(respuestaServer.validacion == &quot;ok&quot;){
		  
		 	/// si la validacion es correcta, muestra la pantalla &quot;home&quot;
			$.mobile.changePage(&quot;#home&quot;)
		  
		}else{
		  
		  /// ejecutar una conducta cuando la validacion falla
		}
  
	})
	return false;
})
	
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre></code></noscript></div>
<p style="text-align: center;"> <a href="http://revolucion.mobi/wp-content/uploads/2013/04/phonegap_app_jqueryMobile.jpg"><img class="aligncenter  wp-image-1672" alt="phonegap app jqueryMobile" src="http://revolucion.mobi/wp-content/uploads/2013/04/phonegap_app_jqueryMobile.jpg" width="514" height="381" /></a></p>
<h2>Recopilando la información</h2>
<p>Para recopilar la información del formulario vamos a usar JavaScript. El primer paso es crear una función que se active cuando el usuario presiona el boton de envio:</p>
<div class="code">
 &lt;script&gt;<br />
 $(&#8216;#formulario&#8217;).submit(function() { </p>
<p> return false;<br />
 })<br />
&lt;/script&gt;
</p></div>
<p>En esta función agregamos la instrucción <strong><em>return false</em></strong> para controlar la conducta regular del formulario y evitar que intente abrir otro documento.</p>
<p>Dentro de esta función que acabamos de crear, vamos a seguir agregando código, primero agregamos dos variables que recolectan la información de las casillas de texto.</p>
<div class="code">
var datosUsuario = $(&#8220;#nombredeusuario&#8221;).val()<br />
var datosPassword = $(&#8220;#clave&#8221;).val()
</div>
<p>Ahora que ya tenemos disponible la información del usuario ,vamos a enviarla a un archivo hospedado en un servidor externo, en este caso el archivo  &#8221;validacion_de_datos.php&#8221; que se encuentra hospedado en este servidor.</p>
<div class="code">
archivoValidacion = &#8220;http://revolucion.mobi/ejemplos/<a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">phonegap</a>/envioFormulario/validacion_de_datos.php?jsoncallback=?&#8221;
</div>
<p>Para enviar la información a este archivo usaremos el comando de jQuery <strong><em>$.getJSON</em></strong> que ya incluye todos los settings y formato para enviar la información al servidor:</p>
<div class="code">
$.getJSON( archivoValidacion, { <span style="color: #ff0000;">usuario</span>:datosUsuario ,<span style="color: #ff0000;">password</span>:datosPassword})
</div>
<p>Como parámetros de esta función incluimos la variable que define la ruta del archivo que recibe los datos (archivoValidacion) y los datos que recopilamos del formulario.</p>
<h2>Procesando la información en el servidor</h2>
<p>Para este punto tenemos una aplicación que puede recopilar y enviar información a un servidor, el siguiente paso es crear el archivo que va a procesar la información en el servidor (&#8220;validacion_de_datos.php&#8221;) . Vamos a usar PHP por ser un lenguaje sencillo y popular, pero la información que envía la aplicación puede leerse en cualquier otro lenguaje de programación.</p>
<p>En este caso, para mantener el ejemplo simple vamos a definir dos variables con el nombre de usuario y password correctos. Cuando hagas tu aplicación real, posiblemente estos valores vengan de una base de datos o algún otro proceso interno del servidor.</p>
<div class="code">
$usuarioValido = &#8220;revolucion&#8221;;<br />
$passwordValido = &#8220;movil&#8221;;
</div>
<p>A partir de este punto, nuestra aplicacion de prueba, le dará acceso a cualquiera que utilice el usuario &#8220;<strong>revolucion</strong>&#8221; y el password &#8220;<strong>movil</strong>&#8220;.</p>
<p>Ahora vamos a extraer la información enviada desde la aplicación  como puedes ver destacado en rojo, está el nombre de las variables que se enviaron desde la aplicación móvil.</p>
<div class="code">
$usuarioEnviado = $_GET['<span style="color: #ff0000;">usuario</span>'];<br />
$passwordEnviado = $_GET['<span style="color: #ff0000;">password</span>'];
</div>
<p>La aplicacion movil tiene la capacidad de leer cualquier informacion que envie el servidor, la complejidad de los datos depende de las necesidades de cada aplicacion. Para demostrar que podemos enviar datos compuestos, vamos a crear un arreglo con algunos datos extra que enviaremos de vuelta a la aplicacion. En este caso vamos a incluir la fecha y hora en que se realiza el proceso y el dominio en que se generó.</p>
<div class="code">
$resultados = array();<br />
$resultados["hora"] = time();<br />
$resultados["generador"] = &#8220;generado en revolucion.mobi&#8221;;
</div>
<p>El siguiente paso es  verificar que los datos enviados desde la aplicación coincidan con los que están definidos en el servidor. Según el resultado de esta verificación agregaremos diferentes respuestas del servidor para que el usuario pueda saber si la autenticación tuvo exito o no.</p>
<div class="code">
if( $usuarioEnviado == $usuarioValido &amp;&amp; $passwordEnviado == $passwordValido ){<br />
$resultados["respuesta"] = &#8220;Validacion Correcta&#8221;;<br />
$resultados["validacion"] = &#8220;ok&#8221;;<br />
}else{<br />
$resultados["respuesta"] = &#8220;Usuario y password incorrectos&#8221;;<br />
$resultados["validacion"] = &#8220;error&#8221;;<br />
}
</div>
<p>Ya tenemos listos los resultados de la verificación. Vamos a convertir los datos que contiene el arreglo a formato <a href="http://es.wikipedia.org/wiki/JSON">JSON</a> para enviarlo de vuelta a la aplicación.  Este formato es muy popular en aplicaciones móviles porque es fácil de leer y ocupa menos ancho de banda que formatos similares como XML.</p>
<div class="code">
$resultadosJson = json_encode($resultados);<br />
echo $resultadosJson;
</div>
<p>La aplicación esta lista para recibir datos, pero aun te falta aprender un truco extra.</p>
<h2>Evitar restricción de seguridad de Javascript con JSONP</h2>
<p>En javascript existe una restricción de seguridad llamada la <a href="http://es.wikipedia.org/wiki/Pol%C3%ADtica_del_mismo_origen">política del mismo origen</a>, que solo permite a los archivos javascript comunicarse únicamente con archivos que se encuentran en el mismo dominio. Tratar de leer archivos entre dominios diferentes despliega un error de seguridad y bloquea la lectura del archivo externo.</p>
<p>Si bien es cierto por la forma que se ejecutan las aplicaciones <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a>, esta restricción no aplica,  si tratas de emular tu app en un browser te encontraras con un error similar a este:</p>
<p>&nbsp;</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/04/Screen-Shot-2013-04-10-at-10.19.46-PM.png"><img title="XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin" alt="XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin" src="http://revolucion.mobi/wp-content/uploads/2013/04/Screen-Shot-2013-04-10-at-10.19.46-PM.png" width="602" height="87" /></a></p>
<p>Para evitar esta restricción debemos usar el formato JSONP (<a href="http://en.wikipedia.org/wiki/JSONP">JSON with Padding</a>) que permite acceder al contenido en servidores externos sin generar errores en el navegador. Para usar el formato JSONP en esta aplicación solo tenemos que hacer dos leves cambios. El primero es editar la variable de javascript &#8221;archivoValidacion&#8221; de esta forma:</p>
<div class="code">
archivoValidacion = &#8220;http://revolucion.mobi/ejemplos/<a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">phonegap</a>/envioFormulario/validacion_de_datos.php<strong>?jsoncallback=?</strong>&#8221;
</div>
<p>Observa que al final del URL se incluye <strong>&#8220;?jsoncallback=?&#8221;</strong> este texto envía una llamada de regreso o callback para que javascript pueda leer y procesar la respuesta del servidor sin problemas.</p>
<p>El segundo paso es reemplazar la ultima linea de tu archivo PHP para que se ajuste al formato correcto:</p>
<div class="code">
echo <strong>$_GET['jsoncallback'] . &#8216;(&#8216; .</strong> $resultadosJson <strong>. &#8216;);&#8217;;</strong>
</div>
<p>Con estos mínimos cambios tu aplicación no solo funcionara en un móvil, también podrás probarla desde tu browser!</p>
<h2>Recibir datos del servidor en la app</h2>
<p>Ya casi esta lista nuestra aplicación, solo resta programar la conducta que tendrá la aplicación cuando reciba los datos de vuelta desde el servidor.</p>
<p>Como se menciono antes, el comando <em><strong>$.getJSON</strong></em> incluye todo lo que necesitamos para enviar y recibir datos del servidor. Vamos a agregarle un método extra llamado &#8220;<strong><em>.done</em></strong>&#8221; que se ejecuta únicamente cuando se recibe una respuesta válida desde el servidor, en este caso vamos a usar el parámetro &#8221;<em>respuestaServer</em>&#8221; en el cual se almacenan automáticamente los datos que se reciben desde el servidor.</p>
<div class="code">
$.getJSON( archivoValidacion, { usuario:datosUsuario ,password:datosPassword})<br />
 .done(function(<strong>respuestaServer</strong>) {<br />
 alert(<strong>respuestaServer</strong>.mensaje + &#8220;\nGenerado en: &#8221; + <strong>respuestaServer</strong>.hora + &#8220;\n&#8221; +<strong>respuestaServer</strong>.generador)<br />
 if(respuestaServer.validacion == &#8220;ok&#8221;){<br />
  $.mobile.changePage(&#8220;#home&#8221;)<br />
 }<br />
 })
</div>
<p>Como se puede ver para acceder uno de los elementos que estaban en el arreglo del archivo PHP, solo se invocan dentro de la variable  <strong>respuestaServer.</strong></p>
<p>Para terminar con el proceso de autenticacion, si la respuesta de la validacion es correcta, el comando <strong>$.mobile.changePage </strong>cambia de pagina y nos lleva a la pantalla de bienvenida porque presentamos las credenciales correctas.</p>
<p><a href="https://gist.github.com/siddharta1337/5362969">Puedes ver el código completo acá</a></p>
<h2>Conclusión</h2>
<p>En esta aplicación de prueba hemos logrado enviar y recibir información dinámica a un servidor, con algo de código extra en el servidor puedes conectar tu app con cualquier base de datos o webservice externo.</p>
<p>También usamos el formato JSONP para ignorar restricciones del navegador y emular sin problemas nuestras aplicaciones en el browser. Este formato también puedes aplicarlo en cualquier interacción que realice tu aplicación con datos de un servidor externo.</p>
<p>Conectandote a datos externos usando la capacidad de proceso de un servidor,  podrás aumentar el nivel de complejidad de tu aplicación y llevarla al siguiente nivel!</p>
<p><a class="btn btn-inverse" href="https://gist.github.com/siddharta1337/5362969/download">Descargar ejemplo</a> <a class="btn btn-inverse" href="http://revolucion.mobi/ejemplos/phonegap/envioFormulario/">Ver ejemplo online </a></p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/AI38bkbaZac" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/04/12/login-en-servidores-externos-con-phonegap/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/04/12/login-en-servidores-externos-con-phonegap/</feedburner:origLink></item>
		<item>
		<title>Encuentro de Desarrolladores en Santiago de Chile</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/ZWgGRfbW3lQ/</link>
		<comments>http://revolucion.mobi/2013/03/25/encuentro-de-desarrolladores-en-santiago/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 22:57:25 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1595</guid>
		<description><![CDATA[BlackBerry esta a la alza una vez mas y en Revolución Móvil queremos ayudarte a que tu app domine este nuevo [...]]]></description>
				<content:encoded><![CDATA[<p>BlackBerry esta a la alza una vez mas y en Revolución Móvil queremos ayudarte a que tu app domine este nuevo ecosistema desde el primer día, por eso no te puedes perder el <a href="http://blackberrydevmeetupsantiago.eventbrite.com/">BlackBerry Dev Meeting</a> que estamos organizando en Santiago de Chile.<span id="more-1595"></span></p>
<p style="text-align: center;"><img class="aligncenter  wp-image-1626" alt="blackberry 10" src="http://revolucion.mobi/wp-content/uploads/2013/03/44289-blackberry-10-devices.jpg" width="666" height="375" /></p>
<p> Este 4 de Abril en el marco del lanzamiento del nuevo sistema operativo BlackBerry 10 vamos a  tener una reunión con desarrolladores y emprendedores en INACAP sede Santiago Centro ( <a href="https://maps.google.com/maps?q=Almirante+Barroso+76,+Santiago,+Chile&amp;hl=en&amp;ie=UTF8&amp;sll=-33.443689,-70.66178&amp;sspn=0.012229,0.019076&amp;oq=76+Almirante+Barroso&amp;hnear=Almirante+Barroso+76,+Santiago,+Regi%C3%B3n+Metropolitana,+Chile&amp;t=m&amp;z=16">76 Almirante Barroso</a>) . Tendremos talleres, charlas y muchas sorpresas para los asistentes.</p>
<p>El evento contará con la presencia de dos evangelistas técnicos de la marca que vienen exclusivamente a compartir todos los trucos y secretos para crear aplicaciones exitosas: <strong>Edgar Parada</strong> de México<strong> </strong>y<strong>  </strong><strong>Bryan Tafel </strong>de Argentina.</p>
<h3>Programa del evento</h3>
<p>&nbsp;</p>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top"><b>Hora</b></td>
<td valign="top"><b>Actividad</b></td>
</tr>
<tr>
<td valign="top">08:30 &#8211; 09:00</td>
<td valign="top"><b>Registro y Bienvenida</b></td>
</tr>
<tr>
<td valign="top">09:00 &#8211; 10:00</td>
<td valign="top"><b><b>Apertura:</b></b>Presentación de la plataforma BlackBerry y tecnologías soportadas.Expositor: Bryan Tafel Developer Evangelist de BlackBerry</td>
</tr>
<tr>
<td valign="top">10:00 &#8211; 11:00</td>
<td valign="top"><b>Workshop:</b><br />
Creación de aplicaciones con <a href="http://revolucion.mobi/category/web-movil">HTML5</a> y Webworks<br />
Expositor: Carlos Solis Elite Developer de  BlackBerry</td>
</tr>
<tr>
<td valign="top">11:00 &#8211; 12:00</td>
<td valign="top"><em><b>Por Definir</b></em></td>
</tr>
<tr>
<td valign="top">12:00 &#8211; 13:00</td>
<td valign="top"><b>Workshop:</b>Creación de aplicaciones nativas BlackBerry 10 con Cascades.Expositor: Carlos Solis Elite Developer de  BlackBerry</td>
</tr>
<tr>
<td valign="top">13:00</td>
<td valign="top"><b>Cierre del Evento y Despedida</b>.</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><strong>Fecha:</strong> 4 de Abril 2013</p>
<p><strong>Hora:</strong> 9:00 am &#8211; 13:00 pm</p>
<p><strong>Lugar:</strong> INACAP Santiago Centro&lt;</p>
<p><strong>Direccion:</strong> Almirante Barroso 76, Santiago [<a href="https://maps.google.com/maps?q=Almirante+Barroso+76,+Santiago,+Chile&amp;hl=en&amp;ie=UTF8&amp;sll=-33.443689,-70.66178&amp;sspn=0.014503,0.016458&amp;oq=almirante+barroso+76&amp;hnear=Almirante+Barroso+76,+Santiago,+Regi%C3%B3n+Metropolitana,+Chile&amp;t=m&amp;z=17">ver en google Maps</a>]</p>
<p>&nbsp;</p>
<h3>Inscripción</h3>
<p>El evento es totalmente gratuito, pero los cupos son limitados, para asistir solo debes reservar ahora mismo tu espacio en esta enlace:</p>
<p><a href="http://blackberrydevmeetupsantiago.eventbrite.com">http://blackberrydevmeetupsantiago.eventbrite.com</a></p>
<p>&nbsp;</p>
<p>Trae tu ordenador y cuéntale a tus amigos!  Nos vemos en el BlackBerry Dev Meeting de Santiago!</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/ZWgGRfbW3lQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/03/25/encuentro-de-desarrolladores-en-santiago/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/03/25/encuentro-de-desarrolladores-en-santiago/</feedburner:origLink></item>
		<item>
		<title>Crear aplicaciones para Firefox OS</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/AfMl-nKS20o/</link>
		<comments>http://revolucion.mobi/2013/03/13/tutorial-crear-aplicaciones-para-firefox-os/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 10:03:35 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[FirefoxOS]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefoxOS]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[videotutorial]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1546</guid>
		<description><![CDATA[En el recién pasado congreso mundial de móviles, un nuevo sistema operativo se robó los titulares: FirefoxOS. Este es el nuevo [...]]]></description>
				<content:encoded><![CDATA[<p>En el recién pasado congreso mundial de móviles, un nuevo sistema operativo se robó los titulares: <a href="http://es.wikipedia.org/wiki/Firefox_OS">FirefoxOS</a>. Este es el nuevo sistema operativo de Mozilla que promete revolucionar la distribución de contenidos para móviles.<span id="more-1546"></span></p>
<p><img alt="geeksphone" src="http://revolucion.mobi/wp-content/uploads/2013/02/geeksphone.jpg" width="500" height="324" /></p>
<p>Ya están confirmados al menos dos nuevos equipos basados en FirefoxOS: <a href="http://www.geeksphone.com/es/">KEON y PEAK</a>. Mientras tanto, uno de los gigantes de las telecomunicaciones,  la española Telefonica, ya anunció su apoyo para distribuir estos equipos en el futuro cercano.</p>
<p>Aun faltan algunos meses para que salgan los nuevos móviles equipados con FirefoxOS, pero ya hay un movimiento importante de desarrolladores creando aplicaciones y poco a poco comienzan a poblar la<a href="https://marketplace.firefox.com/developers/"> tienda de aplicaciones</a>.</p>
<h2>Crear y probar aplicaciones</h2>
<p>Las aplicaciones de FirefoxOS se basan completamente en tecnologías <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>: <a href="http://revolucion.mobi/category/web-movil">HTML5</a>, CSS3 y Javascript. A diferencia de frameworks como <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a>, las aplicaciones de este sistema operativo funcionan sin ningún proceso o interprete de por medio lo que incrementa sustancialmente su rendimiento.</p>
<p>En el siguiente videotutorial te explicamos como instalar el emulador de FirefoxOS y crear una aplicación básica.</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/cqVXpg6n6Mg?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p><a class="btn btn-inverse" href="http://revolucion.mobi/wp-content/uploads/2013/03/revolucion.mobi_.aplicacion_firefoxOS.zip">Descargar ejemplo</a></p>
<p style="text-align: left;">Puedes encontrar mas información para crear tus aplicaciones para FirefoxOS en su <a href="https://developer.mozilla.org/en-US/docs/Apps">portal de desarrolladores</a>.</p>
<h2>Conclusión</h2>
<p>FirefoxOS es un sistema aun muy joven, es imposible saber cual será su suerte frente a sistemas que están a la alza como Blackberry 10 o Ubuntu mobile. Pero si realmente logra tener éxito y consolidarse ante los usuarios, podemos estar frente a una revolución en la distribución de contenidos con una metodología descentralizada y enfocada a la <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>.</p>
<p>Es cierto que otros sistemas operativos como webOS han hecho intentos similares con resultados infructosos, pero esta es la primera vez que un especialista consolidado en la <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> como Firefox lo hace y la experiencia de la mano con una comunidad robusta pueden cambiar el juego completamente.</p>
<p>Le darías una oportunidad a FirefoxOS creando apps o comprando sus equipos?</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/AfMl-nKS20o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/03/13/tutorial-crear-aplicaciones-para-firefox-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/03/13/tutorial-crear-aplicaciones-para-firefox-os/</feedburner:origLink></item>
		<item>
		<title>Probar aplicaciones con el Emulador Ripple</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/wzIbthWEw-A/</link>
		<comments>http://revolucion.mobi/2013/03/07/probar-aplicaciones-con-el-emulador-ripple/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 13:15:53 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[videotutorial]]></category>
		<category><![CDATA[Web Móvil]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[emulador]]></category>
		<category><![CDATA[emuladores]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1553</guid>
		<description><![CDATA[Ripple es un plugin de Blackberry para Google Chrome que recrea el entorno y sensores de un dispositivo móvil real [...]]]></description>
				<content:encoded><![CDATA[<p>Ripple es un plugin de Blackberry para Google Chrome que recrea el entorno y sensores de un dispositivo móvil real dentro del navegador <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>. Tiene un sistema avanzado de simulación para probar aplicaciones basadas en <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a> y Webworks de Blackberry.</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/03/ripple_emulator_main_screen.png"><img alt="ripple_emulator_main_screen" src="http://revolucion.mobi/wp-content/uploads/2013/03/ripple_emulator_main_screen.png" width="420" height="295" /></a></p>
<p>Con este plugin y el soporte <a href="http://revolucion.mobi/category/web-movil">HTML5</a> de Google Chrome es posible simular, con bastante aproximación a la realidad, prácticamente cualquier aplicación basada en tecnologías <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>, incluso si utiliza eventos o sensores exclusivos del móvil como uso de botones o movimientos del acelerómetro.</p>
<h2>Instalar Ripple</h2>
<p>Ripple esta disponible en el <a href="http://developer.blackberry.com/html5/download/">sitio de desarrolladores de Blackberry</a> , para instalarlo solo debes seguir las instrucciones en linea o seguir nuestro videotutorial</p>
<p style="text-align: center;"> 
<p><a href="http://www.youtube.com/watch?v=UGM6WevQYW0">http://www.youtube.com/watch?v=UGM6WevQYW0</a></p>
</p>
<h2>Probar archivos locales</h2>
<p>Los archivos que se desean emular en Ripple deben estar almacenados en un servidor externo o en uno interno (localhost). En caso de no tener acceso a un servidor externo, es posible habilitar un servidor local de manera rápida y fácil con programas gratuitos como <a href="http://www.apachefriends.org/es/xampp.html">XAMPP</a>  o <a href="http://www.wampserver.com/en/">WAMPP</a></p>
<p>Si deseas probar un archivo local y no tienes instalado un servidor local, este emulador tambien permite instalar tu propio servidor micro servidor local.</p>
<p>Para emular tu archivo, primero debes crear una carpeta con el nombre &#8220;RippleSites&#8221;. La ubicacion de esta carpeta varia segun el  sistema operativo, selecciona la que aplique en tu caso:</p>
<ul id="_doneul_12EB6415D3F14ACBAE0F491F406CAA0913372765498150">
<li id="_doneli_7F96A7785A014F1D823601360EDD547413372765496399"><strong>Windows XP:</strong> C:\Documents and Settings\<span style="color: #808080;"><em>&lt;NombreDeUsuario&gt;</em></span>\RippleSites</li>
<li id="_doneli_F3D31D024A4444EBB3FE1DAAECAC00FD13372765495951"><strong>Windows 7:</strong> C:\Users\<span style="color: #808080;"><em>&lt;NombreDeUsuario</em><em>&gt;</em></span>\RippleSites</li>
<li id="_doneli_ABACD3539A6A491AACB34E19BD7909AF13372765491597"><strong>Mac OS: </strong>/Users/<span style="color: #808080;"><em>&lt;NombreDeUsuario&gt;</em></span>/RippleSites</li>
</ul>
<p>Una vez que tengas la carpeta creada, solo es necesario abrir Ripple y seleccionar la opcion &#8220;Start Ripple Services&#8221;.</p>
<p><a href="http://revolucion.mobi/wp-content/uploads/2013/03/Screen-Shot-2013-03-04-at-11.02.05-AM.png"><img class="aligncenter size-full wp-image-1559" alt="Screen Shot 2013-03-04 at 11.02.05 AM" src="http://revolucion.mobi/wp-content/uploads/2013/03/Screen-Shot-2013-03-04-at-11.02.05-AM.png" width="312" height="315" /></a></p>
<p>Ahora puedes abrir y emular con Ripple cualquier archivo dentro de la carpeta &#8220;RippleSites&#8221; usando la direccion:</p>
<p>http://localhost:9910/<span style="color: #888888;"><em>&lt;nombre_del_archivo_que_deseas_emular&gt;</em></span></p>
<h2>Capacidades de Ripple</h2>
<p>A pesar que Chrome comparte el mismo motor de render (Webkit) que iOS, <a href="http://revolucion.mobi/tag/android">Android</a> y Blackberry y tiene la posibilidad de mostrar elementos graficos practicamente en las mismas condiciones que un equipo movil, tiene algunas restricciones. Los navegadores carecen de algunos eventos y sensores exclusivos de los dispositivos móviles.</p>
<p>Ripple se encarga de simular estas capacidades para acercarse al maximo posible al verdadero entorno móvil  algunas de las capacidades que instala en el navegador son:</p>
<p><strong>Devices:</strong> Simula la apariencia, tamaño y resolución de pantalla de múltiples equipos y sistemas operativos móviles. También permite cambiar la orientación del equipo en horizontal ó vertical.</p>
<p><strong>Platforms:</strong> Muestra las plataformas y versiones disponibles para emulación: <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a> (Apache Cordova), Blackberry Webworks y <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> móvil.</p>
<p><strong>Information:</strong> Despliega información importante sobre el documento y modo de emulación actual.</p>
<p><strong>Accelerometer:</strong> Muestra un dispositivo virtual en 3D que se puede rotar libremente sobre todos sus ejes. Al manipular el dispositivo virtual se envía directamente la información a la aplicación para que reaccione de igual manera, simulando así el movimiento real de un dispositivo. La información detallada se muestra en tiempo real para depurar y comprobar los resultados. Incluye también la opción de simular la acción de “sacudida” o “shake”.</p>
<p><strong>Device &amp; Network Settings:</strong> Simula la presencia y tipos de conexión a internet propios de un dispositivo móvil.</p>
<p><strong>Geo Location:</strong> Permite simular y manipular todos los valores de las coordenadas de geolocalización, desde la latitud y longitud hasta la dirección y velocidad en que se desplaza el móvil. Incluye además un mapa para ubicar gráficamente las coordenadas que se introducen.</p>
<p><strong>Events:</strong> Activa eventos específicos de <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a> como deviceReady , que señala el momento en que el dispositivo esta listo o backbutton , que se activa cuando se presiona el botón de regresar de algunos dispositivos. Esta característica es particularmente útil porque permite emular el comportamiento de una aplicación <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a> en un dispositivo móvil real.</p>
<h2>Conclusión</h2>
<p>Muchos de los ejemplos que mostramos en este blog y en el <a href="http://www.amazon.com/Manual-Del-Guerrero-Móvil-ebook/dp/B009G5Q60I/ref=sr_1_1?ie=UTF8&amp;qid=1348544767&amp;sr=8-1&amp;keywords=manual+del+guerrero+movil">Manual del guerrero móvil</a> son probados con Ripple, no solo por todas sus capacidades de simulación, sino porque ahorra tiempo al eliminar la necesidad de compilar aplicaciones, ademas de  permitir el uso de otras herramientas de depuracion <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> como <a href="https://chrome.google.com/webstore/detail/firebug-lite-for-google-c/bmagokdooijbeehmkpknfglimnifench?hl=en">firebug</a>.</p>
<p>Esta es sin duda una herramienta que no puede faltar en el navegador de cualquier desarrollador de sitios <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a>  y es un excelente punto de partida para desarrollad aplicaciones nativas basadas en <a href="http://revolucion.mobi/category/phonegap" title="Tutoriales PhoneGap">PhoneGap</a> o Webworks.</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/wzIbthWEw-A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/03/07/probar-aplicaciones-con-el-emulador-ripple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/03/07/probar-aplicaciones-con-el-emulador-ripple/</feedburner:origLink></item>
		<item>
		<title>Queremos crear un ninja!</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/5wfYO1oDqLo/</link>
		<comments>http://revolucion.mobi/2013/02/17/queremos-crear-ninja/#comments</comments>
		<pubDate>Sun, 17 Feb 2013 21:07:12 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1521</guid>
		<description><![CDATA[Buscamos un interno con gusto por el desarrollo móvil  y con ganas de ganar experiencia a toda velocidad!  Solo uno [...]]]></description>
				<content:encoded><![CDATA[<p>Buscamos un interno con gusto por el desarrollo móvil  y con ganas de ganar experiencia a toda velocidad!  Solo uno será el elegido para colaborar en nuestro proyecto y aprender todos los secretos de un verdadero guerrero móvil.</p>
<p><img class="aligncenter size-full wp-image-1523" alt="ninja_eyes" src="http://revolucion.mobi/wp-content/uploads/2013/02/ninja_eyes.jpeg" width="400" height="300" /></p>
<p>Nuestro sitio sigue creciendo y buscamos un interno con ganas de convertirse en un ninja del desarrollo móvil y el <a href="http://revolucion.mobi/category/web-movil">HTML5</a>. Los requisitos para formar parte de este programa son:</p>
<ul>
<li>Estudiante universitario o con menos de un año de graduado.</li>
<li>Conocimientos básicos de HTML.</li>
<li>Excelente ortografía.</li>
<li>Proactivo, con deseos de aprender y espíritu emprendedor.</li>
<li>Inglés básico es un gran plus.</li>
<li>Comprender conceptos como &#8220;NyanCat&#8221;, &#8220;FTW&#8221; o &#8220;Harlem Shake&#8221; es un plus ; )</li>
</ul>
<p>El programa de internos se llevará a cabo durante el primer semestre del 2013 (Entre la segunda semana de Marzo y la ultima de Julio) . Puedes participar desde cualquier parte del mundo.</p>
<p>Este no es un internado normal, es una fabrica de ninjas y queremos darte un arsenal para que puedas patear traseros al estilo Chuck Norris, por eso tendrás todos estos beneficios:</p>
<ul>
<li>Acceso a todos los materiales (tutoriales, cursos, libros) de Revolucion.mobi</li>
<li>Giftcard de Amazon por $100 USD para comprar los libros  que quieras.</li>
<li>Membresía por un año en <a href="http://www.video2brain.com/mx/cursos">Video2brain</a> para que tengas acceso a cientos de cursos en video ( o si lo prefieres en inglés, en <a href="http://www.lynda.com/subject/all">Lynda.com</a>)</li>
<li>Coaching y tutorías para tus proyectos personales.</li>
</ul>
<p>A cambio, necesitamos que tu nos colabores generando y revisando contenido para nuestros próximos proyectos.</p>
<p>Esta es una oportunidad única para ganar experiencia,  aprender mucho y conseguir material de primera calidad que te servirá en tu futuro profesional.</p>
<p>Si quieres participar, escribe un articulo de al menos 200 palabras sobre cualquier tema tecnológico usando tu mejor redacción y ortografía.</p>
<p>Envíalo junto con una breve introducción sobre ti y tus intereses al correo:</p>
<p><strong> interno2013@revolucion.mobi </strong></p>
<p>La convocatoria se cierra el 1 de Marzo del 2013. El nuevo interno será anunciado el día 4 del mismo mes.</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/5wfYO1oDqLo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/02/17/queremos-crear-ninja/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/02/17/queremos-crear-ninja/</feedburner:origLink></item>
		<item>
		<title>Amazon presenta Coins: su propia moneda virtual</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/EvmUrANv-RM/</link>
		<comments>http://revolucion.mobi/2013/02/06/amazon-presenta-coins-su-propia-moneda-virtual/#comments</comments>
		<pubDate>Wed, 06 Feb 2013 21:48:00 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[noticias]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[bitcoins]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[futurologia]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1514</guid>
		<description><![CDATA[Amazon, el mayor retailer del mundo acaba de presentar Coins, una forma de moneda virtual que servira para pagar aplicaciones, juegos y [...]]]></description>
				<content:encoded><![CDATA[<p>Amazon, el mayor retailer del mundo acaba de presentar <a href="http://www.amazonappstoredev.com/2013/02/introducing-amazon-coins.html">Coins</a>, una forma de moneda virtual que servira para pagar aplicaciones, juegos y elementos virtuales.</p>
<p>El producto se lanzará en mayo y desde ya amazon se prepara para que en ese momento sus usuarios tengan acceso a millones de dólares en bienes virtuales. Por el momento el servicio solo estará disponible únicamente para usuarios de los Estados Unidos, para juegos y aplicaciones de su tienda y para compras de bienes virtuales en equipos Kindle Fire.</p>
<p><img class="aligncenter size-full wp-image-1515" alt="blog-image" src="http://revolucion.mobi/wp-content/uploads/2013/02/blog-image.png" width="500" height="260" /></p>
<p>&nbsp;</p>
<p>La nueva moneda virtual se podra comprar en Amazon.com y tendrá un valor de un centavo de dólar, lo que convertirá aplicaciones de $2.99 a 299 coins. Amazon conservará el mismo esquema de distribución de sus ganancias con los desarrolladores (70% para el desarrollador, 30% para la tienda)</p>
<h2>Amazon Coins, otro Facebook credits?</h2>
<p>Es inevitable ver los Amazon Coins sin pensar en los fallidos <a href="https://www.facebook.com/help/147418788728482/">Facebook Credits</a>, una moneda virtual lanzada por Facebook en el 2009 para ser descontinuado en el 2012. Desde ya la iniciativa de Amazon tiene una serie de críticos afirmando que el gigante del retail solo va a revivir un modelo que ya fallo y alientan a muchos desarrolladores a boicotear esta nueva moneda virtual.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-1516" alt="facebook-credits" src="http://revolucion.mobi/wp-content/uploads/2013/02/facebook-credits.jpeg" width="252" height="242" /></p>
<p>Sin embargo, personalemente creo que la idea es interesante.  Para el usuario, tal cual en un casino, al cambiar el efectivo real por Coins eliminas el problema de compatibilidad y medios de pago. Así como todas las maquinas y mesas de un casino aceptas sus fichas, todas las aplicaciones, juegos y compras de bienes virtuales usarían un medio de pago único eliminando la necesidad del usuario de darle su numero de tarjeta de crédito a cada sistema en el que quiera comprar. La seguridad de la transacción recae en Amazon que tiene la experiencia y confiabilidad de realizar varios miles de transacciones al día.</p>
<p>Para los vendedores este sistema tiene grandes ventajas no solo a nivel opertativo te quita el dolor de cabeza de buscar un medio para aceptar pagos.A nivel social , usar una moneda virtual elimina el peso o responsabilidad de gastar dinero real, así los usuarios, que no están tan apegados a sus coins como a sus dólares, tienden a relajarse y gastar más.</p>
<p>El gran problema que tuvieron los Facebook Points fue el fraccionamiento y la conversión a otras monedas virtuales que lo volvieron sumamente confuso, por ejemplo, Zynga no quiso incorporar los Credits directamente en su plataforma, sino que te obligaba a comprar con ellos, su propia moneda, peor aun la moneda cambiaba de acuerdo al juego y si comprabas Farmville Cash con tus credits, solo podías gastarlo en bienes virtuales de Farmille.</p>
<p>La nueva plataforma de Amazon no tiene ninguna restricción (aun) para convertir sus coins a otras monedas virtuales, por lo que corre el mismo riesgo de sufrir la fragmentación que tuvieron los Facebook Credits.</p>
<p>Otro gran problema de los Facebook Credits, fue que intentaron usar su moneda virtual en productos del mundo real,  manteniendo el esquema de ganancias del modelo virtual (70% para el vendedor, 30%para Facebook)  con una tasa tan alta de comisión  los vendedores prefirieron utilizar medios tradicionales que ofrecen tasas menores y por ende, mayores ganancias.</p>
<p>Amazon por su parte no desea vender productos reales aun, por el contrario quiere especializarse en los bienes virtuales, por esto incluyó un atractivo sistema para que los padres tengan control sobre el monto y límites de lo que gastan sus hijos en aplicaciones en juegos y aplicaciones.</p>
<p>Esta característica será la punta de lanza para penetrar entre los consumidores y dejar que el programa crezca y genere un flujo de dinero virtual que se vuelva atractivo para nuevos desarrolladores y productos&#8230; una gran jugada!</p>
<h2>Coins, points y bitcoin, el ascenso de las monedas virtuales</h2>
<p>Amazon o fecebook no son ni de lejos los primeros en crear el concepto de dinero virtual, de hecho muchos economistas e informáticos comienzan a creer de que el sistema actual de billetes y monedas se esta volviendo obsoleto este mundo crecientemente conectado.</p>
<p>Hoy en día millones de personas usan su dinero de manera virtual con tarjetas de crédito y banca online, porque no ir un paso mas adelante y crear una moneda completamente electrónica?</p>
<p>Precisamente eso fue lo que pensó el desarrollador japonés Satoshi Nakamoto en el 2008 cuando creo el <a href="http://bitcoin.org/">Bitcoin</a> una moneda virtual que se basa en un sistema descentralizado y que se mueve a través de una red de protocolo cifrado.</p>
<p><img class="aligncenter size-full wp-image-1517" alt="imgres" src="http://revolucion.mobi/wp-content/uploads/2013/02/imgres.jpeg" width="225" height="224" /></p>
<p>A diferencia de otros proyectos similares, esta moneda virtual ya esta generando valor real y crece constantemente. El tipo de cambio actual es de de $16 Dólares americanos por Bitcon. Tomando en cuenta el numero de bitcons emitidos hasta ahora, esta moneda virtual tiene un valor combinado de unos 150 millones de Dólares constantes y sonantes.</p>
<p>Los Bitcoins, que para muchos son la verdadera moneda virtual del futuro, ya son aceptados en muchas partes, por ejemplo Wikilieaks acepta <a href="http://shop.wikileaks.org/donate#dbitcoin">donaciones en Bitcoins</a>,  en WordPress.com se pueden ya hacer p<a href="http://en.blog.wordpress.com/2012/11/15/pay-another-way-bitcoin/">agos directamente en esta moneda</a> y hasta la empresa LaCie acepta <a href="https://www.wuala.com/en/bitcoin">Bitcoins para Wala</a>, su servicio de almacenamiento y respaldo de datos en la nube.</p>
<p>Quien sabe si los Coins de Amazon o los Bitcoins lleguen a convertirse en la moneda oficial para comprar productos virtuales, lo que si es definitivo es que estamos a las puertas de una nueva forma de pensar el dinero y eso parece ser inevitable.</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/EvmUrANv-RM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/02/06/amazon-presenta-coins-su-propia-moneda-virtual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/02/06/amazon-presenta-coins-su-propia-moneda-virtual/</feedburner:origLink></item>
		<item>
		<title>Configurar Eclipse para Android en un solo paso</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/wn9PjodOroQ/</link>
		<comments>http://revolucion.mobi/2013/01/22/configurar-eclipse-para-android-en-solo-paso/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 12:45:06 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[videotutorial]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1480</guid>
		<description><![CDATA[Eclipse es la herramienta por excelencia para desarrollar aplicaciones Android, el problema es que la instalación de Android es lenta [...]]]></description>
				<content:encoded><![CDATA[<p>Eclipse es la herramienta por excelencia para desarrollar aplicaciones <a href="http://revolucion.mobi/tag/android">Android</a>, el problema es que la instalación de <a href="http://revolucion.mobi/tag/android">Android</a> es lenta y complicada. Pero eso era antes de que Google lanzara<a href="http://developer.android.com/sdk/index.html"> su propia version de Eclipse</a> que ya viene con el SDK y todas las herramientas de desarrollo instaladas.</p>
<p><img class="aligncenter size-full wp-image-1482" alt="Screen Shot 2013-01-19 at 10.23.31 PM" src="http://revolucion.mobi/wp-content/uploads/2013/01/Screen-Shot-2013-01-19-at-10.23.31-PM.png" width="330" height="290" /></p>
<p>&nbsp;</p>
<p>Puedes descargalo en esta dirección:</p>
<p>http://developer.<a href="http://revolucion.mobi/tag/android">android</a>.com/sdk/index.html</p>
<p>Aprende a instalar y utilizar la nueva versión de Eclipse para <a href="http://revolucion.mobi/tag/android">Android</a> en este video tutorial</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/Oc1tvPMPUEk?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>El paquete de desarrollo incluye:</p>
<ul>
<li>Eclipse Juno, la mas reciente version de este IDE.</li>
<li>El SDK de <a href="http://revolucion.mobi/tag/android">Android</a> todas las herramientas de desarrollo y emuladores.</li>
<li>La version de ADT (<a href="http://revolucion.mobi/tag/android">Android</a> Developer tools) preinstalada en Eclipse</li>
<li>Los paquetes y la maquina virtual de <a href="http://revolucion.mobi/tag/android">Android</a> 4.2 (Jelly Bean).</li>
</ul>
<p>Solo tienes que instalar el paquete y en un solo paso podrás comenzar a trabajar en tus aplicaciones!</p>
<p>No olvides suscribirte a nuestro <a href="http://www.youtube.com/user/RevolucionMobi?feature=watch">canal de youtube</a>!</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/wn9PjodOroQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/01/22/configurar-eclipse-para-android-en-solo-paso/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/01/22/configurar-eclipse-para-android-en-solo-paso/</feedburner:origLink></item>
		<item>
		<title>Opera lanza nuevo browser basado en Webkit</title>
		<link>http://feedproxy.google.com/~r/revolucionmobi/~3/haCQI2Dsaa8/</link>
		<comments>http://revolucion.mobi/2013/01/21/opera-lanza-nuevo-browser-basado-en-webkit/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 21:39:25 +0000</pubDate>
		<dc:creator>Carlos Solis</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[noticias]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[opera ice]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://revolucion.mobi/?p=1491</guid>
		<description><![CDATA[Opera, el fabricante finlandés de navegadores creador del famoso browser Opera y Opera mini &#8211; uno de los browsers para móviles mas populares del mundo [...]]]></description>
				<content:encoded><![CDATA[<p>Opera, el fabricante finlandés de navegadores creador del famoso browser Opera y Opera mini &#8211; uno de los browsers para móviles mas populares del mundo  -  ha lanzado un nuevo integrante a su familia de navegadores, se llama Opera Ice y promete ser el nuevo favorito de los usuarios iOS y <a href="http://revolucion.mobi/tag/android">Android</a>.</p>
<p style="text-align: center;"><img class="aligncenter  wp-image-1492" alt="Opera-Ice" src="http://revolucion.mobi/wp-content/uploads/2013/01/Opera-Ice.jpeg" width="552" height="268" /></p>
<p style="text-align: center;">UPDATE:<a href="http://www.opera.com/press/releases/2013/02/13/"> Opera mueve todas sus versiones (movil, TV, escritorio) a webkit.</a></p>
<p>Opera Ice puede ser uno de los movimientos mas importantes de los finlandeses en mucho tiempo y ser su herramienta para posicionarse en los dos sistemas operativos móviles mas populares. La principal innovación que tiene este nuevo navegador es que en vez de utilizar el motor original de Opera llamado Presto, lo reemplaza por el motor Webkit, que es el mismo que usan los navegadores nativos de <a href="http://revolucion.mobi/tag/android">Android</a>, Blackberry y iOS.</p>
<p>El uso de Webkit es una gran noticia para los desarrolladores de <a href="http://revolucion.mobi/category/web-movil" title="web movil">web</a> móvil porque ademas de ahorra tiempo de pruebas, les permite usar  todas nuevas las capacidades de Javascript y CSS3 que incorpora este popular motor.</p>
<p>Opera Ice incorpora una interface enfocada al entorno móvil  no hay botones menús ni pestañas,  toda la navegación esta completamente basada en gestos táctiles.</p>
<p>Aunque fue originalmente previsto para ser presentado el próximo mes en el Mobile World Congress, se ha filtrado un  video con una demostración que presenta los detalles del nuevo software. Te invitamos a verlo y comentar que te parece el nuevo Opera Ice?</p>
<p>http://www.youtube.com/watch?v=ADZbdxyvoOY</p>
<img src="http://feeds.feedburner.com/~r/revolucionmobi/~4/haCQI2Dsaa8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://revolucion.mobi/2013/01/21/opera-lanza-nuevo-browser-basado-en-webkit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://revolucion.mobi/2013/01/21/opera-lanza-nuevo-browser-basado-en-webkit/</feedburner:origLink></item>
	</channel>
</rss>
