Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 17

Introduccin al desarrollo en BlackBerry

Introduccin al desarrollo de aplicaciones mviles


Objetivos
El objetivo principal de este captulo es describir las diferencias entre el desarrollo de aplicaciones para un entorno de escritorio frente a un entorno de dispositivo mvil basado en las caractersticas del dispositivo fsico y en las necesidades del usuario. Desarrollo en dispositivos mviles Desarrollar para dispositivos mviles tiene algunas cosas en comn con el desarrollo para escritorio o servidor, pero las diferencias son realmente importantes. Por esto es necesario describir algunas caractersticas del desarrollo de aplicaciones mviles y luego poder considerarlas a la hora de programar aplicaciones. Estos conceptos tendrn un impacto importante a la hora de implementar finalmente una aplicacin. Lo primero a tener en cuenta es la limitacin de recursos que existen en un dispositivo mvil. Si bien la evolucin es constante y en gran escala, no se debe olvidar que sigue siendo un dispositivo limitado. Recursos a tener en cuenta a la hora de programar: - Tamao de la pantalla Los telfonos mviles cuentan con una pantalla de pequeo tamao, lo cual hace imprescindible tenerlo en cuenta a la hora de disear una aplicacin. Es importante entender que no toda la informacin que tenemos disponible puede ser presentada al mismo tiempo en una sola pantalla. Para ello es necesario realizar un diseo de nuestra aplicacin considerando siempre los elementos ms relevantes dentro de cada pantalla. - Memoria Los dispositivos mviles cuentan con reducida capacidad de almacenamiento. Si bien es posible utilizar memorias externas, es difcil considerar que se dispone de gran capacidad para persistir y sostener informacin. Es importante administrar y gestionar prolijamente el uso de la memoria para evitar la cada del rendimiento de la aplicacin y el dispositivo en general. Evitar la creacin de objetos innecesarios es un factor muy determinante en el cuidado de este recurso. As como Java Standard cuenta con el Garbage Collector (recolector de basura en memoria), Java Microedition tambin utiliza este mecanismo. No por esto se deber dejar informacin basura dentro de la memoria esperando que el recolector haga su trabajo. Cuando se programa para mviles, es muy importante reducir el trabajo del GC. - Capacidad del procesador As como la memoria es limitada, el procesador y su capacidad de procesamiento tambin lo son. Es por eso que es necesario evitar cualquier utilizacin innecesaria de este recurso. Los aplicaciones Java que corren en dispositivos BlackBerry poseen la capacidad de

ejecutar tareas en simultneo multithreading, por lo que se est expuesto a la degradacin del rendimiento general del equipo. Tanto el diseo de clases y mtodos, como la implementacin de estos, es fundamental para la mejor optimizacin del procesador. Existen herramientas profiler que permiten analizar la utilizacin del CPU y encontrar la mejor implementacin para cada rutina, llegando a optimizarlas lo mximo posible. Se mostrarn ejemplos y explicar su uso en otro captulo. - Medios de conexin Los dispositivos mviles cuentan con la posibilidad de estar todo el tiempo conectados, tanto a internet como a dispositivos perifricos. Existen distintos mtodos para lograrlo, como la conexin celular, WiFi y BlueTooth. Es importante no abusar del uso de este recurso, ya que este representa el factor de mayor consumo de procesador y memoria. En la etapa de diseo de una aplicacin, es necesario considerar el mnimo uso de las distintas conexiones en los distintos escenarios. - Batera Los dispositivos mviles cuentan con una fuente de energa muy limitada. El mal uso de los recursos (pantalla, memoria, procesador y conexiones) tendrn un impacto directo en el consumo de batera, generando una baja considerable en el rendimiento de las aplicaciones y la experiencia de los usuarios.

Mtodos de desarrollo para dispositivos mviles


Objetivos
El objetivo de este captulo es enumerar y describir cuatro mtodos para el desarrollo de aplicaciones para dispositivos mviles BlackBerry. Se describir cmo difieren las aplicaciones HTML5, Java, Air y C++, mostrando distintos ejemplos. Se describirn las consideraciones de diseo y limitaciones para los mtodos de desarrollo de aplicaciones.

