Algunos consejos para el Reto BlackBerry

Escribo este pequeño post para darles algunos consejos a los participantes del Reto BlackBerry el cual es una competencia para todos aquellos interesados en desarrollar una aplicación para BlackBerry PlayBook, y así tener la oportunidad de ganar interesantes premios.

Reto BlackBerry

El Reto BlackBerry es una competencia internacional, donde están participando diferentes países: Colombia, México, Perú y Venezuela. Los consejos que aquí daré son en base de mi experiencia personal y en ningún momento deben de ser interpretados como parte de las reglas y/o generalidades del reto ;-) dicho lo anterior comenzamos!

Lo primero, tener una buena idea!

Esta es una parte muy importante antes ponerse a desarrollar la aplicación para el reto y un buen comienzo sería revisar ¿qué es lo que existe en el mercado de PlayBook? ¿cuál es el tipo de usuario de esta tablet? ¿qué aplicaciones son las más descargadas? ¿qué características tengo disponibles con el hardware de PlayBook? Estas preguntas les servirán para saber si su app realmente resuelve alguna de las necesidades de los usuarios de esta plataforma.

Después podríamos revisar las aplicaciones existentes en BlackBerry AppWorld que dicho sea de paso, no incluye una opción directa para buscar las apps específicas de PlayBook por lo que tendremos que jugar un poco con las peticiones REST de la tienda, nada complicado para un desarrollador cierto? O posiblemente hacer una búsqueda del término PlayBook aunque esto tendrá el inconveniente de arrojar los resultados exclusivos de apps que lleven esta palabra en el título, y como la mejor opción de búsqueda si tienen una PlayBook disponible es que su BlackBerry ID les permitirá hacer filtros en base a sus dispositivos como se muestra en la imagen:

BlackBerry AppWorld

Hay que analizar las apps de juegos y entretenimiento mejor rankeadas (ya que son las 2 categorías del reto), cuáles son los comentarios que tienen, ¿qué piden los usuarios con mayor frecuencia? todo esto para poder formarnos un mejor criterio de como lograr el éxito en esta plataforma. También les recomendaría darse una vuelta por el blog de Crack Berry que suelen hacer reseñas de aplicaciones interesantes. Por último y aprovechando la popularidad de tablets con el mismo “form factor” de PlayBook como la Kindle Fire revisaría su tienda de aplicaciones compatibles en Amazon en busca de un poco de inspiración.

Conociendo las Opciones Disponibles de Desarrollo

Esto sin duda es otro punto importante. De las opciones de desarrollo disponibles en la plataforma de PlayBook deberemos elegir entre: Native SDK, HTML5 con WebWorks y Adobe AIR. Cada una tiene sus propias ventajas y desventajas al momento de desarrollar, sin embargo para poder elegir una dependeremos de varios factores, tales como el tipo de aplicación, la plataforma donde tengamos más experiencia, el tiempo disponible, si trabajamos con un equipo de diseño que conozca de desarrollo, etc.

Hablemos de Juegos

Pensando en un juego, Native SDK con C/C++ sería la opción que mejor va a aprovechar el hardware del dispositivo, sobre todo si el juego es en 3D ya que tendremos a la mano frameworks específicos para ese propósito como Game Play o engines de física portados a la plataforma como Bullet Physics mención especial merecen proyectos como Union que permite a los desarrolladores de Unity llevar sus creaciones a la plataforma PlayBook pero dudo mucho que el tiempo disponible para el reto se adapte a su esquema de publicación.

