Muchas veces nos preguntamos qué se requiere para poder desarrollar una app en Android si será fácil o difícil. Una forma fácil de responder esas dudas, es seguir los artículos que está incluyendo Intel en su zona para desarrolladores, ya que antes de empezar con la parte práctica, es necesario tener la teoría. Cuando se es nuevo en este aspecto, se requiere un lugar donde nos indiquen las fuentes en dónde se puede consultar más información. Si tu deseo es crear una app, hay cinco pasos para poder hacerlo, siguiendo por el desarrollo nativo y HTML5 a través de Intel XDK, hasta llegar a los servicios de testing en el cloud.
1. Introducción a Android SDK y configuración del entorno
Para comenzar a desarrollar en Android es necesario tener un conocimiento básico del Android SDK. Sigue las instrucciones de los siguientes links para configurar el entorno de desarrollo de acuerdo al IDE que utilizas y comienza a desarrollar aplicaciones Android.
https://software.intel.com/es-es/android/articles/intel-for-android-developers-learning-series-1-introducing-android-on-intel-processors
https://software.intel.com/es-es/android/articles/intel-for-android-developers-learning-series-5-installing-the-android-sdk-for-intel
https://software.intel.com/en-us/android/articles/intel-for-android-developers-learning-series-4-android-tablet-sensors
2. Introducción al desarrollo nativo
El desarrollo nativo en Android permite expandir las características de una aplicación Android hasta tomar ventaja de la plataforma y el hardware. Escenarios en los cuales el desempeño y el uso crítico de recursos hardware como CPU y GPU son importantes, por ejemplo juegos y aplicaciones real time, son ideales para extender la aplicación Android con capacidades nativas. Native Development Kit (NDK) es el conjuto de herramientas y scripts de building que permite a los desarrolladores crear aplicaciones para las arquitecturas de procesador existentes y añadir capacidades nativas a la aplicación. Java Native Interface (JNI) es un componente clave para el desarrollo nativo, que permite a código java corriendo en una instancia de la Virtual Machine, comunicarse y ejecutar de forma bidireccional, funciones nativas expuestas a través de librerías nativas.
https://software.intel.com/en-us/android/articles/intel-for-android-developers-learning-series-7-creating-and-porting-ndk-based-android
3 . Migración y optimización para la Arquitectura x86
Desarrollar aplicaciones Android NDK requiere del conocimiento de las arquitecturas existentes en el mercado. Actualmente predominan las arquitecturas Intel x86 y ARM, con un conjunto de Best Known Methods para aplicar y así lograr dar soporte a ambas arquitecturas, junto con la compatibilidad de frameworks y motores de juegos.
El siguiente paso en el desarrollo nativo consiste en optimizar para las arquitecturas target a partir de las distintas técnicas de optimización. Optimización por flags del compilador y asistencia de tools de desarrollo son ejemplos de algunas técnicas.
https://software.intel.com/es-es/articles/optimizaci-n-de-aplicaciones-android-para-arquitectura-x86
https://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks
https://software.intel.com/en-us/android/articles/intel-for-android-developers-learning-series-7-creating-and-porting-ndk-based-android
4. Aplicaciones HTML5 Híbridas con Intel XDK
Las aplicaciones HTML5 híbridas combinan lo mejor de las tecnologías web y nativas. Para su desarrollo presentamos a Intel XDK, un IDE para desarrollo de aplicaciones web y HTML5 híbridas que cubre el workflow de desarrollo, debugging, testing y building. Las aplicaciones desarrolladas acceden a las capacidades nativas a través del framework Apache Cordova y, tienen la capacidad de explotar las útlimas features de Chromium y WebKit a través del runtime Crosswalk. Por ejemplo, es posible ejecutar instrucciones SIMD desde JavaScript a través de la librería SIMD.JS con Crosswalk como runtime.
https://software.intel.com/en-us/html5/tools
https://crosswalk-project.org/
5. Estrategias de testing
La fragmentación de Android, desde el sistema operativo y el conjunto de APIs hasta la amplia gama de dispositivos con diferentes configuraciones de hardware, hace que testear una aplicacion Android sea un desafío. Las estrategias de testing van desde emuladores basados en aceleración por Hardware como Intel HAXM hasta servicios de Cloud-Testing como AppThwack. Cada una de estas estrategias pueden ser aplicadas en conjunto y son útiles en distintas etapas del proceso de desarrollo.
https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager
https://software.intel.com/en-us/android/articles/services-to-test-your-android-apps-on-intel-devices
Extraído de Zona para desarrolladores Intel