Desarrollo JAVA
Las aplicaciones Java se caracterizan por residir y correr dentro de los dispositivos mviles. Las aplicaciones para BlackBerry se escriben basadas en Java ME.

Existe la posibilidad de implementar aplicaciones Standalone, que no requieren de conexin a internet, y por lo contrario, contienen el contenido y lgica completos dentro de estas. Ademas, es posible desarrollar aplicaciones que soporten funciones wireless.

Desarrollo HTML5

En primer lugar, una aplicacin de BlackBerry WebWorks es una aplicacin independiente, lo que significa que no tiene que apuntar a un servidor remoto para cargar una pgina web o aplicacin (a menos que se requiera). En este caso, la aplicacin reside en el dispositivo BlackBerry. Bsicamente se trata de un conjunto de recursos que se encapsulan en un contenedor que puede ser visto por un "explorador sin cabeza" - el motor WebKit.

En segundo lugar, usted puede tomar ventaja de las tecnologas web estndar, como CSS, HTML5 y JavaScript para construir su aplicacin.

Tambin puede tomar ventaja de los populares frameworks para mviles, tales como Sencha, PhoneGap, jQuery, o Dojo. Esto permite crear aplicaciones ms rpido porque puede volver a utilizar las aplicaciones existentes y los recursos.

Lo ms importante es que se puede agregar funcionalidad nativa a una aplicacin HTML5 utilizando la plataforma BlackBerry WebWorks.

Se puede obtener acceso completo a la API de la plataforma a travs de wrappers de JavaScript, que puede utilizar para extender la aplicacin y tomar ventaja de las caractersticas especficas de BlackBerry (por ejemplo, BBM, PIM, los medios de comunicacin, hardware), ofreciendo una experiencia integrada para el usuario de BlackBerry .

Desarrollo en Adobe Air


Para desarrollar aplicaciones que corran en BlackBerry tablets, se puede utilizar BlackBerry Tablet OS SDK para Adobe Air, y junto con Adobe ActionScript y Adobe Flex se pueden crear experiencias cutivantes para el usuario.

El SDK provee APIs que extienden ActionScript 3.0 que permiten desarrollar aplicaciones que se asemejan a las desarrolladas para BlackBerry Tablets. Estas API proporcionan algunos de los componentes de interfaz de usuario nicos y skins predefinidos, as como de los listeners para los eventos que son especficos para el sistema operativo BlackBerry Tablet.

Usando la API de Flash, la aplicacin tambin puede acceder a las funciones que son exclusivas de los dispositivos mviles, tales como el acelermetro y la informacin de geolocalizacin.

Desarrollo en C++
BlackBerry Native SDK para Tablet OS es un conjunto de herramientas de desarrollo que le permite aprovechar el poder de la BlackBerry PlayBook.

Combinando la velocidad y estabilidad del sistema operativo en tiempo real QNX Neutrino con el entorno de desarrollo basado en Eclipse Momentics QNX, el SDK nativo est diseado para desarrolladores que necesitan tener acceso completo a todo lo que la BlackBerry PlayBook tiene para ofrecer.

El SDK nativo le proporciona un conjunto APIs de C y C++ que expone todas las herramientas necesarias para crear aplicaciones potentes y dinmicas.

Las capacidades incluyen:

API nativo del sistema para la pantalla, el navegador, ecualizador, el acelermetro, la red, etc

Un entorno de compilacin que le permite personalizar la configuracin del proyecto, del compilador y las opciones de deploy

Una manera de implementar sus aplicaciones a los dispositivos BlackBerry PlayBook reales o al simulador de PlayBook incluido

Un depurador integrado que le permite examinar cada lnea de cdigo, mientas es ejecutada

Documentacin, tutoriales y ejemplos de cdigo

Ventajas y desventajas de cada lenguaje


