Herramientas de desarrollo de android

11
HERRAMIENTAS DE DESARROLLO PARA DISPOSITIVOS MÓVILES DESARROLLO DE APLICACIONES MÓVILES ING. RENÉ DOMÍNGUEZ ESCALONA SISTEMA DUAL PRESENTA: Valdivia Luna Joely Jaqueline GRUPO: 2817IS INGENIERÍA EN SOFTWARE

Transcript of Herramientas de desarrollo de android

Page 1: Herramientas de desarrollo de android

HERRAMIENTAS DE DESARROLLOPARA DISPOSITIVOS MÓVILES

DESARROLLO DE APLICACIONES MÓVILES

ING. RENÉ DOMÍNGUEZ ESCALONA

SISTEMA DUAL

PRESENTA:Valdivia Luna Joely Jaqueline

GRUPO: 2817IS INGENIERÍA EN SOFTWARE

Page 2: Herramientas de desarrollo de android

INTRODUCCIÓN

El conocimiento de programación de aplicaciones para móviles ha pasado de

manera muy rápida de ser un conocimiento más, a ser una necesitad debido a la

rápida implantación y evolución de las plataformas móviles.

Esta rápida evolución crea incertidumbre sobre que tecnologías son las más

adecuadas para la programación de móviles. Una de las arquitecturas más

implantada es la proporcionada por el sistema Android.

El mercado de las aplicaciones para móviles ha cambiado de una forma radical en

los últimos dos años. Al principio, para publicar aplicaciones móviles tenías que

disponer del apoyo de una operadora o de una gran firma de juegos, pero con la

aparición de los markets de aplicaciones, esto ha cambiado y cualquier persona

puede publicar su app y empezar a ganar dinero.

En el presente documento, se darán a conocer algunas herramientas de desarrollo para dispositivos móviles.

Page 3: Herramientas de desarrollo de android

ANDROID STUDIO

Android Studio es un entorno de desarrollo integrado (IDE), basado en IntelliJ IDEA de la compañía JetBrains,  que proporciona varias mejoras con respecto al plugin ADT (Android Developer Tools) para Eclipse. Android Studio utiliza una licencia de software libre Apache 2.0, está programado en Java y es multiplataforma.

Es lo menos que se debe tener instalado para comenzar el desarrollo de una aplicación para Android. Android Studio es el entorno de desarrollo para Android de Google, se trata del sustituto de Eclipse como entorno de desarrollo oficial y viene con todas las bibliotecas y herramientas para crear la aplicación de forma correcta de principio a fin.

Disponible para todas las plataformas (Linux, Windows, Mac OS…) en su descarga incluirá un sistema Android emulado para poder probar el proyecto en desarrollo y ver el resultado en cualquier momento.

CARÁCTERÍSTICAS:

Soporte para programar aplicaciones para Android Wear (sistema operativo para dispositivos corporales como por ejemplo un reloj).

Herramientas Lint (detecta código no compatible entre arquitecturas diferentes o código confuso que no es capaz de controlar el compilador) para detectar problemas de rendimiento, usabilidad y compatibilidad de versiones.

Utiliza ProGuard para optimizar y reducir el código del proyecto al exportar a APK (muy útil para dispositivos de gama baja con limitaciones de memoria interna).

Integración de la herramienta Gradle encargada de gestionar y automatizar la construcción de proyectos, como pueden ser las tareas de testing, compilación o empaquetado.

Nuevo diseño del editor con soporte para la edición de temas. Nueva interfaz específica para el desarrollo en Android. Permite la importación de proyectos realizados en el entorno Eclipse, que a

diferencia de Android Studio (Gradle) utiliza ANT. Posibilita el control de versiones accediendo a un repositorio desde el que poder

descargar Mercurial, Git, Github o Subversion. Alertas en tiempo real de errores sintácticos, compatibilidad o rendimiento antes

de compilar la aplicación. Vista previa en diferentes dispositivos y resoluciones.

Page 4: Herramientas de desarrollo de android

Integración con Google Cloud Platform, para el acceso a los diferentes servicios que proporciona Google en la nube.

Editor de diseño que muestra una vista previa de los cambios realizados directamente en el archivo xml.

VENTAJAS DE USO DE ANDROID STUDIO

