BB Jam Sessions

En este momento me encuentro en el BBJamSessions de la Ciudad de México.

Nuestro equipo se encuentra enfrente presentando la app que realizamos, «CatchBull», que es un juego sobre el tema de la marca patrocinadora, Red Bull.

El evento fue bueno, fue pesado realizar la app en grupo. Por principio, separamos la app en bloques, a mi me tocó realizar la parte de la camarita.

Al principio me causó algunos problemas por detalles de AS3, pero después de todo funcionó bien. Tomaba fotos y la pasaba como BitMap… Nada nuevo, creo…

El evento consistió en desarrollas apps de las siguientes categorías en 10 horas:

Los equipos pueden estar formados de 1 a 5 miembros, y las categorías son:
• Best App
• Best Game
• Best Red Bull App
• Best E-Commerce App
• Best User Interface Design

Las aplicaciones serán juzgas en base a los siguientes criterios:
• 25% – Modelo de Negocio
• 25% – Calidad de Diseño
• 25% – Originalidad de la idea
• 25% – Nivel funcional

Llegamos a las 8:30 a.m., nos integramos en equipos de máximo 5 personas.

Hubo variedad de apps, como «antivirus», el juego de Red Bull Stratos, un lector de QR, etc… y nuestro juego de un angelito que atrapa latas de RedBull

Gracias.

Pensado a futuro… ¿Qué lenguaje debo elegir?

Hola, soy un desarrollador entusiasta de tecnologías tanto mobile como web, no me considero experto, pero creo haber recopilado algo de experiencia.

Mis primero pasos en programación fueron en la vocacional (nivel Medio Superior) y fueron sobre C, pasando después a C++ a un nivel en el que no entendía el cambio o daba por hecho que eran realmente lo mismo; Los proyectos constaban en programas que manejaran Arreglos, algunos ejercicios de manejo de Loops, un poco de Estructuras, alguna mención a lo que eran las clases, etc…

Tiempo después, en al universidad, tuve mis primeros acercamientos a Java, era toda una novedad para mi! Era ‘moderno’, era ‘multiplataforma’, manejaba ventanas, tendría la posibilidad de hacer applets (no imaginaba que se pudieran hacer servlets, si no, me hubiera sorprendido más). En fin, quería aprenderlo, pues en ese entonces me parecía ‘la onda’!

Para mi, Java tenía una única, pero enorme desventaja… Era muy pesado para mi PC con procesador Celeron y 128 MB de RAM. Ni pensar en instalar NetBeans o Eclipse, hubiera tardado horas en abrir!!, por lo que mis primero programas fueron hechos en Block de Notas y compilados desde la consola. No eran muy efectivos, yo no sabía utilizar bien el lenguaje y todo se me complicaba demasiado. Aún así logré realizar un ‘compilador’ que además de hacer los análisis necesarios sobre un archivo de texto movía un pequeño carro utilizando el puerto paralelo de la PC. Pero aún así, tenia que buscar otra alternativa, pero cual!?

No recuerdo cuando, ni como, pero conocí PHP. Empecé a estudiarlo, tardé un poco en darme cuenta que necesitaba un servidor, busqué tutoriales, los leí una y otra vez. Al mismo tiempo, en la escuela aprendía SQL (MySQL) en la mañana y lo repasaba por la noche junto con mi nuevo lenguaje aprendido! Empezaba a convertirme en un desarrollador web y eso me emocionaba bastante!!!

Logré desarrollar una paleta de colores en RGB (porcentajes y hexadecimal), una página para mi novia, varios proyectos de a escuela (Entre ellos una aplicación que utilizaba un ejecutable generado en Prolog), etc.

Tiempo después entré a mi primer trabajo, no era como desarrollador, yo no me tenía aun esa confianza, era como Soporte Técnico, y estaba bien para ser de medio tiempo, aun seguía en la universidad.