Smartphone HTML5 Complejidad del lenguaje Flexibilidad Utilizacin de estndares Rendimiento Conexin con dispositivos perifricos Integracin con Hardware del dispositivo Conexin a internet Almacenamiento local Acceso a informacin de posicionamiento Ejecucin de tareas en segundo plano Portabilidad Push Notifications Integracin con servicios Acceso a base de datos Escalabilidad Disponibilidad de ejemplos Integracin con otras tecnologas Bajo Baja Buena Bueno Si Si Opcional No Si Si Alta Si Muy simple Si (OS 5.0+) Baja Alta Limitado JAVA Alto Alta Baja Muy Bueno Si Si Opcional Si Si Si Baja Si Complejo Si Medio Media Medio HTML5 Bajo Baja Buena Bueno No No Opcional Si Si No Alta No Muy simple Si Baja Alta Limitado PlayBook Air Medio Media Buena Muy Bueno No Si Opcional Si Si No Baja No Simple Si Medio Media Medio C++ Muy Alto Muy Alta Aceptable Alto No Si Opcional Si Si Si No Muy Complejo Si Alta Baja Alto

Definiciones Complejidad del lenguaje


Define cun difcil o intuitivo es desarrollar una aplicacin en ese lenguaje, tomando en cuenta tanto la simpleza de la sintaxis como asi tambin el conocimiento requerido para realizar distintas tareas.

Flexibilidad
Determina cuan permisivo es el lenguaje para poder crear cualquier estilo, apariencia y funcionabilidad. Siendo altamente flexibles aquellos lenguajes que prcticamente no presentan lmites ni requisitos que determinen la apariencia y comportamiento, dejando as en manos de los desarrolladores y diseadores ambas cuestiones. Aun as, se recomienda seguir las buenas prcticas de programacin, estndares y consideraciones de diseo para evitar complicaciones y facilitar el uso.

Utilizacin de estndares
Determina cuan respetados son los estndares de programacin por parte del resto de la comunidad. Tomando en cuenta desde los que determinan como se escribe el cdigo (forma de nombrar clases, variables, mtodos, utilizacin de llaves y ubicacin de las mismas) hasta las que indican las mejores maneras de proceder para realizar determinadas procesos.

Rendimiento
Define que tan eficiente o efectivo es el cdigo producido, siendo la efectividad la capacidad de alcanzar el efecto deseado y la eficiencia la capacidad de alcanzar dicho efecto con la menor cantidad de recursos posibles. Aun as, el rendimiento est altamente ligado a la habilidad y conocimientos del programador, ya que a pesar de que C++ tiene una alta performance, si se codifica mal o bien no se tiene cuidado se puede generar cdigo mucho menos eficiente que el producido en otros lenguajes.

Conexin con dispositivos perifricos


Describe la posibilidad de integrar el uso de las caractersticas del dispositivo BlackBerry, tales como la Cmara de fotos y las funciones del Telfono. As mismo, es posible la integracin con aplicaciones nativas que se encuentren instaladas en el dispositivo, tales como la Agenda de contactos, el Media player y BlackBerry Maps.

Integracin con Hardware del dispositivo


Determina si las aplicaciones pueden comunicarse con los dispositivos que posean conectividad mediante Bluetooth, tales como Headsets, Impresoras, Dispositivos de entrada y Transmisores GPS.

Nota: En Air se puede utilizar las ANE (Adobe Native Extensions) y acceder a libreras compiladas con el NDK.

Conexin a internet
Significa que no requieren una conexin a internet para poder ejecutarse ni para obtener sus recursos.

Almacenamiento local
Define la capacidad del leguaje para acceder a los dispositivos de almacenamiento interno del dispositivo (memoria interna y memoria SD).

Nota: Si bien HTML5 no puede utilizar la memoria interna del dispositivo, se puede usar lo que se denomina Storage (Local storage, session storage y database storage).

Acceso a informacin de posicionamiento


Determina si es posible detectar la ubicacin del dispositivo BlackBerry y proporcionar informacin para esa ubicacin. Existen distintos mecanismos para lograrlo, difiriendo en la precisin final de la ubicacin conseguida y variando en el consumo de recursos para lograrlo.

Ejecucin de tareas en segundo plano


Posibilidad de implementar procesos que se ejecutan en segundo plano, escuchando eventos y/o actualizaciones. Esto permite a los usuarios ejecutar otras funciones mientras la aplicacin realiza tareas o ejecuta rutinas que requieran un indeterminado tiempo para finalizar.