Cabe destacar que Flash sería una opción muy viable para un juego de 3D en PlayBook si estuviera disponible la versión 3.2 de AIR que incluye soporte para stage3d y con ello acceso a librerías como Alternativa3D, Away3D, Flare3D, etc. pero en este momento solo hay soporte hasta AIR 3.1 dentro de PlayBook :-(

Hablando de juegos 2D la historia es otra y Adobe AIR sería una opción muy interesante a considerar debido a la gran cantidad de ejemplos disponibles en la red, las diferentes librerías y engines de física, la documentación oficial es de muy buena calidad y que existe la posibilidad de integrar los componentes nativos de QNX mediante ActionScript 3.0 lo cual es importante si queremos brindar al usuario una experiencia única al interactuar con nuestras aplicaciones, es un hecho que habrá componentes nativos en C/C++ mediante el uso de Cascades pero eso no es una realidad en este momento al desarrollar para PlayBook, lo será cuando llegue BB10 al mercado.

La combinación de HTML5 con WebWorks no es algo que elegiría como primera opción para crear un juego por lo siguiente: a pesar de que el browser de PlayBook es uno de los primeros browsers móviles en aceptar WebGL, su implementación dista mucho de ser algo usable como bien apunta Maximiliano Firtman en este post.

Si a pesar de lo anterior fuera mucha la inquietud por adentrarse en el mundo del desarrollo de juegos con HTML5, vería con buenos ojos opciones como EaselJS que permitan acceder rápidamente a modelos de creación y control de objetos más familiares para los desarrolladores.

Aplicaciones de Entretenimiento

Al hablar de aplicaciones de entretenimiento mis preferencias de desarrollo cambiarían de orden, en primer lugar creo que HTML5 en combinación con WebWorks presenta un buen escenario de desarrollo debido a que la mayoría de los servicios web disponibles tienen APIs compatibles con Javascript, aquí una lista de los más importantes:

Merece la pena revisar a detalle proyectos como alice.js una micro librería de Javascript enfocada a generar efectos visuales a partir de características de CSS3 aceleradas por hardware. Si queremos lograr una apariencia de aplicación nativa podríamos recurrir a proyectos como BBUI.js o quizá si la aplicación esta gobernada por una arquitectura de información que sea posible presentarla en pantallas aprovechar frameworks como jQuery Mobile que ha sido probado en PlayBook desde la versión 1.0 de su sistema operativo.

De optar por resolver la aplicación de entretenimiento con AIR en definitiva vería la posibilidad de aprovechar los componentes de Flex en su versión optimizada para móviles (Flex Hero) ya que los tiempos de desarrollo son verdaderamente muy cortos gracias a que disponemos de componentes listos para integrarse con los gestos multitouch del dispositivo, capaces de manejar múltiples densidades de pixel y el ambiente de desarrollo es uno de los mejor logrados al momento de hablar con la integración hacia PlayBook.

De hecho es muy probable que con WebWorks este sea uno de nuestros principales dolores de cabeza pero con Flash Builder para AIR y Momentics IDE para Native SDK rara vez tendremos que tocar la línea de comandos. Para aprender a desarrollar aplicaciones Flex que se ejecuten sobre de AIR para PlayBook les recomiendo la Guía de Desarrollo Flex que publique en Maestros del Web.

En el caso de las apps de entretenimiento el modelo de desarrollo con Native SDK C/C++ es el que desde mi punto de vista representaría los tiempos más largos de desarrollo ya que muchos de los componentes se tendrían que crear desde cero y se extraña mucho la posibilidad de utilizar Cascades Qt/C++ que está disponible solo para BB10. Cascades vendría siendo un equivalente a Cocoa Touch para los desarrolladores de iOS o Android UI para los de Android, se imaginan construir una app desde cero sin esos componentes? yo no, gracias ;-)

Comentarios Finales

Espero sinceramente haber ayudado a formarse una idea más clara de lo que van a necesitar para participar en el Reto BlackBerry, les esperan muchas horas de diversión, algunos desvelos y mucho aprendizaje! Y al final del día verán que todo habrá valido la pena.

Durante este recorrido no estarán solos, es una buena idea tener el foro de 7Berries a la mano a través de las redes sociales desarrolladores como @bryantafel, @yacaFX, @ivansosa, @rafaelje, @gzfrancisco, @kiwox, @firt, @edgarparada conocen bien la plataforma aunque les sugiero automoderación, busquen primero si su pregunta no esta en los foros o en Google, de ser algo muy específico creo que haría una búsqueda también en los foros de soporte en inglés.

A todos los participantes del Reto BlackBerry les deseo la mejor de las suertes!

6 pensamientos en “Algunos consejos para el Reto BlackBerry

  1. Tips para el Reto BlackBerry 10 – edgarparada.mx

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s