Se presentó una oportunidad de hacer un sistema de Control de Tickets, acepté, dispuesto a hacer méritos dentro de mi trabajo. Seguí trabajando con PHP y demás tecnologías web (HTML, CSS) y en especial con JavaScript, que me pareció similar tanto a mi querido C/C++ como al (para mí) fascinante PHP. Ahora conocía SQL SERVER.

El ‘sistemita’ funcionaba tal como yo quería, generaba reportes, gráficos dentro de un archivo PDF, etc. Ese ego que un desarrollador siente al realizar un proyecto estaba creciendo más dentro de mi.

Luego, me ofrecieron cambiar de área, pasar a ser un desarrollador, cosa que yo realmente quería. Se requería desarrollar una app para la tableta Playbook de Blackberry, que para mi suerte aceptaba HTML5 (yo entendía HTML, ‘que podría haber de distinto?’, me decía a mi mismo)… resultó que el Framework no era tan poderoso como esperaba, pues nunca consideré que estaba limitado a correr sobre el navegador.

Me vi en la necesidad de aprender Flex, empecé a buscar tutoriales y demás, pero no entendía nada. Solicité a la empresa un curso, me lo concedieron y ahí reforcé lo poro que ya conocía de AIR. Mi idea sobre Flash cambió drásticamente! me gustó el Framework, la versatilidad entre mobile, web y desktop, la manera de usar los recursos, etc. Fue un gran paso para mi! Pero algo me inquietaba… Las múltiples noticias sobre la desaparición de Flash, sobre caída de Adobe, etc…

Había tenido malas experiencias con la ‘potencia’ de HTML5, un lenguaje que me gustaba iba a desaparecer pronto (Flex), me hice a la idea de que no prescindo de Java, no es esencial en mi vida… entonces… y ahora, ¿Qué sigue?

En uno de los pasillos del BB10JAM, en la Ciudad de México, encontré a un grupo de desarrolladores que discutían sobre si Java era bueno o no… No pude evitar colarme a la plática. Conversando, expuse mis dudas sobre que era lo que debía aprender, que era obsoleto y que era necesario?
En resumen esto fue lo que aprendí:

  • Java te funde el cerebro. (De cierta forma, estoy de acuerdo xD)
  • HTML5 está de moda, si, pero, piensa a futuro, es una tecnología que seguirá por un buen rato en cuanto a mobile development nos referimos.
  • Flash va a morir, si… pero HTML, X-Code y los demás lenguajes también lo harán!! Pero no hoy, ni mañana! No te claves pensando que debes olvidar lo que sabes de ActionScript 3 (Si, tres…). Aprovecha al máximo todo lo que sabes, desarrolla apps multiplataforma y utiliza los recursos que AIR tiene para ti!
  • C/C++ es un gran lenguaje, es robusto, es bueno, aprendelo bien.

Y admito que esto, además de ser lo más útil que aprendí en el BB10JAM, fue tranquilizante para mi.

Espero mi experiencia pueda servirle a alguien, agradezco su opinión.

Saludos!

Un poco de Flex, AS3 y las RIA’s

Este Post fue tomado de otro blog en el que a veces escribo. Puede verse aqui

Me encuentro escribiendo ahora para contarles un poco de mi experiencia con Flash Builder…

En el lugar donde trabajo me fue asignada la tarea de realizar una aplicación para la tableta Playbook de Blackberry, aparentemente la tarea era sencilla puesto que sé algo de HTML y Javascript, lenguajes que utilizaría con el Blackberry WebWorks SDK (para programar para tabletas y móviles usando HTML5 y JavaScript como lenguajes casi nativos con ciertas ventajas [SQL, API’s nativas, Almacenamiento local, etc…]) pero a mi no funcionó, esto debido que nadie me dijo nunca que el Blackberry WebWorks SDK no es taaan poderoso como yo lo necesitaba ¬¬