Portabilidad
Define la facilidad para portar la aplicacin a otras plataformas, determinada por las modificaciones que se requieran. Muchas veces se requiere crear distintas versiones de la aplicacin orientadas a soportar las caractersticas propias de cada dispositivo.

Nota:Las aplicaciones desarrolladas en C++ no pueden ser portadas a smartphones, debido a que estos no soportan aplicaciones desarrolladas en este lenguaje.

Push notifications
Describe la posibilidad de recibir un request originado del lado del servidor. Cuando haya contenido nuevo, el servidor tiene la capacidad de empujar esta informacin a los dispositivos.

Integracin con servicios


Define la complejidad que presenta el lenguaje a la hora de interactuar con servicios web.

Nota:Tanto HTML5 como Air tienen una limitacin dada por same origin policy, en el caso de HTML5 esto se puede resolver utilizando JSONP y en Air se puede solucionar mediante el uso de un archivo de cross domain ubicado en el dominio.

Acceso a base de datos


Determina la capacidad de poder acceder y trabajar sobre la base de datos local.

Escalabilidad
Indica la capacidad de ampliacin o extensin de las aplicaciones sin perder calidad ni funcionabilidad.

Disponibilidad de ejemplos
Define la facilidad as como tambin la cantidad de ejemplos disponibles en internet.

Integracin con otras tecnologas


Describe la complejidad dada para realizar integraciones con distintas tecnologas como pueden ser realidad aumentada.

Transportes de red
Objetivos

El objetivo principal de este captulo es cubrir y explicar las diferentes formas que un dispositivo BlackBerry puede utilizar para conectarse a la red. Se explicarn las principales caractersticas y beneficios de cada mtodo y cundo y cmo utilizarlos.

Visin general de transportes de red


Los dispositivos BlackBerry pueden acceder a Internet de distintas maneras: - TCP Celular: Directamente va el Operador. - WAP: Directamente va el Operador usando WAP. - TCP WiFi: Directamente va redes WiFi. - BIS (o MDS pblico): Va el Operador, pero a travs del Gateway de Internet de RIM. - BES (o MDS): Va el Operador, pero a travs del Gateway empresarial de RIM. - WiFi: Va BIS o BES a travs de una red WiFi.

Tipos de acceso a internet

TCP Celular

- El transporte TCP celular crea una conexin a Internet a travs de la puerta de enlace de Internet de un Operador. Este mtodo crea el tipo ms directo de conexin que utiliza la radio celular. - La mayora de los Operadores configuran los dispositivos BlackBerry del usuario para usar la puerta de enlace de Internet del proveedor. Sin embargo, cuando el usuario se mueve a otra red, este debe configurar el dispositivo manualmente para usar el gateway de Internet en la red del host. - Si la aplicacin utiliza este transporte, debera probarlo con cada Operador. - Generalmente este transporte genera un costo adicional al usuario, ya que no est contemplado dentro del servicio de datos BlackBerry.

WAP

- El transporte WAP crea una conexin a travs de la puerta de enlace WAP del Operador. Se admiten WAP 1.0, 1.2 y 2.0. - Para soportar este transporte, el usuario o el Operador debe configurar los parmetros de conexin WAP en el dispositivo. Como resultado, este transporte puede que no se admitido en todas las redes inalmbricas o con todos los planes de datos. - Si la aplicacin utiliza este transporte, debera probarlo para cada Operador que puede utilizar la aplicacin. - Para utilizar WAP 2.0, debe recuperar el identificador de conexin del libro de servicio. - Generalmente este transporte genera un costo adicional al usuario, ya que no est contemplado dentro del servicio de datos BlackBerry.

TCP WiFi