Android Studio ha pasado a ser el entorno recomendado para el desarrollo de aplicaciones en Android, al tratarse de un IDE oficial de Google en colaboración con JetBrains (compañía de desarrollo software especializada en diseño de IDEs).

Android Studio permite la creación de nuevos módulos dentro de un mismo proyecto, sin necesidad de estar cambiando de espacio de trabajo para el manejo de proyectos, algo habitual en Eclipse.

Con la simple descarga de Android Studio se disponen de todas las herramientas necesarias para el desarrollo de aplicaciones para la plataforma Android.

Su nueva forma de construir los paquetes .apk, mediante el uso de Gradle, proporciona una serie de ventajas más acorde a un proyecto Java:

Facilita la distribución de código, y por lo tanto el trabajo en equipo. Reutilización de código y recursos. Permite compilar desde línea de comandos, para aquellas situaciones en las

que no esté disponible un entorno de desarrollo. Mayor facilidad para la creación de diferentes versiones de la misma

aplicación, que proporciona numerosas ventajas como puede ser la creación de una versión de pago y otra gratuita, o por ejemplo diferentes dispositivos o almacén de datos.

Page 5: Herramientas de desarrollo de android

TITANIUM SDK

Si por la razón que sea eres reticente a usar la programación nativa en Java (aunque sea la que mejor se adapta al sistema operativo de los de Google), Titanium permite la usabilidad de HTML, PHP, JavaScript, Ruby o Python, pudiendo desarrollar aplicaciones para múltiples plataformas simultáneamente. Es decir, basándonos en el mismo código, podemos exportar nuestra app para que pueda ejecutarse en iOS, Android, Windows o BlackBerry.

Ha sido usada en infinidad de empresas que prefieren ahorrar costes sacrificando el rendimiento de sus aplicaciones y limitando al programador a una sola aplicación que se encargue de portar el proyecto a las diferentes plataformas existentes.

CARACTERÍSTICAS

Soporta el desarrollo de aplicaciones móviles multiplataforma Con una sola base de código, pueden producir aplicaciones móviles Web,

Android y iOS Se desarrolla utilizando un lenguaje basado en JavaScript en un entorno de

desarrollo integrado basado en Eclipse (Aptana Studio) Aumenta en más de un 70 % la productividad al escribir aplicaciones Permite utilizar la experiencia de los desarrolladores en tecnologías y

estándares Web Extensibilidad ilimitada del propio framework Titanium añadiendo nuevos

módulos Permite crear experiencias de usuario atractivas utilizando servicios en la

nube tales como las notificaciones PUSH y los check-ins Está muy bien documentado Tiene una gran comunidad de desarrolladores que intercambian ideas,

consejos y ejemplos

Page 6: Herramientas de desarrollo de android

GENYMOTION

El emulador de Android por defecto, a pesar de ser distribuido por los chicos de Google, en las pruebas ha resultado bastante lento y cuenta con multitud de errores. Genymotion soluciona esto de forma más que eficiente, proporcionándonos un emulador de Android increíblemente rápido y estable, que ofrece herramientas más allá de la emulación.

Pone a nuestra disposición más de diez dispositivos virtuales en los que poder probar nuestro proyecto a través de las diferentes plataformas existentes. Además nos ofrece sensores de movimiento o diferentes tamaños de pantalla sobre los que probar las aplicaciones de la forma más profesional posible, evitando así conflictos una vez se lance la aplicación al Market. Es la principal solución si vemos que el emulador por defecto de Android se nos empieza a quedar corto.

CARACTERÍSTICAS

Está disponible en inglés y francés. Cuenta con instaladores para múltiples sistemas operativos. Las dependencias de VirtualBox en Windows se pueden instalar con un clic. Viene con un plugin para Eclipse y Android Studio para realizar las diferentes

pruebas en conjunto con tales editores de código. El móvil virtualizado cuenta con sensores para la cámara, el WiFi y el GPS.

Son los mismos del PC. Cuenta con modo de pantalla completa y la opción de poner el móvil en modo

horizontal. La carga de la batería se puede determinar para realizar pruebas específicas. Se puede conectar un dispositivo touch (otro móvil, p.e.) para testear

el touch de las aplicaciones. No cuenta con las Google Apps por cuestiones legales, pero se pueden

instalar desde otras fuentes.

Tiene una magnífica función para arrastrar y soltar, desde el equipo y hasta el móvil virtualizado, cualquier fichero multimedia (irá inmediatamente a la carpeta de Descargas del móvil) o aplicaciones en formato APK.