En resumen sobre ese tema diré que poco a poco me vi en la necesidad de explorar Flex/AS3/AIR y descubrí que es un lenguaje muy poderoso y con muchas opciones de desarrollo de aplicaciones web, móvil y de escritorio.

Éxisten conceptos básicos que necesitan saber para desarrollar aplicaciones con Flex y el Flash Builder:

RIA’s
Las rich Internet applications, o RIA (en español «aplicaciones de Internet enriquecidas»), son aplicaciones web que tienen la mayoría de las características de las aplicaciones de escritorio tradicionales. Estas aplicaciones utilizan un navegador web estandarizado para ejecutarse y por medio de complementos o mediante una máquina virtual se agregan las características adicionales.
Las RIA surgen como una combinación de las ventajas que ofrecen las aplicaciones web y las aplicaciones tradicionales. Buscan mejorar la experiencia del usuario. (Más información…)

AIR
(Adobe Integrated Runtime) – AIR es una tecnología que permite la creación de aplicaciones de escritorio (de propósito general) a partir de tecnologías de desarrollo de páginas web, como pueden ser HTML, Ajax o Flash. Con Adobe AIR los desarrolladores pueden aprovechar sus conocimientos a la hora de crear páginas web para hacer aplicaciones multimedia para el escritorio. Es decir, a partir de un desarrollo de una aplicación web, crear una aplicación general con los mismos contenidos o utilidades del sitio web. (Más información… ó Aqui…)

FLEX
Flex es un conjunto de librerías – o framework – para desarrollo de UI ( User Interface por sus siglas en ingles). Aunque ActionScript 3.0 (AS3) es el lenguaje para programar aplicaciones usando el Flex framework, AS3 no es Flex. Si el código AS3 que se programe utiliza los componentes y métodos definidos en el Flex framework, entonces se esta usando Flex. Es decir, AS3 no es por si solo Flex.
Flex sirve para hacer Programas, NO animaciones. (Más Información… o aquí…)

ActionScript
Adobe ActionScript es el lenguaje de programación de la Plataforma Adobe Flash. Originalmente desarrollado como una forma para que los desarrolladores programen de forma más interactiva. La programación con ActionScript permite mucha más eficiencia en las aplicaciones de la plataforma Flash para construir animaciones de todo tipo, desde simples a complejas, ricas en datos e interfaces interactivas.
La versión más extendida actualmente es ActionScript 3.0, que significó una mejora en el manejo de programación orientada a objetos al ajustarse mejor al estándar ECMA-262 y es utilizada en las últimas versiones de Adobe Flash y Flex y en anteriores versiones de Flex. (Más Información…)

MXML
MXML uno de los dos lenguajes que utiliza Flex para la creación de aplicaciones. Se trata de un lenguaje de programación jerárquico. Esto quiere decir que existe un nodo principal y de este nodo van a ir colgando nuevos nodos. A su vez, cada uno de los nodos descendientes del primero, pueden tener otros nodos descendientes.
MXML se basa en XML y su acrónimo «Macromedia eXtensible Markup Language», describe interfaces de usuario, crea modelos de datos y tiene acceso a los recursos del servidor, del tipo RIA’s (Más Información… o aquí…, o aquí también!)

Pero bueno, por hoy esta será solo una pequeña explicación con información recopilada y un poco de mi cosecha. Pronto más del tema, ojalá les sirva! Saludos! =)

MultiShots!

Ya se encuentra en el BlackBerry ® AppWorld la aplicación MultiShots!, disponible para BlackBerry ® PlayBook ™!

MultiShots! te permite capturar imagenes mediante la camara fotográfica de tu BlackBerry® PlayBook™!
Diviertete con los diferentes marcos que MultiShots! tiene para ti!
Captura fotografías con o sin Temporizador configurable!
MultiShots! te permite corregir las fotos antes de guardarlas y además agregarles un marco del color que prefieras.

*** MultiShots! una nueva forma de capturar momentos! ***

Puedes ver la presentación AQUI