- El transporte WiFi crea una conexin a Internet o a redes privadas, como las de una organizacin o un hogar. Cuando la radio WiFi est activada, el usuario del dispositivo BlackBerry o una aplicacin puede configurar el dispositivo para conectarse a Internet utilizando este transporte. - Si aplica, el dispositivo puede enviar automticamente datos a un BlackBerry Enterprise Server o BlackBerry Internet Service a travs de una conexin WiFi. Por ejemplo, si el dispositivo est conectado a una red WiFi y un perfil VPN est configurado para la organizacin del usuario, el dispositivo intenta conectarse al BlackBerry Enterprise Server a travs de la VPN mediante la conexin WiFi porque la transmisin de datos a travs de Wi-Fi es generalmente ms barata que otros transportes. Este comportamiento se conoce como el enrutamiento de menor costo.

Servicio de internet de BlackBerry (MDS pblico)

- El transporte BlackBerry Internet Service crea una conexin a Internet a travs de la infraestructura de BlackBerry. Los datos que se envan y reciben utilizando este transporte son comprimidos y optimizados para la transmisin en conexiones inalmbricas. - Las aplicaciones que utilizan el transporte BlackBerry Internet Service automticamente se benefician por el enrutamiento de menor costo. El dispositivo se conecta a una red WiFi automticamente, si est disponible.

Servicio empresarial BlackBerry (MDS)

- El transporte de BlackBerry MDS permite a un dispositivo BlackBerry conectarse a su asociado BlackBerry Enterprise Server a travs de la infraestructura de BlackBerry o utilizando una conexin WiFi. - Los datos que se envan y reciben utilizando este transporte son comprimidos y optimizados para la transmisin en conexiones inalmbricas. - Es posible acceder a destinos privados dentro de la red corporativa.

Tecnologa PUSH
Objetivos
El objetivo principal de este captulo es definir la tecnologa Push y describir sus beneficios. Se describir cmo funcionan las aplicaciones push server-side y se proporcionarn ejemplos de usos en aplicaciones BlackBerry.

Introduccin a la tecnologa PUSH


Las aplicaciones Push envan el contenido web u otros datos a los dispositivos BlackBerry sin necesidad de intervencin del usuario. Estas aplicaciones proporcionan automticamente la informacin tan pronto como est disponible en el lado del servidor, por eso se denomina informacin empujada.

El paradigma PUSH

Una de las caractersticas principales de la solucin BlackBerry es la tecnologa PUSH. El principal objetivo a cumplir es entregar los datos de forma proactiva, haciendo que estos se encuentren listos en el dispositivo cuando el usuario los necesita. Para ello, los datos se entregan tan pronto como estn disponibles, por ejemplo cuando se produjo un evento de inters en el servidor. Las aplicaciones estn siempre escuchando la llegada de datos sin necesidad de que el usuario intervenga para recibirlos. Este se entera de la llegada de nueva informacin mediante una alerta (reproducir una meloda, vibrar, parpadear, ventana emergente, icono) cuando han sido entregados todos los datos, procesados y listos para ver, provocando la apariencia de cero latencia. La aplicacin no se encuentra solicitando actualizaciones constantemente, sino que simplemente espera a que esta llegue por medio de una solicitud del servidor. La experiencia del usuario es que el evento acaba de ocurrir, automticamente, en tiempo real y de forma fiable.

Beneficios
Los beneficios principales de la implementacin de aplicaciones que utilizan la tecnologa PUSH son: - Instantaneidad El usuario recibe la informacin en el momento que se produce el evento o actualizacin. - Eficiencia La informacin solo se enva cuando est disponible, evitando que el cliente este solicitando actualizaciones constantemente. - Latencia reducida Se reduce el impacto en la red debido a que la aplicacin no se encuentra todo el tiempo solicitando informacin. - Duracin de batera prolongada El hecho de no estar constante e innecesariamente solicitando actualizaciones tiene un impacto positivo en la duracin de la batera. La informacin es recibida y procesada solo cuando est disponible y el usuario no se preocupa por solicitar actualizaciones.

Flujo bsico

1. Proveedor de contenido enva la peticin Push 2. Servicio BlackBerry devuelve respuesta, declarando la aceptacin o rechazo del mensaje 3. Servicio BlackBerry empuja los datos a los dispositivos asignados en el puerto especifico 4. Dispositivo devuelve respuesta al servicio BlackBerry 6. Proveedor de contenidos devuelve notificacin de lectura al servicio BlackBerry

Cursar el proximo berry:

También podría gustarte