<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>RIActive.mx</title>
	<atom:link href="http://riactive.mx/feed/" rel="self" type="application/rss+xml" />
	<link>http://riactive.mx</link>
	<description>User Group México</description>
	<lastBuildDate>Mon, 20 May 2013 20:04:13 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Evento RubyOnLine</title>
		<link>http://riactive.mx/2013/05/20/evento-rubyonline/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=evento-rubyonline</link>
		<comments>http://riactive.mx/2013/05/20/evento-rubyonline/#comments</comments>
		<pubDate>Mon, 20 May 2013 20:04:13 +0000</pubDate>
		<dc:creator>Francisco Granados</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Evento online]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2523</guid>
		<description><![CDATA[Evento online para hablar de los primeros pasos con Rub [...]]]></description>
				<content:encoded><![CDATA[<p dir="ltr">Evento online para hablar de los primeros pasos con Ruby!</p>
<p dir="ltr">Hace poco hable del <a title="El horizonte del 2013" href="http://riactive.mx/2013/05/17/el-horizonte-del-2013/">horizonte de RIActive en este 2013</a>, y este es el primer cambio. Vamos a hablar de backend!</p>
<p dir="ltr">En nuestro grupo de facebook hace una semana cerré la votación para nuestra siguiente reunión del grupo. Esta vez opte por colocar a votación los temas, entre los que estuvieron Objective-C, Sencha, Rails, Rubymotion y otros. Y ganó uno, fue Ruby!</p>
<p dir="ltr"><a href="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/gzfrancisco-Evento-RubyOnLine-votación.png" rel="lightbox[2523]" title="Evento RubyOnLine"><img class="aligncenter size-full wp-image-2524" alt="gzfrancisco - Evento RubyOnLine votación" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/gzfrancisco-Evento-RubyOnLine-votación.png?resize=502%2C334" data-recalc-dims="1" /></a></p>
<p dir="ltr"><span id="more-2523"></span></p>
<p dir="ltr">Entonces vamos a establecer las reglas de este evento:</p>
<ol>
<li dir="ltr">
<p dir="ltr">El registro de los asistentes será por Eventbrite.</p>
</li>
<li dir="ltr">
<p dir="ltr">La URL se las enviaremos por correo.</p>
</li>
<li dir="ltr">
<p dir="ltr">Los que deseen seguir el evento por redes sociales el hastag será #RubyOnLine</p>
</li>
<li dir="ltr">
<p dir="ltr">Al final de la plática colocare los slides y ejemplos hechos en la red.</p>
</li>
<li dir="ltr">
<p dir="ltr">Las cuentas de twitter y facebook de RIActive publicaran tambien los links.</p>
</li>
</ol>
<p dir="ltr">Yo seré el principal orador de esta plática y hablaré de Ruby y sus bondades como lenguaje de programación.</p>
<p dir="ltr">Esta es la agenda del evento online:</p>
<ul>
<li dir="ltr">
<p dir="ltr">Presentación del evento</p>
</li>
<li dir="ltr">
<p dir="ltr">Ruby lang</p>
</li>
<li dir="ltr">
<p dir="ltr">Las diferentes plataformas</p>
</li>
<li dir="ltr">
<p dir="ltr">Instalación RVM y REnv</p>
</li>
<li dir="ltr">
<p dir="ltr">Las sentencias básicas</p>
</li>
<li dir="ltr">
<p dir="ltr">Lo más avanzado</p>
</li>
<li dir="ltr">
<p dir="ltr">Gems y Rake</p>
</li>
<li dir="ltr">
<p dir="ltr">Rails, Cucumber, Integración continua, Redmine, ActiveAdmin</p>
</li>
<li dir="ltr">
<p dir="ltr">Recomendaciones para seguir aprendiendo</p>
</li>
<li dir="ltr">
<p dir="ltr">Preguntas y respuestas</p>
</li>
<li dir="ltr">
<p dir="ltr">Despedida del evento</p>
</li>
</ul>
<p dir="ltr">La fecha y hora del evento será <strong>viernes 7 de Junio del 2013 a las 10hrs</strong> a través de Adobe Connect.</p>
<h2 dir="ltr">Esta es la liga del evento para registrarse:</h2>
<p dir="ltr"><a href="http://rubyonline.eventbrite.com">http://rubyonline.eventbrite.com</a></p>
<p dir="ltr">Espero verlos ahí para compartir!</p>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/05/20/evento-rubyonline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El horizonte del 2013</title>
		<link>http://riactive.mx/2013/05/17/el-horizonte-del-2013/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=el-horizonte-del-2013</link>
		<comments>http://riactive.mx/2013/05/17/el-horizonte-del-2013/#comments</comments>
		<pubDate>Fri, 17 May 2013 15:48:35 +0000</pubDate>
		<dc:creator>Francisco Granados</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Anuncios]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2511</guid>
		<description><![CDATA[Después de casi un año sin publicar un artículo respecto a nuestra comunidad quiero comunicarles el trabajo que hemos realizado tanto Sergio Brito como un servidor en cuanto a la comunidad en muchos aspectos.]]></description>
				<content:encoded><![CDATA[<p dir="ltr">Después de casi un año sin publicar un artículo respecto a nuestra comunidad quiero comunicarles el trabajo que hemos realizado tanto Sergio Brito como un servidor en cuanto a la comunidad en muchos aspectos.</p>
<p dir="ltr"><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/LogoRIACurvas-web.png" rel="lightbox[2511]" title="El horizonte del 2013"><img class="aligncenter size-full wp-image-2509" alt="LogoRIACurvas-web" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/LogoRIACurvas-web.png?resize=350%2C180" data-recalc-dims="1" /></a></p>
<h1 dir="ltr">Fundadores y Managers</h1>
<p dir="ltr">Primero hay que hablar del cambio de manager y co-manager. Desde hace más de un año Edgar Parada (<a href="http://twitter.com/edgarparada">@edgarparada</a> evangelista Blackberry) dejó de ser nuestro manager para convertirse en miembro fundador del grupo al igual que Alberto González (<a href="http://twitter.com/albertx">@albertx</a> consultor en seguridad). Desde entonces tuvimos una etapa de transición en muchos aspectos respecto al grupo, sus temáticas, medios de comunicación y otros puntos importantes. Ahora Sergio Brito (<a href="http://twitter.com/yacafx">@yacafx</a>) será el nuevo manager del grupo y un servidor Francisco Granados (<a href="http://twitter.com/gzfrancisco">@gzfrancisco</a>) el co-manager.</p>
<p dir="ltr"><span id="more-2511"></span></p>
<h1 dir="ltr">Blog</h1>
<p dir="ltr">Las primeras mejoras que hicimos fue la migración de dominios y servidores de web para que el sitio fuera más rápido en la descarga de sus contenidos, situación que por trabajo de ambos nos llevó mucho tiempo. Otra más fue el cambio del diseño del sitio y de paso el cambio de logotipo (en este último un agradecimiento público a Maria Daniela Acevedo (<a href="http://twitter.com/madanielaa">@madanielaa</a>) que nos apoyo con un montón de cambios, sorry Mady). Ahora el sitio tiene un diseño responsive y fresco, esperamos que les guste.</p>
<p dir="ltr">riactive.mx</p>
<h1 dir="ltr">Equipo</h1>
<p dir="ltr">Después de evaluar mucho hemos buscado y encontrado nuevos perfiles de desarrollo. Encontramos a personas realmente valiosas y algunas ya forman parte de nuestro equipo staff de RIActive como Jesus Macedo (<a href="http://twitter.com/jesus_macedo">@jesus_macedo</a>), Margarita (<a href="http://twitter.com/gr_maggi">@gr_maggi</a>), Marco Merida (<a href="http://twitter.com/zerma">@zerma</a>), Bernardo Pineda (<a href="http://twitter.com/bpineda">@bpineda</a>) y Joel Ortiz (<a href="http://twitter.com/flashinstructor">@flashinstructor</a>) que tienen experiencia en diferentes campos y aportan mucho valor a la comunidad.</p>
<p dir="ltr">Pero aún estamos en búsqueda de otros perfiles que estén interesados en compartir conocimiento en programación, ux, usabilidad y diseño de funcionalidad.</p>
<h1 dir="ltr">Temas</h1>
<p dir="ltr">En lo que nosotros estuvimos con estos cambios, el panorama de las RIA’s cambió por completo y lo que antes era una novedad ahora es pan de todos los días. Los nuevos temas son desarrollo movil, big data, lenguajes de última generación entre muchos otros. Flash como plataforma pasó a último plano en nuestros contenidos y ha sido por la demanda de temas nuevos como desarrollo móvil o programación ágil. Hemos tenido eventos apoyados directamente por Facebook y Blackberry. Y ahí fue donde dijimos “el rumbo de riactive ya cambio” entonces decidimos hablar de muchos otros temas que no solo abarcan RIA’s, Flash o Web. En el evento de “Mobile Talks” que vino Maximiliano Firtman, hablamos de desarrollo nativo en iOS, Appcelerator, Blackberry y HTML5 en aplicaciones móviles. Les comento que tuvo muy buen recibimiento por parte de ustedes (en general) y eso nos motivo a realizar el cambio. Ahora trataremos de muchos otros temas como HTML5, backend en los numerosos lenguajes y sus frameworks, desarrollo nativo de iOS, Android, WindowsPhone y BB10, también hablaremos de diseño de funcionalidad con usabilidad, experiencia de usuario y seguridad en nuestros desarrollos. Por qué? simplemente porque es lo que todos nosotros hacemos día con día y lo queremos compartir con la comunidad.</p>
<h1 dir="ltr">Medios de comunicación</h1>
<p dir="ltr">La mayoría conoce nuestra lista de usuarios en google groups, pero también abrimos un grupo de usuarios en facebook y un fan page que tiene muy poco que iniciamos con él. Aún no vemos la necesidad de un foro porque pensamos que ya existen muchos que hablan de estos temas, pero ya saben, “nunca digas nunca”.</p>
<ul>
<li><a href="https://www.facebook.com/riactive">Facebook fan page</a></li>
<li><a href="https://www.facebook.com/groups/riactive/">Facebook group</a></li>
<li><a href="https://groups.google.com/forum/?fromgroups#!forum/riactive"><span style="line-height: 13px;">Grupo de google</span></a></li>
</ul>
<h1 dir="ltr">Eventos</h1>
<p dir="ltr">Hemos tenido una falta de eventos propios y es por trabajo o porque no se pueden empatar agendas de algunos presentadores, es algo que estamos solucionando poco a poco. Por lo pronto va a haber una reunión online en la cual hablaremos de la comunidad y el tema principal es Ruby. En otro post hablaré del evento, fechas y horas.</p>
<p dir="ltr">Como bien saben lo que si no hemos descuidado es la de atender eventos externos como presentadores en escuelas y eventos corporativos. A los que pueden asistir si lo desean:</p>
<h2 dir="ltr">Expo Campeche 2013: Marco Merida</h2>
<p dir="ltr">Marco Mérida, impartió un taller el 16 de Mayo en Expo Campeche en el que hablo de desarrollo móvil con tecnologías web.</p>
<p dir="ltr"><a href="http://expocampeche.mx">Evento</a></p>
<p dir="ltr"><a href="http://expocampeche.mx/images/conferencias.pdf">Agenda de conferencias</a></p>
<h2 dir="ltr">¿Hacía dónde vamos con los Dispositivos Móviles?</h2>
<p dir="ltr">Yo, Francisco Granados daré una presentación el 25 de Mayo en ITESM Cuernavaca, Morelos para hablar de la mayoría de las opciones que tenemos en desarrollo móvil. Con gusto me pondré platicar con ustedes si me los encuentro por allá.</p>
<p dir="ltr"><a href="http://iaasagroupevent1.eventbrite.com">Registro</a></p>
<h2 dir="ltr">Blackberry Live 2013</h2>
<p dir="ltr">Nuestro manager, Sergio Brito estuvo esta semana en el Blackberry Live 2013 y nos dio a conocer las últimas noticias de Blackberry y su plataforma BB10.</p>
<p dir="ltr"><a href="http://www.blackberrylive.com">Evento</a></p>
<h1 dir="ltr">Conclusión</h1>
<p dir="ltr">Como podrán ver hay muchos cambios y anuncios que hacerles, espero que con esto se sientan más atraídos a esta comunidad que tiene como principal objetivo compartir el conocimiento y aprender constantemente. Los quiero dejar con una cita que tal vez muchos han leído y en lo personal siento que es la ideología en este horizonte de RIActive.</p>
<blockquote>
<p dir="ltr">Don&#8217;t get set into one form, adapt it and build your own, and let it grow, be like water. <strong>Bruce Lee.</strong></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/05/17/el-horizonte-del-2013/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BlackBerry Live 2013</title>
		<link>http://riactive.mx/2013/05/15/blackberry-live-2013/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blackberry-live-2013</link>
		<comments>http://riactive.mx/2013/05/15/blackberry-live-2013/#comments</comments>
		<pubDate>Wed, 15 May 2013 20:48:03 +0000</pubDate>
		<dc:creator>Sergio Brito</dc:creator>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[BlackBerry10]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[bbelite]]></category>
		<category><![CDATA[bbjam]]></category>
		<category><![CDATA[bblive]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[mobile apps]]></category>
		<category><![CDATA[q10]]></category>
		<category><![CDATA[q5]]></category>
		<category><![CDATA[r5]]></category>
		<category><![CDATA[z10]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2484</guid>
		<description><![CDATA[Fabuloso el inicio del BlackBerry Live en Orlando, much [...]]]></description>
				<content:encoded><![CDATA[<p>Fabuloso el inicio del <a href="http://www.blackberrylive.com/">BlackBerry Live</a> en Orlando, muchas buenas noticias para abrir boca, un, prácticamente, ejercito de prensa que se dio lugar, una concurrida asistencia entre developers, partners, consumidores. Interesante ver como developers de otras plataformas como iOS, Android y Ms salian sorprendidas y dando buenos comentarios de los anuncios de BlackBerry este año.</p>
<p><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00002742.jpg?resize=1024%2C576" alt="IMG_00002742" class="aligncenter size-full wp-image-2489" data-recalc-dims="1" /></p>
<p>Previo a la keynote comenzaron las buenas noticias con Unity, que después de hace unas semana <a href="http://blogs.unity3d.com/2013/04/23/sunsetting-flash/">detener el desarrollo para Flash</a>, abre el <a href="http://unity3d.com/beta/blackberry10">Unity BlackBerry 10 Open Beta</a>, al cual puedes registrarte, contando entre los puntos fuertes la <a href="http://us.blackberry.com/smartphones/blackberry-z10/specifications.html">eficiencia y robustez del hardware</a> del Z10, principalmente por el <a href="http://www.qualcomm.com/snapdragon/processors">procesador SnapDragon</a> que tiene dentro. Con esta noticia se comenzaron a generar grandes expectativas sobre el tipo de juegos que podrán desarrollarse para la plataforma. El equipo del <a href="http://devblog.blackberry.com/2013/02/blackberry-10-unity/">DevBlog tiene mas detalles</a>  al respecto.<br />
<span id="more-2484"></span></p>
<p>El Cypress Saloon lucia literalmente abarrotado para comenzar el evento con su respectiva transmisión por internet, la cual está <a href="http://www.blackberrylive.com/content/webcast">online</a> para que la puedas ver, y el CEO <a href="http://en.wikipedia.org/wiki/Thorsten_Heins">Thorsten Heins</a> hacía su aparición preguntando si ya todos teniamos nuestro Z10!, así es hubo <a href="http://www.blackberrylive.com/attendee-guide/mobile-experience">Z10 para TODOS</a> los asistentes al BlackBerry Live!</p>
<p><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00002766.jpg?resize=1024%2C576" alt="IMG_00002766" class="aligncenter size-full wp-image-2494" data-recalc-dims="1" /></p>
<p>La charla entonces recapitulo todo lo que ha pasado con el BlackBerry 10 desde el año pasado hasta ahora y como se ha logrado posicionar los nuevos dispositivos, Z10 y Q10, lo que dio pie a la presentación del nuevo Q5, que es un dispositivo de bajo costo pero con el mismo sistema operativo. El Q5 viene en rojo, negro, blanco y rosa y hasta ahora solo vendrá en versión con teclado, que para los amantes del <a href="http://en.wikipedia.org/wiki/QWERTY">QWERTY</a> debemos comentar, que tanto para este como para el Q10, esta nueva versión del teclado esta muy bien hecha, mejorada y muy usable. Lo sabemos, el &#8220;touch&#8221; es lo de hoy, pero hay usuarios que siguen amando el teclado físico <img src='http://i0.wp.com/riactive.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" /> </p>
<p><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00002792.jpg?resize=1024%2C576" alt="IMG_00002792" class="aligncenter size-full wp-image-2495" data-recalc-dims="1" /></p>
<p>Se anuncio la llegada de la versión 10.1 del OS que de entre todas las <a href="http://crackberry.com/blackberry-101-bringing-plenty-changes-heres-some-what-were-seeing">características nuevas</a> resalta el HDR en la cámara. Pero lo que entusiasmo a muchos es que con esta nueva versión del sistema operativo ya será posible usar <a href="https://support.skype.com/en/faq/FA12282/getting-started-with-skype-blackberry-10">SKYPE</a> y con otras aplicaciones que vienen en camino como <a href="http://forums.crackberry.com/blackberry-10-apps-f274/forget-shazam-soundhound-coming-bb10-801278/">SoundHound</a> se incrementaran las 120,000 apps que actualmente hay en el <a href="http://appworld.blackberry.com/webstore/">BlackBerry World</a>, aunque siguen haciendo falta apps importantisimas como Spotify, Netflix e Instagram&#8230; esperemos que estas pronto lleguen.</p>
<p><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00002816.jpg?resize=1024%2C576" alt="IMG_00002816" class="aligncenter size-full wp-image-2496" data-recalc-dims="1" /></p>
<p>Entusiasmados estábamos cuando para dar una probada del poder de QNX como sistema operativo base del BlackBerry 10 apareció en hermoso <a href="http://www.engadget.com/2013/01/11/qnx-car-platform-2-hands-on/">Bentley</a> con una pantalla táctil en el tablero corriendo BB10 y que por supuesto se integra a los nuevos dispositivos de la marca con sus respectivos features como hacer BBMVideo!, aunque por seguridad al estar en movimiento el coche esta funcionalidad se bloquea. ver la integración y respuesta del BB10 en &#8220;hardware&#8221; tan sofisticado como un coche te da una certera idea de la capacidad y potencia de este sistema operativo.</p>
<p><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00002852.jpg?resize=1024%2C576" alt="IMG_00002852" class="aligncenter size-full wp-image-2497" data-recalc-dims="1" /></p>
<p>Con bombo y platillo se anuncio el <a href="http://us.blackberry.com/business/software/bes-10.html">Blackberry Enterprise Service 10.1</a> que ademas de tener <a href="http://us.blackberry.com/business/software/blackberry-balance.html#tab-1">Balance</a> ahora permitirá la administración no solo de dispositivos BlackBerry si no también de Apple y Android.</p>
<p><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00002892.jpg?resize=3264%2C1836" alt="IMG_00002892" class="aligncenter size-full wp-image-2498" data-recalc-dims="1" /></p>
<p>Posteriormente Frank Boulben, CMO, mostró el impacto que ha tenido su estrategia de marketing basándose en un circulo conocido como el &#8220;Digital Content Hub&#8221; donde programas como <a href="http://keepmoving.blackberry.com/desktop/en/us/home.html">KeepMoving</a> y <a href="https://developer.blackberry.com/jamcommunity/bbelite/index.html">Blackberry Elite Members</a> forman una parte importante en la estrategia de marketing así como las redes sociales y los anuncios impresos y comerciales por tv. </p>
<p><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00002936.jpg?resize=1024%2C576" alt="IMG_00002936" class="aligncenter size-full wp-image-2499" data-recalc-dims="1" /></p>
<p>Acto seguido entra <a href="https://twitter.com/aliciakeys">Alicia Keys</a> donde ademas de hablar del proyecto KeepMoving y del <a href="http://www.blackberrylive.com/event-info/keep-moving-experience">concierto que estaria dando en los estudios universal</a> por la noche para los asistentes al BlackBerry Live anuncio el <a href="http://www.BlackBerry.com/scholars">BlackBerry Scholars Program</a>, un programa de becas destinado a inspirar a las mujeres a entrar en los campos de estudio que impliquen el desarrollo de tecnología y mobile computing.</p>
<p><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00003001.jpg?resize=1024%2C576" alt="IMG_00003001" class="aligncenter size-full wp-image-2501" data-recalc-dims="1" /></p>
<p>Y bueno&#8230; si ya habíamos tenido el deleite de contar un lujoso Bentley en el escenario pues por que no traerse el Auto Formula 1 del equipo<a href="http://global.blackberry.com/campaigns/racing.html"> MERCEDES AMG PETRONAS</a> escoltado por nada mas y nada menos que <a href="https://twitter.com/LewisHamilton">Lewis Hamilton</a>, cosa que sirvió para el lanzamiento de los <a href="http://blogs.blackberry.com/2013/05/bbm-channels-announced/">BBM Channels</a>, que son una suerte de foros interactivos basados en el <a href="http://us.blackberry.com/bbm.html">BlackBerry Messenger</a></p>
<p><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00003078.jpg?resize=1024%2C576" alt="IMG_00003078" class="aligncenter size-full wp-image-2502" data-recalc-dims="1" /></p>
<p>Pasado esto y con la gente bastante entusiasmada se dio el último anuncio que emocionó a mas de uno, una de las principales características que tiene la plataforma de BlackBerry, el BBMessenger, se abre a iOS y Android, dando con esto una gran competencia a What&#8217;s App, pues si unas de las cosas que mejor ha hecho durante muchos años BlackBerry es la mensajería basada en el BBM.</p>
<p><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/bbm-cross-platform.jpg?resize=630%2C630" alt="bbm-cross-platform" class="aligncenter size-full wp-image-2503" data-recalc-dims="1" /></p>
<p>Con esto cerro la keynote y mucha gente entusiasmada, buenas noticias para la plataforma, para usuarios y para developers. Podemos redondear que el aire que se respira en el BBLive es mucha motivación y entusiasmo, esperemos que BlackBerry mantenga este paso pues a parecer de muchos están haciendo bien las cosas y desarrollando cosas interesantes.</p>
<p>Mientras tanto, ¿qué te ha parecido esto? ¿Crees que BlackBerry este haciendo bien las cosas y este regresando al mercado? Cuéntanos que piensas <img src='http://i0.wp.com/riactive.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" /> </p>
<p>No olvides seguirnos en <a title="Twitter" href="https://twitter.com/riactive">Twitter</a> y en <a title="Facebook" href="https://www.facebook.com/groups/riactive/">Facebook</a>, pues estaremos publicando los pormenores de esta edición.</p>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/05/15/blackberry-live-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe MAX 2013 &#8211; Keynote &#8211; Día 1</title>
		<link>http://riactive.mx/2013/05/06/adobe-max-2013-keynote-dia-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adobe-max-2013-keynote-dia-1</link>
		<comments>http://riactive.mx/2013/05/06/adobe-max-2013-keynote-dia-1/#comments</comments>
		<pubDate>Tue, 07 May 2013 00:36:34 +0000</pubDate>
		<dc:creator>Sergio Brito</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2406</guid>
		<description><![CDATA[Después de poco más de año y medio llego una edición má [...]]]></description>
				<content:encoded><![CDATA[<p>Después de poco más de año y medio llego una edición más del <strong>Adobe MAX</strong>, donde se muestran todos los nuevos features y herramientas para facilitar la tarea de diseñadores y desarrolladores. Esta edición es algo bastante peculiar pues nos trae nostalgia de aquellos grandes días con Flex y Flash a la cabeza de las innovaciones y ahora, y no por eso menos importante, la llevan, en materia <strong>web</strong>, las <a title="HTML Tools" href="http://html.adobe.com/">herramientas de HTML</a> y de diseño.</p>
<p><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001752.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2434" alt="IMG_00001752" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001752.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Las mejoras que han hecho son una gran ayuda en especial para diseñadores y para todos aquellos que están integrándose a un mercado de diseño y desarrollo web. Para los que ya tenemos un rato en este mundo hay herramientas como Edge <strong>Inspect</strong> CC y Edge <strong>Code</strong> CC que realmente <strong>simplifican</strong> mucho de nuestro trabajo diario.</p>
<p>Bueno, ya basta de bla bla bla y revisemos los anuncios que se dieron hoy en el <strong>Adobe MAX</strong> <img src='http://i1.wp.com/riactive.mx/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' data-recalc-dims="1" /><br />
<span id="more-2406"></span></p>
<p>La keynote dio inicio con un recuento de la historia de herramientas en la historia de Adobe por parte del CEO Shantanu Narayen mostrando un video interactivo <strong>espectacular</strong> que requirió 40 proyectores sincronizados sobre una pantalla de cerca de mil metros cuadrados a <strong> 0.5 billones de pixeles</strong> que pueden ver en el <a title="Max Keynote onDemand" href="http://adobe.ly/13YLXeJ">video onDemand</a>.</p>
<blockquote class="twitter-tweet" width="500"><p>Today&#8217;s production required 40 synchronized projectors, 1/4 acre of screen with 0.5B pixels rendered every second <a href="https://twitter.com/search/%23AdobeMAX">#AdobeMAX</a></p>
<p>&mdash; Adobe MAX (@adobemax) <a href="https://twitter.com/adobemax/status/331451220252295168">May 6, 2013</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>Como introducción a la Creative Cloud dieron el interesante numero de información que generamos al día, algo así como 2.5 <a title="¿Que es un exabyte?" href="http://en.wikipedia.org/wiki/Exabyte">exabytes</a> entre tweets, videos, facebook, archivos, mails etc.</p>
<p><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001765.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2411" alt="IMG_00001765" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001765.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>¿Y que creen? ¡Se acabo la serie de CS! ahora las suites y productos serán conocidas como CC o lo que es igual la CS7 vio luz pero bajo el nombre de CC (Creative Cloud) y con esto es decirle &#8220;hola&#8221; a nuevas apps y &#8220;adios&#8221; a otras como <a title="Adios a Fireworks" href="http://blogs.adobe.com/fireworks/2013/05/the-future-of-adobe-fireworks.html">Fireworks</a> <img src='http://i0.wp.com/riactive.mx/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' data-recalc-dims="1" /> </p>
<p><a href="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001776.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2412" alt="Adobe CC" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001776.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>La puerta se abrió con Photoshop CC y <a title="Twitter" href="https://twitter.com/terrylwhite">Terry White</a> quien mostró features nuevos como Adobe Camera Raw 8 con 3 características interesantes: Advanced Healing brush, Radial Gradient and Upright tool, este último gustó mucho pero creo que impacto más el filtro Shake Reduction que se había mostrado el MAX pasado como una de las cosas en que estaban trabajando.</p>
<p><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001790.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2413" alt="IMG_00001790" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001790.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Historia aparte Illustrator CC, del cual mostraron dos features Bitmap Brushes y Touch Type Tool, que mas de un diseñador en el Nokia Theatre L.A. LIVE dejó sin aliento.</p>
<p><a href="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001802.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2414" alt="IMG_00001802" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001802.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Por la parte de diseño fue todo, y entro a escena <a title="Twitter" href="https://twitter.com/Beatlejase">Jason Levine</a>, principal evangelista para las herramientas de video y audio de Adobe, dando a conocer la integración de After Effects CC con <a href="http://www.maxon.net/en/home.html">Maxon Cinema 4D</a></p>
<p><a href="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001831.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2415" alt="IMG_00001831" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001831.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Y por fin! lo más esperado para los Dev&#8217;s en la sala, las herramientas que hay para desarrollo web bajo el brand de &#8220;Edge Tools &amp; Services&#8221; y presentadas por <a title="Twitter" href="https://twitter.com/veen">Jeffrey Veen</a>, quien fuera fundador de <a href="https://typekit.com/">Typekit</a>.</p>
<p><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001848.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2417" alt="IMG_00001848" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001848.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Entre Assets auto generados, layers y demás nace un feature mas que adHoc para Photoshop CC que permitirá exportar a Web en un archivo manipulable desde Edge Reflow CC llamado &#8220;Edge Reflow Request&#8221; y así poder generar desde el diseño sitios responsivos. Habrá que ver como se ve el código generado, que performance presenta y que ojalá y no sufra el mismo destino que <a title="Flash Catalyst" href="http://www.adobe.com/products/flashcatalyst.html">Flash Catalyst</a></p>
<p><a href="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001856.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2416" alt="IMG_00001856" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001856.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Después vinieron unos no tan nuevos como Edge Inspect CC y Edge Animate CC que no mostraron nada nuevo a excepción de la integración final con Creative Cloud y su cliente para escritorio en una dinámica llamada &#8220;Creative Process&#8221; en el cual Jeffrey Veen hizo mancuerna con <a href="https://twitter.com/scottbelsky">Scott Belsky</a> mostrando como colaborar en un proyecto con assets, configuraciones y demás archivos generados con las herramientas del Creative Cloud.</p>
<p><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001888.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2418" alt="IMG_00001888" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001888.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Aplicación que impresionó fue Kuler para mobile, la cual te permite hacer uso de una camará y de allí tomar los colores antes de hacer una captura y a partir de esto generar la paleta de colores. El app se ve bastante usable y con una implementación inteligente e integrada a los servicios del Creative Cloud.</p>
<p><a href="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001909.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2419" alt="IMG_00001909" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001909.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>Se anunció también que las fuentes de TypeKit estarán disponibles para ser instaladas en nuestras desktops al mero estilo de <a title="Adobe Font Folio" href="http://www.adobe.com/products/fontfolio.html">Font Folio</a>. La plataforma de <a href="http://www.behance.net/">Behance</a> queda tambien integrada al Creative Cloud, recordemos que es una plataforma que fotografos usan para compartir su trabajo y que fue adquirida por Adobe para hacer el CC más &#8220;social&#8221;.</p>
<p>Ya por último dieron a conocer un par de proyectos: <a title="Mighty" href="http://www.theverge.com/2013/5/6/4305712/adobe-announces-first-hardware-the-project-mighty-smart-stylus">&#8220;Mighty&#8221;</a> y <a href="http://www.theverge.com/2013/5/6/4305712/adobe-announces-first-hardware-the-project-mighty-smart-stylus">&#8220;Napolean&#8221;</a>. Mighty es un &#8220;smart stylus&#8221; para poder dibujar en tabletas con varias cualidades como puntos de presión, bluetooth, gruesos de lineas y demás, muy similar a lo que hace una wacom.</p>
<p><a href="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001951.jpg" rel="lightbox[2406]" title="Adobe MAX 2013 - Keynote - Día 1 "><img class="aligncenter size-full wp-image-2421" alt="IMG_00001951" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/05/IMG_00001951.jpg?resize=3264%2C1836" data-recalc-dims="1" /></a></p>
<p>&#8220;Napolean&#8221; es, en resumén, una regla &#8220;inteligente&#8221; que complementa a Mighty. Lo interesante de estos dos proyectos es que son la primer iniciativa en materia de hardware por parte de Adobe.</p>
<p>Cerró el día <a title="Twitter" href="https://twitter.com/claudiadraws">Claudia de Almeida</a>, directora de diseño de <a title="Wired Magazine" href="http://www.wired.com/">Wired</a>, mostrando al mero estilo de <a href="http://www.imdb.com/title/tt0181689/">Minority Report</a>, <a title="Proyect Context" href="http://techcrunch.com/2013/05/06/adobes-hardware-experiments-are-more-than-just-hobbies/">Project Context</a>, un re-imaginado y re-inventado cuarto editorial entre tabletas y pantallas touch manipulado el trabajo detrás de toda producción editorial.</p>
<p><a title="Bio" href="http://www.adobe.com/leaders/david-wadhwani.html">David Wadhwani</a>, anunció que todas las nuevas apps del Creative Cloud o el mejor entendido como CS7 verá luz para el usuario final el 17 de Junio.</p>
<p>Algo que si quedo muy claro es que las herramientas mostradas si facilitan mucho la vida de los diseñadores, y de aquellos enfocados a la parte Web pero de herramientas para dev&#8217;s como PhoneGap no se habló nada&#8230; en fin veamos mañana como va la keynote y que cosas puedan venir.</p>
<p>Mientras tanto, ¿qué es lo que más te ha parecido esta ola de anuncios? ¿Cual es el feature qué mas te ha gustado?</p>
<p>No olvides seguirnos en <a title="Twitter" href="https://twitter.com/riactive">Twitter</a> y en <a title="Facebook" href="https://www.facebook.com/groups/riactive/">Facebook</a>, pues estaremos publicando los pormenores de esta edición.</p>
<p>Podrás ver una nutrida galería de fotos de la Keynote en nuestro grupo de <a title="Fotos Keynote" href="https://www.facebook.com/media/set/?set=oa.10151433635261720&amp;type=1">Facebook</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/05/06/adobe-max-2013-keynote-dia-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poblar un DropDown con datos SQLlite en Cascades (Parte 2)</title>
		<link>http://riactive.mx/2013/04/24/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-2</link>
		<comments>http://riactive.mx/2013/04/24/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-2/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 13:30:07 +0000</pubDate>
		<dc:creator>Joel Ortiz</dc:creator>
				<category><![CDATA[BlackBerry10]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[blackberry10]]></category>
		<category><![CDATA[Dropdown]]></category>
		<category><![CDATA[Sqllite]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2282</guid>
		<description><![CDATA[Aprende como integrar un DropDown List con SQL Lite en Cascades para BlackBerry 10. 2da. parte.]]></description>
				<content:encoded><![CDATA[<p>¡Hola a todos! continuamos con la 2da. parte de este tutorial, en esta ocasión tocará usar<strong> C++</strong> para acceder a la base de datos SQLlite y así poblar nuestro DropDown.</p>
<p>QML es un lenguaje diseñado para trabajar e integrar de forma fácil archivos C++, todo esto con la finalidad de implementar en  nuestro proyecto nuevos módulos o clases Qt, nuevas definiciones de UI QML o simplemente para acceder a fuentes datos externas.</p>
<p><img class="aligncenter" alt="Cascades Logo" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/04/TATLogo.png?resize=162%2C157" data-recalc-dims="1" /><span id="more-2282"></span></p>
<p>Entonces, nos podemos dar cuenta que nuestro proyecto ya cuenta con algunos archivos <strong>&#8220;cpp&#8221;</strong> creados por defecto (dentro del folder <strong>src</strong>), por ejemplo el archivo &#8220;main.cpp&#8221; define que view será lanzado inicialmente al momento de ejecutar nuestra app. Así mismo encontraremos archivos <strong>&#8220;hpp&#8221;</strong> que no son mas que las cabeceras de los archivos <strong>&#8220;cpp&#8221;.</strong></p>
<p>Antes de iniciar debemos <a title="BD SQLLite" href="http://wp.me/a3eGr1-BQ">descargar la base datos SQLLite</a> con la cual poblaremos nuestro DropDown. Esta la copiamos dentro de un folder llamado <strong>&#8220;db&#8221; </strong>que crearemos dentro del folder &#8220;<strong>assets&#8221;</strong> de nuestra aplicación. La base de datos lleva por nombre <strong>&#8220;dropdown_db&#8221;</strong> y<strong> </strong>contiene una tabla llamada <strong>&#8220;tecnologias&#8221;</strong> y cuenta con los campos <strong>&#8220;idtecnologia y tecnologia&#8221;</strong>.</p>
<p>Bien ahora empezaremos abriendo nuestro archivo <strong>&#8220;DropDownMenu.cpp&#8221;</strong> este se encuentra dentro del folder <strong>&#8220;src&#8221;</strong>, este tendrá la estructura siguiente:</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#include &quot;DropDownMenu.hpp&quot;

#include &lt;bb/cascades/Application&gt;
#include &lt;bb/cascades/QmlDocument&gt;
#include &lt;bb/cascades/AbstractPane&gt;

using namespace bb::cascades;

DropDownMenu::DropDownMenu(bb::cascades::Application *app)
: QObject(app)
{
    // create scene document from main.qml asset
    // set parent to created document to ensure it exists for the whole application lifetime
    QmlDocument *qml = QmlDocument::create(&quot;asset:///main.qml&quot;).parent(this);

    // create root object for the UI
    AbstractPane *root = qml-&gt;createRootObject();
    // set created root object as a scene
    app-&gt;setScene(root);
}

</pre>
<p>Agregaremos una línea más de código la cual nos servirá para acceder desde nuestro archivo QML principal (main.qml) a métodos y funciones necesarias para poblar nuestro DropDown:</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#include &quot;DropDownMenu.hpp&quot;

#include &lt;bb/cascades/Application&gt;
#include &lt;bb/cascades/QmlDocument&gt;
#include &lt;bb/cascades/AbstractPane&gt;

using namespace bb::cascades;

DropDownMenu::DropDownMenu(bb::cascades::Application *app)
: QObject(app)
{
    // create scene document from main.qml asset
    // set parent to created document to ensure it exists for the whole application lifetime
    QmlDocument *qml = QmlDocument::create(&quot;asset:///main.qml&quot;).parent(this);

    //ASIGNAMOS EL &quot;CONTEXT PROPERTY&quot; PARA COMPARTIR EL CONTEXTO ASOCIADO AL DOCUMENTO
    qml-&gt;setContextProperty(&quot;_DropDownApp&quot;, this);

   // create root object for the UI
    AbstractPane *root = qml-&gt;createRootObject();
    // set created root object as a scene
    app-&gt;setScene(root);
}

</pre>
<p>Ahora abriremos el archivo <strong>&#8220;DropDownMenu.hpp&#8221;</strong> y nombraremos un nuevo método público el cual servirá posteriormente para sustituir nuestro código JS que abre nuestro <strong>&#8220;Sheet&#8221;</strong>, de esta forma todo nuestro código se encontrará en los archivos <strong>&#8220;cpp&#8221;.</strong> Además crearemos una propiedad privada llamada <strong>&#8220;sheetFormulario&#8221; </strong>de tipo Sheet, por lo tanto debemos de incluir las librerías necesarias para trabajar con este tipo de dato.</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#ifndef DropDownMenu_HPP_
#define DropDownMenu_HPP_

//AGREGAMOS LA LIBRERÍA SHEET
#include &lt;bb/cascades/Sheet&gt;

#include

//AGREGAMOS EL NAMESPACE
using namespace bb::cascades;

namespace bb { namespace cascades { class Application; }}

/*!
 * @brief Application pane object
 *
 *Use this object to create and init app UI, to create context objects, to register the new meta types etc.
 */
class DropDownMenu : public QObject
{
    Q_OBJECT
public:
    DropDownMenu(bb::cascades::Application *app);
    virtual ~DropDownMenu() {}

    //AQUÍ NUESTRO MÉTODO
    Q_INVOKABLE
    void abreFormularioQML();

private:
    //AQUÍ NUESTRA PROPIEDAD
    Sheet *sheetFormulario;
};

#endif /* DropDownMenu_HPP_ */

</pre>
<p>Regresamos al archivo <strong>&#8220;DropDownMenu.cpp&#8221;</strong> y definimos el método <strong>&#8220;abreFormularioQML()&#8221;</strong>:</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#include &quot;DropDownMenu.hpp&quot;

#include &lt;bb/cascades/Application&gt;
#include &lt;bb/cascades/QmlDocument&gt;
#include &lt;bb/cascades/AbstractPane&gt;

using namespace bb::cascades;

DropDownMenu::DropDownMenu(bb::cascades::Application *app)
: QObject(app)
{
   ...
}

//DEFINICIÓN DEL MÉTODO
void DropDownMenu::abreFormularioQML()
{
	QmlDocument *qmlFormulario = QmlDocument::create(&quot;asset:///formulario.qml&quot;).parent(this);
	qmlFormulario-&gt;setContextProperty(&quot;_DropDownApp&quot;, this);
	sheetFormulario = qmlFormulario-&gt;createRootObject();
}

</pre>
<p>Ahora toca iniciar con el proceso de conexión a la base de datos SQLlite, nosotros debemos considerar que dependiendo la localización de nuestros archivos en nuestro proyecto estos pueden ser de solo lectura, para garantizar que podemos leer y escribir en la base de datos debemos copiarla al directorio <strong>&#8220;data&#8221;</strong>, si bien en este tutorial solo nos interesa rescatar datos y colocarlos en el DropDown, es una buena práctica realizar la copia de la base de datos al directorio mencionado. Para esto crearemos un método &#8220;<strong>copiarBd&#8221;</strong>.</p>
<p>En el archivo <strong>DropDownMenu.hpp</strong>:</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#ifndef DropDownMenu_HPP_
#define DropDownMenu_HPP_

#include &lt;bb/cascades/Sheet&gt;

//AGREGAMOS LAS LIBRERÍAS PARA ACCESO Y MANIPULACIÓN DE DATOS
#include &lt;bb/data/SqlDataAccess&gt;
#include &lt;QtSql/QtSql&gt;

#include

using namespace bb::cascades;

//AGREGAMOS EL NAMESPACE
using namespace bb::data;

namespace bb { namespace cascades { class Application; }}

/*!
 * @brief Application pane object
 *
 *Use this object to create and init app UI, to create context objects, to register the new meta types etc.
 */
class DropDownMenu : public QObject
{
 Q_OBJECT
public:
 DropDownMenu(bb::cascades::Application *app);
 virtual ~DropDownMenu() {}

 //AQUÍ NUESTRO MÉTODO
 bool copiarBd();

 Q_INVOKABLE
 void abreFormularioQML();

private:
 Sheet *sheetFormulario;
 //AQUÍ NUESTRAS PROPIEDADES
 QSqlDatabase miBd;
 QString miRutaBd;
};

#endif /* DropDownMenu_HPP_ */

</pre>
<p>En el archivo <strong>DropDownMenu.cpp</strong>:</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#include &quot;DropDownMenu.hpp&quot;

#include &lt;bb/cascades/Application&gt;
#include &lt;bb/cascades/QmlDocument&gt;
#include &lt;bb/cascades/AbstractPane&gt;

//AGREGAMOS LAS LIBRERÍAS PARA ACCESO, MANIPULACIÓN DE DATOS Y DEBUG
#include &lt;bb/data/SqlConnection&gt;
#include &lt;bb/data/SqlDataAccess&gt;
#include

using namespace bb::cascades;

DropDownMenu::DropDownMenu(bb::cascades::Application *app)
: QObject(app)
{
    ...
}

void DropDownMenu::abreFormularioQML()
{
    ...
}

//DEFINICIÓN DEL MÉTODO
bool DropDownMenu::copiarBd() {

	QString dataFolder = QDir::homePath();
	QString archivoBdNuevo = dataFolder + &quot;/dropdown_db&quot;;
	QFile archivoNuevo(archivoBdNuevo);

	if (!archivoNuevo.exists()) {
		QString appFolder(QDir::homePath());
		appFolder.chop(4);
		QString archivoBdOriginal = appFolder
				+ &quot;app/native/assets/db/dropdown_db&quot;;
		QFile archivoOriginal(archivoBdOriginal);

		if (archivoOriginal.exists()) {
			return archivoOriginal.copy(archivoBdNuevo);
		} else {
			qDebug()
					&lt;&lt; &quot;Imposible copiar la base de datos, la base de datos no existe.&quot;;
			return false;
		}
	}

	return true;
}

</pre>
<p>Después de crear el método para copiar nuestra base de datos lo implementamos dentro del constructor y abrimos la base de datos para realizar transacciones:</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#include &quot;DropDownMenu.hpp&quot;

#include &lt;bb/cascades/Application&gt;
#include &lt;bb/cascades/QmlDocument&gt;
#include &lt;bb/cascades/AbstractPane&gt;
#include &lt;bb/data/SqlConnection&gt;
#include &lt;bb/data/SqlDataAccess&gt;
#include

using namespace bb::cascades;

DropDownMenu::DropDownMenu(bb::cascades::Application *app)
: QObject(app)
{
    // create scene document from main.qml asset
    // set parent to created document to ensure it exists for the whole application lifetime
    QmlDocument *qml = QmlDocument::create(&quot;asset:///main.qml&quot;).parent(this);

    qml-&gt;setContextProperty(&quot;_DropDownApp&quot;, this);

    // create root object for the UI
    AbstractPane *root = qml-&gt;createRootObject();
    // set created root object as a scene
    app-&gt;setScene(root);

    //IMPLEMENTAMOS EL MÉTODO PARA COPIAR LA BD
    if (copiarBd()) {
	miRutaBd = &quot;./data/dropdown_db&quot;;
	miBd = QSqlDatabase::addDatabase(&quot;QSQLITE&quot;,&quot;database_helper_connection&quot;);
	miBd.setDatabaseName(miRutaBd);

	if (!miBd.isValid()) {
		qWarning() &lt;&lt; &quot;No puede asignarse nombre a la base de datos&quot;;
	}

	bool success = miBd.open();

	if (!success) {
		qWarning() &lt;&lt; &quot;No puede abrirse la base de datos.&quot;;
	}
    }
}

void DropDownMenu::abreFormularioQML()
{
 ...
}

bool DropDownMenu::copiarBd() {
 ...
}

</pre>
<p>Una vez abierta la base de datos podemos realizar consultas para extraer los datos y poblar nuestro DropDown, para esto crearemos un método más, el cual llamaremos <strong>&#8220;listaTecnologiasSQL()&#8221;</strong>. En este método no solo realizaremos la consulta a los datos, si no también, asignaremos esos datos al DropDown que se encuentra en nuestro QML. Este método lo <strong>invocaremos</strong> al final de las instrucciones del método <strong>&#8220;abreFormulario()&#8221;</strong>.</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#include &quot;DropDownMenu.hpp&quot;

#include &lt;bb/cascades/Application&gt;
#include &lt;bb/cascades/QmlDocument&gt;
#include &lt;bb/cascades/AbstractPane&gt;
#include &lt;bb/data/SqlConnection&gt;
#include &lt;bb/data/SqlDataAccess&gt;
#include

//AGREGAMOS LAS LIBRERÍAS PARA MANIPULAR ACCEDER A CONTAINERS Y DROPDOWNS
#include &lt;bb/cascades/Container&gt;
#include &lt;bb/cascades/DropDown&gt;

using namespace bb::cascades;

DropDownMenu::DropDownMenu(bb::cascades::Application *app)
: QObject(app)
{
 ...
}

void DropDownMenu::abreFormularioQML()
{
 ...
    //INVOCAMOS EL MÉTODO
    listaTecnologiasSQL();
}

bool DropDownMenu::copiarBd() {
 ...
}

//DEFINICIÓN DEL MÉTODO
void DropDownMenu::listaTecnologiasSQL(){

	QVariantList sqlListaTecnologias;
	SqlDataAccess miAccesoDatosSQL(miRutaBd);

	sqlListaTecnologias = miAccesoDatosSQL.execute(&quot;SELECT * FROM tecnologias&quot;).value();

	if (miAccesoDatosSQL.hasError()) {
		DataAccessError err = miAccesoDatosSQL.error();
		qWarning() &lt;&lt; &quot;SQL error: type=&quot; &lt;&lt; err.errorType() &lt;&lt; &quot;: &quot; &lt;&lt; err.errorMessage();         }         Container *contFormulario = sheetFormulario-&gt;findChild&lt;Container*&gt;(&quot;contDropDown&quot;);
	DropDown *listaTecnologias = contFormulario-&gt;findChild&lt;DropDown*&gt;(&quot;ddLista&quot;);

	for(int i=0; i &lt; sqlListaTecnologias.size(); i++)
	{
		Option *OpcTecnologia = new Option();

		QVariant datos  = sqlListaTecnologias.at(i);
		QMap&lt;QString, QVariant&gt; map = datos.toMap();
		QString tecnologia = map[&quot;tecnologia&quot;].toString();
		QString idtecnologia = map[&quot;idtecnologia&quot;].toString();

		OpcTecnologia-&gt;setText(tecnologia);
		OpcTecnologia-&gt;setValue(idtecnologia);
		listaTecnologias-&gt;add(OpcTecnologia);
	}

	sheetFormulario-&gt;open();
}

</pre>
<p>Hay que recordar que este método también debe ser nombrado en el archivo <strong>&#8220;DropDownMenu.hpp&#8221;</strong>, lo cual nos dejará un código similar a este:</p>
<pre class="brush: cpp; title: [RIActive Code]; notranslate">
// Default empty project template
#ifndef DropDownMenu_HPP_
#define DropDownMenu_HPP_

#include &lt;bb/cascades/Sheet&gt;

#include &lt;bb/data/SqlDataAccess&gt;
#include &lt;QtSql/QtSql&gt;

#include

using namespace bb::cascades;
using namespace bb::data;
namespace bb { namespace cascades { class Application; }}

/*!
 * @brief Application pane object
 *
 *Use this object to create and init app UI, to create context objects, to register the new meta types etc.
 */
class DropDownMenu : public QObject
{
 Q_OBJECT
public:
 DropDownMenu(bb::cascades::Application *app);
 virtual ~DropDownMenu() {}

 bool copiarBd();

 Q_INVOKABLE
 void abreFormularioQML();

 //AQUÍ NUESTRO MÉTODO
 Q_INVOKABLE
 void listaTecnologiasSQL();

private:
 Sheet *sheetFormulario;
 QSqlDatabase miBd;
 QString miRutaBd;
};

#endif /* DropDownMenu_HPP_ */

</pre>
<p>De esta manera ya tenemos nuestro código para acceder a los datos y poblar nuestro DropDown. Ahora invocaremos desde el archivo <strong>&#8220;main.qml&#8221;</strong> el método <strong>&#8220;listaTecnologiasSQL()&#8221;</strong> cuando se de click sobre el botón <strong>&#8220;btnAbrirForm&#8221;</strong>. También debemos importar las clases necesarias para el acceso a datos <strong>&#8220;import bb.data 1.0&#8243; </strong>en el archivo<strong> &#8220;main.qml&#8221; </strong>y <strong>&#8220;LIBS += -lbbdata&#8221;</strong> en nuestro archivo<strong> &#8220;DropDownMenu.pro&#8221;.</strong></p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
// Default empty project template
import bb.cascades 1.0
import bb.data 1.0

// creates one page with a label

Page {
    Container {
        layout: DockLayout {
        }
        Button {
            id: btnAbrirForm
            ...
            onClicked: {
                //var form = contFormulario.createObject()
                //form.open()
                _DropDownApp.abreFormularioQML();
            }
        }
        attachedObjects: [
           ...
        ]
    }
}
</pre>
<p>En el archivo <strong>&#8220;DropDownMenu.pro&#8221;</strong>:</p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
APP_NAME = DropDownMenu
CONFIG += qt warn_on cascades10
include(config.pri)

LIBS += -lbbdata

</pre>
<p>En el archivo <strong>&#8220;formulario.qml&#8221;</strong> debemos agregar propiedades <strong>&#8220;objectName&#8221;</strong> a nuestro Container y DropDown, para que puedan ser accedidos desde el método <strong>&#8220;listTecnologiasSQL()&#8221;</strong> de nuestro archivo <strong>&#8220;.cpp&#8221;</strong>.</p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
import bb.cascades 1.0

Sheet {
    id: sheetForm
    Page {
        titleBar: TitleBar {
            ...
        }

        Container {
            objectName: &quot;contDropDown&quot;
            ...

            DropDown {
                objectName: &quot;ddLista&quot;
                ...
            }
        }
    }
}

</pre>
<p>Listo con esto poblaremos desde una base de datos SQLlite un DropDown colocado en un Sheet usando C++ con Cascades, así es como se verá el resultado final del app, nos leemos pronto&#8230; Bytes!!!</p>
<div style="width:302px;margin:auto">
<script type="text/javascript">
jQuery(window).load(function() { 
  jQuery("#smg_1").flexslider({});
});
</script>


<a href='http://riactive.mx/2013/04/24/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-2/cascades_dropdown_01/' title='cascades_dropdown_01'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/04/cascades_dropdown_01.jpg?resize=150%2C150" class="attachment-thumbnail" alt="Cascades DropDown" /></a>
<a href='http://riactive.mx/2013/04/24/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-2/cascades_dropdown_02/' title='cascades_dropdown_02'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/04/cascades_dropdown_02.jpg?resize=150%2C150" class="attachment-thumbnail" alt="Cascades DropDown" /></a>
<a href='http://riactive.mx/2013/04/24/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-2/cascades_dropdown_03/' title='cascades_dropdown_03'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/04/cascades_dropdown_03.jpg?resize=150%2C150" class="attachment-thumbnail" alt="Cascades DropDown" /></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/04/24/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-2/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Depuración de Javascript en aplicaciones web</title>
		<link>http://riactive.mx/2013/04/22/depuracion-de-javascript-en-aplicaciones-web/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=depuracion-de-javascript-en-aplicaciones-web</link>
		<comments>http://riactive.mx/2013/04/22/depuracion-de-javascript-en-aplicaciones-web/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 18:00:22 +0000</pubDate>
		<dc:creator>bpineda</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[firebug]]></category>

		<guid isPermaLink="false">http://www.riactive.mx/?p=1873</guid>
		<description><![CDATA[Hace algunos ayeres, cuando jQuery  todavía no nacía, un amigo y yo estábamos a punto de trabajar en un proyecto web. A él se le ocurrió la gran idea de que lo hiciéramos con Javascript  y AJAX para aprender. Creo que no necesito decirles que a nivel de administración de proyectos, la aplicación fue un desastre. Además de que tuvimos que limitarlo a que sólo vieran la aplicación en Internet Explorer. No fue sino años después que  comencé a meterme a jQuery. Fue un gran alivio ver que no teníamos que hacer bloques de código para cada navegador. Pero precisamente quiero tomar el tema de la depuración de Javascript.]]></description>
				<content:encoded><![CDATA[<p><a href="http://i1.wp.com/riactive.mx/wp-content/uploads/2012/10/firebug.png" rel="lightbox[1873]" title="Depuración de Javascript en aplicaciones web"><img class="aligncenter size-medium wp-image-2361" alt="firebug" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2012/10/firebug.png?resize=300%2C114" data-recalc-dims="1" /></a><a href="http://riactive.mx/wp-content/uploads/2012/10/dumpvariable-script.png"><br />
</a><a href="http://riactive.mx/wp-content/uploads/2012/10/firebug.png"><br />
</a></p>
<p dir="ltr">Hace algunos ayeres, cuando <em>jQuery  </em>todavía no nacía, un amigo y yo estábamos a punto de trabajar en un proyecto web. A él se le ocurrió la gran idea de que lo hiciéramos con <em>Javascript  </em>y <em>AJAX</em> para aprender. Creo que no necesito decirles que a nivel de administración de proyectos, la aplicación fue un desastre. Además de que tuvimos que limitarlo a que sólo vieran la aplicación en <em>Internet Explorer</em>. No fue sino años después que  comencé a meterme a <em>jQuery</em>. Fue un gran alivio ver que no teníamos que hacer bloques de código para cada navegador. Pero precisamente quiero tomar el tema de la depuración de <em>Javascript</em>.<span id="more-1873"></span></p>
<p>Corría el año 2006, el furor por el mundial en Alemania y desafortunadamente para nosotros, todavía no existían las herramientas para depurar nuestro código del lado del cliente, por lo que cuando el navegador encontraba algún error, era un dolor de cabeza buscarlo debido a que el depurador no precisaba la ubicación del error. En su lugar, decía <strong>Error en línea 1, carácter 1</strong>, cuando en realidad el error estaba en la línea 1000. En un archivo de 100 líneas no hay tanto problema, pero cuando es una aplicación con varios archivos y miles y miles de líneas de código, créanme que no es divertido tener que poner alertas a cada rato para ver donde deja de funcionar tu código.</p>
<p>Afortunadamente, hoy en día, tenemos diversas herramientas para dicha tarea y quiero recomendarles unas cuantas que me han servido a lo largo de éstos años.</p>
<h1>Firefox con Firebug instalado</h1>
<p dir="ltr">Esta combinación es, para mi gusto, la herramienta por excelencia para cualquier desarrollador de <em>Javascript</em> y <em>AJAX</em>. No sólo podemos ver las llamadas de POST y GET durante su ejecución, sino podemos ver el contenido de diversas variables dentro de algún bloque de código, y podemos evaluar algún código en ese momento. Hay herramientas similares tanto en <em>Chrome</em>, <em>Safari</em> e <em>IE</em>, (inclusive hay un<em> Firebug Lite</em> para <em>Chrome</em>) pero la forma de su estructura y en la que aparecen los datos de <em>Firebug</em> para <em>Firefox</em> me parece la más cómoda y útil. Tengan cuidado, si la aplicación que vas a realizar está pensada para ser vista en diversos navegadores, recomiendo ver la aplicación en todos los navegadores que se piensa soportar. Me ha pasado que código con errores funciona en los navegadores más utilizados, tales como <em>FF</em>, <em>Chrome</em>, <em>Safari</em> y <em>Opera</em>, pero <em>IE</em> se pone más quisquilloso, marca el error y termina la ejecución.</p>
<h1>Utilizando la consola</h1>
<p>Está herramienta es muy útil al momento de tratar de ver el contenido de una variable del tipo que sea (cadena, objeto, arreglo, etc).  Es el equivalente a un</p>
<p><a href="http://i0.wp.com/riactive.mx/wp-content/uploads/2012/10/dumpvariable-script.png" rel="lightbox[1873]" title="Depuración de Javascript en aplicaciones web"><img class="aligncenter size-medium wp-image-2359" alt="dumpvariable-script" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2012/10/dumpvariable-script.png?resize=300%2C154" data-recalc-dims="1" /></a></p>
<p>en PHP o un trace en Actionscript.</p>
<p><img class="aligncenter size-full wp-image-2358" alt="console-script" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2012/10/console-script.png?resize=222%2C93" data-recalc-dims="1" /></p>
<p dir="ltr">El console.log() mostrará en el depurador el contenido de dicha variable, objeto, etc.  Para poder ver el Firebug es necesario presionar F12 con lo cual se abrirá el Firebug:</p>
<p><img class="aligncenter size-medium wp-image-2360" alt="firebug-firefox" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2012/10/firebug-firefox.png?resize=300%2C270" data-recalc-dims="1" /></p>
<p dir="ltr">Es necesario tenerla activa y tener la consola seleccionada para ver la salida del console.log().</p>
<p dir="ltr">Ej.</p>
<pre class="brush: jscript; title: [RIActive Code]; notranslate">console.log(‘cadena’);
console.log(123);
var objeto = new Object();
objeto.nombre = 'Bernardo';
objeto.apellido = 'Pineda';
objeto.edad = 31;
console.log( objeto );
</pre>
<p><img class="aligncenter size-medium wp-image-2357" alt="consola-2" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2012/10/consola-2.png?resize=300%2C93" data-recalc-dims="1" /></p>
<p dir="ltr">Y si le damos clic al objeto, nos muestra sus detalles:</p>
<p><img class="aligncenter size-medium wp-image-2356" alt="consola-1" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2012/10/consola-1.png?resize=300%2C93" data-recalc-dims="1" /></p>
<p dir="ltr">Esto puede ser muy útil al momento de enviar y recibir datos en formato JSON, del cual hablaremos en una entrada posterior.</p>
<h1>Más opciones en firebug</h1>
<p dir="ltr">De igual forma, podemos mandar mensajes al depurador de <em>Javascript</em> que no afectan la ejecución del mismo. Para un listado completo, consultar <a href="http://getfirebug.com/logging">http://getfirebug.com/logging</a></p>
<h1>Métodos no reconocidos</h1>
<p dir="ltr">Por último, me ha pasado en contadas ocasiones que en algunos navegadores termina la ejecución antes de tiempo al haber dejado mensajes de depuración en el código. Esto se debe a que no todos los navegadores tienen definidas las funciones de depuración y al no estar definidas, marca el error y detiene la ejecución. Específicamente me pasó con <em>Internet Explorer 7</em>. Afortunadamente podemos escribir un código que evita que suceda ésto.</p>
<p dir="ltr"><a href="https://gist.github.com/bpineda/5401653">https://gist.github.com/bpineda/5401653</a></p>
<p>Dicho código, simplemente define las funciones de manera anónima, aunque las deje vacías para que no marque error de función no definida.</p>
<p>Espero les haya sido útil el artículo y puedan evitarse dolores de cabeza al depurar aplicaciones con <em>Javascript</em>. Hasta la próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/04/22/depuracion-de-javascript-en-aplicaciones-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Poblar un DropDown con datos SQLlite en Cascades (Parte 1)</title>
		<link>http://riactive.mx/2013/04/10/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-1</link>
		<comments>http://riactive.mx/2013/04/10/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-1/#comments</comments>
		<pubDate>Wed, 10 Apr 2013 06:10:20 +0000</pubDate>
		<dc:creator>Joel Ortiz</dc:creator>
				<category><![CDATA[BlackBerry10]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[blackberry10]]></category>
		<category><![CDATA[Dropdown]]></category>
		<category><![CDATA[Sqllite]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2236</guid>
		<description><![CDATA[Aprende como integrar un DropDown List con SQL Lite en Cascades para BlackBerry 10. Tutorial en 2 partes.]]></description>
				<content:encoded><![CDATA[<p>Una situación común al momento de desarrollar aplicaciones para BB10 es que, en la mayoría de los casos, se usan <strong>Sheets</strong> para lanzar formularios y estos sean llenados por el usuario para cubrir cierta necesidad o función de la aplicación, por ejemplo si deseamos agregar un contacto a nuestro directorio de contactos la aplicación lanza un Sheet en el cual existe el formulario correspondiente para agregar dicho contacto.</p>
<p><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/04/TATLogo.png?resize=162%2C157" alt="Cascades Logo" class="aligncenter size-full wp-image-2274" data-recalc-dims="1" /><br />
<span id="more-2236"></span></p>
<p>Citando la documentación de Cascades for Blackberry 10 un <strong>Sheet</strong> es:</p>
<blockquote><p>Sheets are full-screen views that are placed as separate layers on top of the current screen context. A sheet displays a view from within the current application.</p>
<p>Sheets are primarily used to display a UI that&#8217;s related to the creation or selection of content, often as temporary subtasks to the main navigation of the application. You can think of a sheet as representing a separate flow, or detour, from the main application flow.</p></blockquote>
<p>Dicho esto, se puede presentar la necesidad que colocar un componenete DropDown (como un comboBox traducido al HTML XD) dentro de una Sheet y que sea poblado desde una fuente de datos externa como podría ser un XML, JSON o una base de datos local en SQLlite.</p>
<p>El objetivo de este tutorial es que poblemos el componente DropDown desde una base de datos SQLLite considerando que este estará dentro de un Sheet.</p>
<p>Para esto requerimos:</p>
<ul>
<li>Instalar <a href="http://developer.blackberry.com/cascades/downloads/" target="_blank">QNX Momentics IDE For BlackBerry 10 Native SDK</a></li>
<li>Un manejador de base de datos SQLLite como: <a href="http://sqlitebrowser.sourceforge.net" target="_blank">SQLLite DataBase Browser</a> ó <a href="http://code.google.com/p/phpliteadmin/" target="_blank">PHPLiteAdmin</a> (si eres phpero <img src='http://i2.wp.com/riactive.mx/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' data-recalc-dims="1" /> )</li>
</ul>
<p>Una vez instalada la IDE, creamos un proyecto nuevo de <strong>Cascades, </strong>con un<strong> Template Standard</strong> y lo llamaremos <strong>DropDownMenu, </strong>nos lanzará por default el qml principal de nuestra aplicación (main.qml).</p>
<p>En la parte superior derecha de nuestra IDE seleccionaremos la <strong>perspectiva de edicion QML</strong> para empezar a trabajar algunos aspectos de diseño de nuestra app, si es tu primera vez usando Momentics veras que es muy similar a cualquier otra IDE basada en ECLIPSE.</p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
// Default empty project template
import bb.cascades 1.0

// creates one page with a label
Page {
     Container {
          layout: DockLayout {}
          Label {
               text: qsTr('Hello World')
               textStyle.base: SystemDefaults.TextStyles.BigText
               verticalAlignment: VerticalAlignment.Center
               horizontalAlignment: HorizontalAlignment.Center
          }
     }
}</pre>
<p>Eliminamos el <strong>componente Label</strong> del documento y agregamos del panel de componentes un <strong>componente Button </strong>el cual nos servirá para <strong>lanzar la Sheet con el componente DropDown.</strong></p>
<p>Al componente Button le definimos una id, text y alignment ya sea por código o desde el <strong>panel de propiedades QML:</strong></p>
<ul>
<li><strong>id: btnAbrirForm</strong></li>
<li><strong>text: Abrir Formulario</strong></li>
<li><strong>horizontalAlignment: HorizontalAlignment.Center</strong></li>
<li><strong>verticalAlignment: VerticalAlignment.Center</strong></li>
</ul>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
Page {
     Container {
          layout: DockLayout {}
          Button {
               id: btnAbrirForm
               text: 'Abrir Formulario'
               horizontalAlignment: HorizontalAlignment.Center
               verticalAlignment: VerticalAlignment.Center
          }
     }
}
</pre>
<p>Ahora lo que sigue es crear otro el archivo qml (<strong>formulario.qml</strong>) que servirá como contenedor de nuestro componente DropDown y el cual invocaremos cuando demos click sobre el boton &#8220;btnAbrirForm&#8221;, para crearlo seleccionamos el folder <strong>&#8220;assets&#8221;</strong> de nuestro proyecto y desde la barra de menú damos click en <strong>&#8220;file-&gt;new-&gt;QML File&#8221;</strong>, le asignamos el nombre de &#8220;formulario.qml&#8221;.</p>
<p>En el documento formulario.qml dentro del <strong>componente container</strong> incluimos el componente DropDown y le asignamos la <strong>id: ddLista </strong>y el<strong> title: Seleccione una opción. </strong>Ademas de esto, algo que es sumamente importante es asignar que esta vista es de tipo <strong>Sheet.</strong></p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
import bb.cascades 1.0

Sheet {
     Page {
          Container {
               DropDown {
                    id: ddLista
                    title: 'Seleccione una opción'
               }
          }
     }
}
</pre>
<p>Teniendo listo ambos qml (main.qml y formulario.qml) lo que resta es indicarle al boton &#8220;btnAbrirForm&#8221; que cuando se le de click lanze el documento formulario.qml. Para lograr esto tenemos que hacer referencia del documento formulario.qml dentro del documento main.qml por medio de la propiedad <strong>attachedObjects</strong> y usando un <strong>componentDefinition</strong>. Le asignamos una<strong> id: contFormulario</strong> y el <strong>source</strong> apuntando al archivo formulario.qml.</p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
Page {
     Container {
          layout: DockLayout {}
          Button {
          ...
          }

          attachedObjects: [
               ComponentDefinition {
                    id: contFormulario
                    source: 'formulario.qml'
               }
          ]
     }
}
</pre>
<p>Por medio del evento <strong>onClicked</strong> creamos un objeto del formulario.qml y lo abrimos por medio del método <strong>open()</strong> de esta forma se abrirá nuestro Sheet desplegando el componente DropDown.</p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
Page {
     Container {
          layout: DockLayout {}
          Button {
               id: btnAbrirForm
               ...
               onClicked: {
                    var form = contFormulario.createObject()
                    form.open()
               }
          }

          attachedObjects: [
          ...
          ]
     }
}
</pre>
<p>Nos regresamos el documento formulario.qml para colocar un <strong>TitleBar</strong> y tener una opción para cerrar (<strong>dismissAction</strong>) el Sheet. Por medio del método <strong>close()</strong> cerraremos el Sheet actual haciendo referencia a su <strong>id: sheetForm.</strong></p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
Sheet {
     id: sheetForm
     Page {
          titleBar: TitleBar {
               dismissAction: ActionItem {
               title: 'Cerrar'

                    onTriggered: {
                         sheetForm.close()
                    }
               }
          }

          Container {
               DropDown {
                    id: ddLista
                    title: 'Seleccione una opción'
               }
          }
     }
}
</pre>
<p>Solo por cuestion de diseño agregaremos al <strong>Container paddings</strong> y al componente DropDown lo alinearemos de tal forma que cubra todo el espacio con respecto al ancho del Container.</p>
<p>Container:</p>
<ul>
<li><strong>topPadding: 20</strong></li>
<li><strong>leftPadding: 20</strong></li>
<li><strong>rightPadding: 20</strong></li>
</ul>
<p>DropDown:</p>
<ul>
<li><strong>horizontalAlignment: HorizontalAlignment.Fill</strong></li>
</ul>
<p>Dando como resultado un código como el siguiente:</p>
<pre class="brush: plain; title: [RIActive Code]; notranslate">
Sheet {
     id: sheetForm
     Page {
          titleBar: TitleBar {
               dismissAction: ActionItem {
               title: 'Cerrar'

                    onTriggered: {
                         sheetForm.close()
                    }
               }
          }

          Container {
               topPadding: 20
               leftPadding: 20
               rightPadding: 20

               DropDown {
                    id: ddLista
                    title: 'Seleccione una opción'
                    horizontalAlignment: HorizontalAlignment.Fill
               }
          }
     }
}
</pre>
<p>De esta forma tenemos listo todo en nuestras vistas, en la 2da. parte de este tutorial realizaremos la conexión a la base de datos SQLLite y poblaremos nuestro DropDown usando código C++. Nos leemos pronto, bytes.</p>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/04/10/poblar-un-dropdown-con-datos-sqllite-en-cascades-parte-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resumen Facebook Mobile Apps Meetup</title>
		<link>http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=resumen-facebook-mobile-apps-meetup</link>
		<comments>http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/#comments</comments>
		<pubDate>Thu, 21 Mar 2013 22:11:44 +0000</pubDate>
		<dc:creator>Margarita García</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2038</guid>
		<description><![CDATA[El dia de hoy, se llevó a cabo el Facebook Mobile Apps  [...]]]></description>
				<content:encoded><![CDATA[<p>El dia de hoy, se llevó a cabo el Facebook Mobile Apps Meetup  <em>(#FBMeetUpMx)</em> en la Facultad de Contaduría y Administración de la UNAM. En este primer evento como <strong>User Group Developers de Facebook</strong>, las conferencias giraron en torno al uso de Facebook como una fuente de ingresos así como una herramienta muy útil al momento de promocionar una marca/aplicación. Si te perdiste el evento, aquí tienes una breve reseña acerca de las conferencias.</p>
<p><img class="aligncenter size-medium wp-image-2069" alt="" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001217.jpg?resize=300%2C168" data-recalc-dims="1" /><br />
<span id="more-2038"></span></p>
<h2>Christian George: Facebook ¿Empresarial?</h2>
<h5><a href="http://www.twitter.com/elcraneo" target="_blank">@elcraneo</a></h5>
<p><a href="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001232.jpg" rel="lightbox[FBMeetUpMx]" title="Christian George: Facebook ¿Empresarial?"><img class="size-medium wp-image-2042 aligncenter" title="Christian George: Facebook ¿Empresarial?" alt="Facebook ¿Empresarial?" src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001232.jpg?resize=300%2C168" data-recalc-dims="1" /></a></p>
<p>En esta primer conferencia, Christian habló acerca del porqué como desarrolladores y emprendedores, nos deben interesar los números que manejan las redes sociales más importantes (como es en este caso, <em>Facebook</em>). Dichos números significan posibles compradores y fans de nuestra marca/aplicación, que pueden además ayudar a promocionar nuestro producto.</p>
<p>Al momento de proponer una idea sea bien para un negocio o una aplicación, debemos también dejar de pensar como simples usuarios y comenzar a ver las redes sociales como una herramienta potencial que atrae fans y clientes. Otro punto a tener en cuenta es que si bien no todos los usuarios ‘fans’ de tu marca consumen tu producto/servicio, el hecho de que compartan tus publicaciones e interactúen con tu pagina, provocará que en determinado momento tu marca llegue a ese comprador que espera ahí afuera sin saber que sera fan y consumidor de tu marca.</p>
<h2>Edgar Parada: BlackBerry10 Social Apps</h2>
<h5><a href="http://www.twitter.com/edgarparada" target="_blank">@edgarparada</a></h5>
<p><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000108.jpg" rel="lightbox[FBMeetUpMx]" title="Edgar Parada: BlackBerry10 Social Apps"><img class="size-medium wp-image-2045 aligncenter" title="Edgar Parada: BlackBerry10 Social Apps" alt="BlackBerry10 Social Apps" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000108.jpg?resize=300%2C168" data-recalc-dims="1" /></a></p>
<p>La conferencia impartida por Edgar Parada, evangelista de BlackBerry, inició explicando las principales redes sociales y como es que han tenido gran influencia en las personas; Facebook, Twitter, Google +, LinkedIn. Continuo haciendo mención de las aplicaciones que iniciaron como una idea vaga y terminarón siendo aplicaciones con mucho auge dentro la vida diaria de las personas.</p>
<p>Habló del nuevo sistema operativo  BlackBerry 10 que esta basado en QNX, resaltando que el día de ayer fue el lanzamiento en México de estos dispositivos. Invitó a los presentes para que no dudarán en crear aplicaciones para BlackBerry, describiendo las plataformas y frameworks soportadas que esta empresa ofrece a los desarrolladores; como Cascades, HTML5 y Adobe AIR.</p>
<p>Finalmente mencionó que cuando a aplicaciones móviles se refiere, es importante saber elegir el Modelo de Negocio que se va utilizar para su distribución, algunos de los que destacó fue: Freemium, la cual es gratis pero que si deseas adquirir otras características se requiere hacer un pago. Premium, la cual tiene un costo que va de un dólar o más. Edgar sugirió crear una versión gratuita y una de pago, ya que si la aplicación es lo suficientemente buena puedes venderla sin problema, los usuarios la comprarian.</p>
<h2>Anni Garza: Social Media Art</h2>
<h5><a href="http://www.twitter.com/annigarzalau" target="_blank">@anniGarzaLau</a></h5>
<p><a href="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000255.jpg" rel="lightbox[FBMeetUpMx]" title="Anni Garza: Social Media Art"><img class="size-medium wp-image-2039 aligncenter" title="Anni Garza: Social Media Art" alt="Social Media Art" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000255.jpg?resize=300%2C168" data-recalc-dims="1" /></a></p>
<p>Continuando con la interesante conferencia de Anni Garza, desde el impacto de los medios digitales en el arte y cómo es que en la actualidad una simple búsqueda en internet puede revelar muchos aspectos de tu vida y mucha gente no está consciente del peligro que esto implica, por ello mismo comenzó a trabajar en una app artística (a la vez que útil) en la cual combina algoritmos biológicos para crear una “descomposición facial” que protege la identidad del usuario ante las tecnologías de reconocimiento facial y al mismo tiempo le da un acabado diferente a la fotografía final.</p>
<h2>Sergio Brito: The Facebook SDK</h2>
<h5><a href="http://www.twitter.com/yacaFx" target="_blank">@yacaFx</a></h5>
<p><a href="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000289.jpg" rel="lightbox[FBMeetUpMx]" title="Sergio Brito: The Facebook SDK"><img class="size-medium wp-image-2041 aligncenter" title="Sergio Brito: The Facebook SDK" alt="Facebook SDK" src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000289.jpg?resize=300%2C168" data-recalc-dims="1" /></a></p>
<p>Para cerrar, Sergio Brito, nos presentó un enfoque actual sobre el desarrollo de las distintas aplicaciones, móviles, web y desktop, y la integración que estas pueden tener con las redes sociales para (cuando se trata de un producto) tener más impacto en los usuarios finales y llevar el “boca en boca” en una de las maneras más efectivas en que se puede expandir una idea, producto o marca.</p>
<p>También habló de los distintos sabores de el SDK de Facebook (Android, iOS y plataformas web) así como la útil Graph API y los permisos que deben dar los usuarios para distintas funciones y accesos a información, tales como consultar la lista de amigos o permisos para postear en el muro.</p>
<p>Cuatro charlas con diferentes enfoques sobre un mismo tema, el como ganar a los usuarios y hacer que se comprometan con nuestros productos finales de la mejor manera que podemos como desarrolladores, crear contenido de calidad y que valga la pena, con ideas innovadoras que vayan un paso más allá, pensando en las necesidades del usuario y llegando a explotar las características únicas que sean llamativas y útiles a la vez.<br />

<script type="text/javascript">
jQuery(window).load(function() { 
  jQuery("#smg_2").flexslider({animation: "fade", controlNav: false,});
});
</script>


<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000255/' title='Social Media Art'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000255.jpg?resize=150%2C150" class="attachment-thumbnail" alt="Social Media Art" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000289/' title='Facebook SDK'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000289.jpg?resize=150%2C150" class="attachment-thumbnail" alt="Facebook SDK" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001232/' title='Facebook ¿Empresarial?'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001232.jpg?resize=150%2C150" class="attachment-thumbnail" alt="Facebook ¿Empresarial?" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000108/' title='BlackBerry10 Social Apps'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000108.jpg?resize=150%2C150" class="attachment-thumbnail" alt="BlackBerry10 Social Apps" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000119/' title='#FBMeetUpMx'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000119.jpg?resize=150%2C150" class="attachment-thumbnail" alt="#FBMeetUpMx" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000101/' title='IMG_00000101'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000101.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000101" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000106/' title='IMG_00000106'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000106.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000106" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000112/' title='IMG_00000112'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000112.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000112" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000115/' title='IMG_00000115'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000115.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000115" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000117/' title='IMG_00000117'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000117.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000117" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000125/' title='IMG_00000125'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000125.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000125" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000204/' title='IMG_00000204'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000204.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000204" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000216/' title='IMG_00000216'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000216.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000216" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000223/' title='IMG_00000223'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000223.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000223" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000229/' title='IMG_00000229'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000229.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000229" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000237/' title='IMG_00000237'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000237.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000237" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000238/' title='IMG_00000238'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000238.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000238" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000245/' title='IMG_00000245'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000245.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000245" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000253/' title='IMG_00000253'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000253.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000253" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000259/' title='IMG_00000259'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000259.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000259" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000263/' title='IMG_00000263'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000263.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000263" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000288/' title='IMG_00000288'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000288.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000288" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000296/' title='IMG_00000296'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000296.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000296" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00000300/' title='IMG_00000300'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00000300.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00000300" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001217/' title=''><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001217.jpg?resize=150%2C150" class="attachment-thumbnail" alt="" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001222/' title='IMG_00001222'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001222.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00001222" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001223/' title='IMG_00001223'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001223.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00001223" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001230/' title='IMG_00001230'><img src="http://i0.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001230.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00001230" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001236/' title='IMG_00001236'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001236.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00001236" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001238/' title='IMG_00001238'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001238.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00001238" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001244/' title='IMG_00001244'><img src="http://i2.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001244.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00001244" /></a>
<a href='http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/img_00001249/' title='IMG_00001249'><img src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/IMG_00001249.jpg?resize=150%2C150" class="attachment-thumbnail" alt="IMG_00001249" /></a>
</p>
<h5>Autores: <a href="https://twitter.com/Jesus_Macedo">Jesus Macedo</a>, <a href="http://twitter.com/zerma">Marco Mérida</a> y <a href="https://twitter.com/gr_maggi">Margarita García</a></h5>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/03/21/resumen-facebook-mobile-apps-meetup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Mobile Apps Meetup</title>
		<link>http://riactive.mx/2013/03/18/facebook-mobile-apps-meetup/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facebook-mobile-apps-meetup</link>
		<comments>http://riactive.mx/2013/03/18/facebook-mobile-apps-meetup/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 17:01:01 +0000</pubDate>
		<dc:creator>Sergio Brito</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://riactive.mx/?p=2008</guid>
		<description><![CDATA[Hola RIActiveros!!! Aprovechando que estamos estrenando [...]]]></description>
				<content:encoded><![CDATA[<p>Hola RIActiveros!!!</p>
<p><img class="alignright" alt="" src="http://i1.wp.com/riactive.mx/wp-content/uploads/2013/03/fb_devs1.png?resize=274%2C274" data-recalc-dims="1" /><br />
Aprovechando que estamos estrenando diseño y que ya somos parte del <strong>User Group Developers de Facebook</strong> tendremos este <strong>jueves 21 de Marzo</strong> una serie de conferencias para platicar sobre el <strong>SDK</strong> de Facebook y revisaremos su API a nivel general así como las distintas herramientas y smartphones disponibles como el nuevo <strong>BlackBerry Z10</strong> para generar y correr nuestras apps.</p>
<p>Pueden registrarse al evento en la siguiente url: <strong> <a href="http://fbmeetupmx.eventbrite.com"></p>
<p>http://fbmeetupmx.eventbrite.com</a></strong></p>
<div style="width: 100%; border: solid 1px #ccc; margin: 5px; padding: 5px;">
<p><strong>Fecha:</strong> 21 de Marzo 2013.<br />
<strong></strong></p>
<p><strong>Hora:</strong> 9:00 am &#8211; 1:00 pm</p>
<p><strong>Lugar:</strong> Facultad de Contaduría y Administración (<a title="FCA" href="http://www.fca.unam.mx" target="_blank">www.fca.unam.mx</a>) en el Auditorio<span style="color: #333333; font-family: Verdana, Geneva, sans-serif; font-size: 11px; text-align: justify;"> &#8221;C.P. Alfonso Ochoa Ravizé&#8221;</span></p>
<p><strong>Dirección</strong>: Circuito Exterior s/n Copilco Universidad, Coyoacán, 04510 Mexico DF <a title="Mapa FCA" href="https://maps.google.com/maps?q=Facultad+de+Contaduria+y+Administraci%C3%B3n,+Circuito+Exterior+S%2Fn,+Copilco+Universidad,+Coyoac%C3%A1n,+Ciudad+de+M%C3%A9xico,+D.F.,+Mexico&amp;hl=en&amp;ie=UTF8&amp;sll=37.0625,-95.677068&amp;sspn=35.957999,68.730469&amp;oq=faculta&amp;hq=Facultad+de+Contaduria+y+Administraci%C3%B3n,+Circuito+Exterior+S%2Fn,+Copilco+Universidad,+Coyoac%C3%A1n,+Ciudad+de+M%C3%A9xico,+D.F.,+Mexico&amp;t=m&amp;z=16" target="_blank">[Ver Mapa]</a></p>
<p><strong>Organizado por:  </strong><a href="http://www.riactive.com.mx" target="_blank">RIActive</a></p>
<p><strong>Con el apoyo de: </strong><a href="http://www.activ.com.mx" target="_blank">Activ</a>, <a href="http://www.video2brain.com/mx/" target="_blank">v2b</a> y <a href="https://developer.blackberry.com/" target="_blank">BlackBerry Dev</a></p>
<p><strong>Social Media:</strong> <a href="https://www.facebook.com/groups/riactive/">Grupo en Facebook</a> , Twitter <a href="https://twitter.com/riactive">@riactive</a> y hashtag <strong>#FBMeetupMx</strong></p>
</div>
<p>EL cartel del evento es el siguiente:</p>
<table style="width: 100%;" border="1">
<tbody>
<tr>
<td align="center" width="150"><strong>HORARIO</strong></td>
<td align="center" width="250"><strong>21 de Marzo</strong></td>
</tr>
<tr>
<td align="center" width="150">8:30 &#8211; 9:00</td>
<td align="center">Registro y Bienvenida</td>
</tr>
<tr>
<td align="center" width="150">9:15 &#8211; 10:00</td>
<td align="center"><strong>Facebook ¿Empresarial?</strong><strong><br />
</strong><em>Christian George<br />
</em>Creative Kinetic Manager of Lead2Action<br />
@elcraneo</td>
</tr>
<tr>
<td align="center" width="150">10:15 &#8211; 11:00</td>
<td align="center"><strong>BlackBerry10 Social Apps</strong><br />
<em>Edgar Parada<br />
</em>BlackBerry Developer Evangelist<br />
@edgarparada</td>
</tr>
<tr>
<td align="center" width="150">11:15 &#8211; 12:00</td>
<td align="center"><strong>Reconocimiento Facial y Tagging en Facebook</strong><strong><br />
</strong><em>Anni Garza<br />
</em>Digital Artist of Thinking Dojo<em><br />
</em>@anniGarzaLau</td>
</tr>
<tr>
<td align="center" width="150">12:15 &#8211; 13:00</td>
<td align="center"><strong>The Facebook SDK</strong><br />
<em>Sergio Brito<br />
</em>Adobe Community Professional<br />
@yacaFx</td>
</tr>
<tr>
<td align="center" width="150">13:00 &#8211; 13:15</td>
<td align="center">Cierrre y Despedida</td>
</tr>
</tbody>
</table>
<p>Nos vemos el jueves!<br />
Saludos y Happy Coding!!!<br />
Sergio Brito – <a title="Twitter" href="https://twitter.com/yacafx" target="_blank">@yacaFx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2013/03/18/facebook-mobile-apps-meetup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobiTalks RIActive 2012</title>
		<link>http://riactive.mx/2012/11/06/mobitalks-riactive-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mobitalks-riactive-2012</link>
		<comments>http://riactive.mx/2012/11/06/mobitalks-riactive-2012/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 00:31:05 +0000</pubDate>
		<dc:creator>Sergio Brito</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.riactive.mx/?p=1899</guid>
		<description><![CDATA[Hola RIActiveros! Pues todo se alineo para poder compar [...]]]></description>
				<content:encoded><![CDATA[<div style="text-align: justify; text-justify: newspaper;">
<p><img style="margin:40px 10px 10px 20px;float:right" title="#MobiTalks 2012 - Logo Design by @madanielaa" src="http://i0.wp.com/www.riactive.mx/wp-content/uploads/2012/11/logo-mobitalks-web.png?resize=249%2C182" alt="#MobiTalks 2012" data-recalc-dims="1" /></p>
<p><strong>Hola</strong> RIActiveros!</p>
<p>Pues todo se alineo para poder compartir con ustedes un evento más donde toca el turno enfocarnos a fondo en el <strong>desarrollo mobile</strong>, las distintas tecnologias y plataformas existentes para todos los gustos y así poder conocer y tener a la mano distintas alternativas para lograr llevar nuestra idea a un dispositivo mobile con el lenguaje y herramientas que más se nos acomode.</p>
<p>La carta de este evento es bastante variada y muy nutrida pues tendremos oportunidad de escuchar de primera mano que pasa y que hay en las principales plataformas actuales como <strong>Blackberry</strong>, <strong>iOS</strong>, <strong>Android</strong> y <strong>Windows 8</strong> y del mismo modo sobre frameworks y herramientas conocidas y otras no tanto como <em>Appcelerator</em>, <em>Dreamweaver</em>, <em>Flash Builder</em>, <em>Visual Studio</em>, <em>AIR</em>, <em>HTML5</em>, <em>Cascades</em>, <em>Xcode</em> y <em>.Net</em>.</p>
<p>Al final contaremos con una mesa redonda donde los speakers de estas <strong>MobiTalks</strong> estarán debatiendo sobre sus temas de expertise en la perspectiva mobile actual por lo que pinta para una contienda mas que interesante.</p>
</div>
<p>La parrilla de <strong>speakers</strong> estará conformada por:</p>
<ul>
<li><a href="http://firt.mobi/" target="_blank">Maximiliano Firtman</a> &#8211; <em><a href="http://twitter.com/firt" target="_blank">@firt</a></em></li>
<li><a href="http://www.erickcamacho.com/" target="_blank">Erick Camacho</a> - <em><a href="http://twitter.com/ecamacho" target="_blank">@ecamacho</a></em></li>
<li><a href="http://www.linkedin.com/in/pacocuevas" target="_blank">Francisco Cuevas</a> - <em><a href="http://twitter.com/pacocuevas" target="_blank">@pacocuevas</a></em></li>
<li><a href="http://www.linkedin.com/in/alexmarket" target="_blank">Alejandro Mercado</a> - <em><a href="http://twitter.com/alexmarket" target="_blank">@alexmarket</a></em></li>
</ul>
<p>El <a href="http://mobitalks2012.eventbrite.com/">registro</a> es via Eventbrite en <a href="http://mobitalks2012.eventbrite.com/">http://mobitalks2012.eventbrite.com/</a> no olviden llevar su registro para el acceso y si es un medio digital mucho mejor <img src='http://i0.wp.com/riactive.mx/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' data-recalc-dims="1" />
</p>
<p>¿Donde y cuando será el evento? </p>
<div style="margin: 0 0 10px 10px; width: 80%; padding: 15px 15px 15px 15px; border: 1px solid #aaa;"><strong>Fecha:</strong> 12 de Noviembre 2012.<br />
<strong>Hora:</strong> 9:00 am &#8211; 2:00 pm<br />
<strong>Lugar:</strong> Universidad de Londres (<a href="http://www.udlondres.com/index.php">www.udlondres.com</a>)<br />
<strong><a href="http://mobitalks2012.eventbrite.com/"><br />
Registro</a></strong>: <a href="http://mobitalks2012.eventbrite.com/"> http://mobitalks2012.eventbrite.com </a></div>
<p>No olviden usar los social media de RIActive:  <a href="https://www.facebook.com/groups/riactive/">Grupo en Facebook</a> , Twitter <a href="https://twitter.com/riactive">@RIActive</a> y hashtag <a href="https://twitter.com/search?q=MobiTalks&amp;src=typd"><strong>#MobiTalks</strong></a></p>
<p>Nos vemos el lunes!  </p>
<p>Saludos y Happy Coding!!! <img src='http://i1.wp.com/riactive.mx/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' data-recalc-dims="1" />   </p>
<p>Sergio Brito &#8211; <a href="http://www.twitter.com/yacafx">@yacaFx </a></p>
<p style="font-size: 11px; text-align: right; font-style: italic;">*Un agradecimiento especial a <a href="http://twitter.com/madanielaa">@madanielaa</a> por su colaboración con el diseño del logo del evento</p>
]]></content:encoded>
			<wfw:commentRss>http://riactive.mx/2012/11/06/mobitalks-riactive-2012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