Dispone de aceleración de hardware OpenGL para mejores resultados con el 3D.

Usa la arquitectura x86 para la virtualización.

Page 7: Herramientas de desarrollo de android

Permite instalar ROMs diferentes a la de oficial, por ejemplo, Cyanogenmod. En sus versiones de pago permite realizar screencasts y dar zoom para

escalar los pixeles del móvil a los del PC. Los dispositivos creados se pueden configurar desde el panel de VirtualBox

RHOMOBILE

Herramienta muy similar a Titanium que nos permitirá aplicar un desarrollo para exportarlo hacia las diferentes plataformas del mercado. Todo esto sin ser programadores Java nivel Legendario ya que permite la programación en HTML5, CSS, JavaScript o Ruby.

Lo que diferencia a Rhonmobile de Titanium, es que ésta se centra en el cliente empresarial más que en el desarrollador particular, agilizando enormemente el proceso de creación de una app para nuestra empresa y portándola de forma muy eficiente a los diferentes sistemas operativos móviles existentes. La suite básica es gratuita y ofrecerá los recursos suficientes para una aplicación sencilla; pero si lo que queremos es algo más completo, deberemos irnos a las versiones Silver y Gold (299$ y 999$ al mes, respectivamente), donde encontraremos funciones de sincronización entre dispositivos, librerías para cloud-app’s, plugins para Visual Studio,

UBERTESTERSi queremos que nuestro proyecto sea probado a conciencia por multitud de personas antes de soltarlo en el mercado al que lo estemos orientando, estamos ante el servicio ideal. Ubertester nos ofrece probadores que testearan nuestras apps en diferentes dispositivos y nos dejarán reportes de incidencias, sugerencias, consultas, según les vayan surgiendo.

Podremos gestionarlo todo desde un panel de administración, así como realizar corrección de errores en la aplicación mientras revisamos las incidencias. Una de las características más llamativas de Ubertester, es que nos permitirá enviar actualizaciones vía OTA (Over The Air) a los testers que se nos hayan asignado, recibiendo así una retroalimentación y respuesta a los cambios casi inmediata.

ECLIPSE

Page 8: Herramientas de desarrollo de android

Eclipse es una plataforma de desarrollo, diseñada para ser extendida de forma indefinida a través de plug-ins. Fue concebida desde sus orígenes para convertirse en una plataforma de integración de herramientas de desarrollo. No tiene en mente un lenguaje específico, sino que es un IDE genérico, aunque goza de mucha popularidad entre la comunidad de desarrolladores del lenguaje Java usando el plug-in JDT que viene incluido en la distribución estándar del IDE.

Proporciona herramientas para la gestión de espacios de trabajo, escribir, desplegar, ejecutar y depurar aplicaciones.

Perspectivas, editores y vistas: en Eclipse el concepto de trabajo está basado en las perspectivas, que no es otra cosa que una preconfiguración de ventanas y editores, relacionadas entre sí, y que nos permiten trabajar en un determinado entorno de trabajo de forma óptima.

Gestión de proyectos: el desarrollo sobre Eclipse se basa en los proyectos, que son el conjunto de recursos relacionados entre sí, como puede ser el código fuente, documentación, ficheros configuración, árbol de directorios,... El IDE nos proporcionará asistentes y ayudas para la creación de proyectos. Por ejemplo, cuando creamos uno, se abre la perspectiva adecuada al tipo de proyecto que estemos creando, con la colección de vistas, editores y ventanas preconfigurada por defecto.

Depurador de código: se incluye un potente depurador, de uso fácil e intuitivo, y que visualmente nos ayuda a mejorar nuestro código. Para ello sólo debemos ejecutar el programa en modo depuración (con un simple botón). De nuevo, tenemos una perspectiva específica para la depuración de código, la perspectiva depuración, donde se muestra de forma ordenada toda la información necesaria para realizar dicha tarea.

Extensa colección de plug-ins: están disponibles en una gran cantidad, unos publicados por Eclipse, otros por terceros. Al haber sido un estándar de facto durante tanto tiempo (no el único estándar, pero sí uno de ellos), la colección disponible es muy grande. Los hay gratuitos, de pago, bajo distintas licencias, pero casi para cualquier cosa que nos imaginemos tenemos el plug-in adecuado.