Genymotion, el emulador más rápido de Android Genymotion es un emulador de Android que aprovecha la arquitectura x86 para ejecutar de forma fluida y rápida distintos dispositivos Android. Olvidando la lentitud del emulador nativo de Android podemos ejecutar todo tipo de aplicaciones y juegos en nuestro Windows, Mac o Linux. Uno de los principales usos de Genymotion es facilitar el desarrollo de aplicaciones Android. Casi más de 900.000 usuarios registrados usan sus maquinas virtuales para crear aplicaciones usando Eclipse o intelliJ. Se integran perfectamente con el adb, línea de comandos y los diferentes entorno de desarrollo. Podemos lanzar en apenas un par de segundos las aplicaciones conectadas al ADT desde el IDE para testearla. Mucho tiempo ahorrado. Genymotion está basado en el uso de máquinas virtuales x86 optimizadas para correr sobre Virtualbox. A muchos les sonarán proyectos similares, pero la gente de Genymotion ha conseguido crear una interfaz simple capaz de soportar distintas funcionalidades accesibles a cualquier usuario, sin olvidar a los desarrolladores (su principal target y modelo de negocio). Al descargar Genymotion podemos instalar, en apenas un par de clicks, cualquiera de las máquinas virtuales que emulan dispositivos como Nexus 4, Nexus 5, Nexus 7, Galaxy Nexus, HTC One, Moto X, Galaxy S4, Xperia Z, etc… para distintas configuraciones de Android 2.3, 4.1, 4.2, 4.3 y 4.4 , además de diferentes resoluciones de pantalla. El número de máquinass va aumentando según se van creando configuraciones personalizadas. (Ver video) Entre todas de las características que aporta el emulador de Genymotion se encuentran el uso de nuestra conexión a internet, la simulación ubicaciones GPS con el widgets que facilita la búsqueda y el posicionamiento sobre un mapa, simulación de la cámara, estado de la batería, rotación del dispositivo, etc.. También ofrecen cuentas premium que incluyen el control remoto táctil desde otro dispositivo, Pixel perfect para diseñar tal cual se vería en el dispositivo o la grabación de screencast desde la interfaz. Por problemas de licencia, Genymotion no incluyen por defecto la aplicaciones de Google, aunque está trabajando para conseguir un acuerdo de Google. Aunque no hay problema, ya que Genymotion permite instalar cualquier apk o zip arrastrando sobre el emulador el archivo. Así que podemos echar un vistazo a los zip de Google Apps de rooztwiki e instalar el compatible con nuestro dispositivo. Perfecto. www.asociacionaepi.es ¿Cómo es Azure, la nueva estrella dentro de Microsoft? El artículo de AEPI de hoy lo dedicamos a Azure. Esta plataforma es probablemente el producto más importante de Microsoft en la última década. Parte del éxito ha sido el enfoque casi obsesivo de que todo estuviera en la nube: servicios para desarrolladores, productos para usuarios y, sorprendentemente, su propia arquitectura interna. Meterse en un mercado saturado (en cuota) por actores importantes como Amazon o Google es complicado pero, como ha demostrado, hay muchos servicios aún por explotar con un tremendo potencial: la computación en la nube móvil, por ejemplo. Microsoft se lanzó para subirse casi apurando el último tren que grandes corporaciones como IBM o Oracle han perdido definitivamente en la nube, al menos sin alianzas estratégicas. ¿Lo podría haber hecho antes? Quizás, sí, pero ha sabido aprovechar lo que tenia y girar completamente la compañía hacia los servicios en la nube. Azure es la nueva estrella dentro de Microsoft. Microsoft se define actualmente como una empresa de servicios y dispositivos, algo que se aleja del planteamiento que siempre ha tenido y le hizo líder del sector. No lo decimos nosotros, sino que ya en la salida de Ballmer de la empresa se insistió bastante en el tema. La elección del nuevo CEO, Satya Nadella, hasta ahora presidente de la división de Servidores y Herramientas de Negocio lo deja más claro. Bajo el mandato de Satya Nadella dicha división con Azure se convirtió en clave tanto en el desarrollo de negocio como en uno de los pilares más sólidos de la rentabilidad presente y futura de la compañía. ¿Abandonar su enfoque en productos de consumo y centrarse en servicios para empresas? ¿Qué supone Azure para Microsoft? Microsoft ha apostado fuertemente en los servicios en la nube de Azure, incluida su infraestructura interna. Por este motivo, los esfuerzos de Microsoft le han llevado a desplegar todo tipo de posibilidad, tanto IaaS, PaaS o SaaS. Lo que lo convierte en un potente competidor en el mercado de los servicios en la nube en el más amplio sentido: potenciales desarrolladores de backend hasta usuario que utilizan sus aplicaciones de forma totalmente online. Una gran parte de su infraestructura interna se está migrado a Azure. Por ejemplo, Skype ya funciona únicamente con Azure, SkyDrive (renombrado a OneDrive) está en proceso de migración de todo el espacio de almacenamiento, parte de la infraestructura online de Xbox Live y Xbox One también se basa en Azure (incluyendo todo el juego online de Halo 4). Aunque Office 365 no es estrictamente un producto SaaS (Software como Servicio), incluye servicios en la nube como Office Web Apps o Enchange Online que vende bajo un sistema de suscripción. Además, pasamos de la nube centrada a desarrolladores un conjunto completo de soluciones para usuarios. La evolución de Azure y su mejora continua (incluyendo productos fuera del ecosistema Microsoft) Microsoft hizo una primera aproximación a lo que conocemos ahora mismo como Azure en su conferencia de desarrolladores, PDC 2008 (el futuro Build). Era la primera incursión en el cloud computing cuando Amazon ya estaban más o menos asentada con dos servicios pilares en sus arquitectura Amazon S3 para almacenamiento y Amazon EC2 para maquinas virtuales. En enero de 2010 se abrió para todos los desarrolladores centrándose en un modelo de Plataforma como servicio (PaaS) con una oferta muy limitada. Mensualmente ha ido ampliando servicios y diversidad, con la mirada puesta en sus competidores. Ahora ya contamos con una oferta madura que incluye tanto Paas, como servicios IaaS (infraestructura como servicio) o enfocada para usuarios menos developers, el conocido SaaS (Software como servicio) que muchos ignora como servicio en la nube pero cada vez es más habitual. Repasando brevemente los productos que ofrece IaaS: servicios orientados a que el usuario tenga el control total de la infraestructura virtual. Aquí incluimos todo lo relacionado con servidores (maquinas virtuales) donde escoger sistema operativo (Windows Server, Linux, Oracle, Open Logic, etc..), número de núcleos de procesamiento, tamaño de la RAM o discos virtuales. Azure cuenta con una larga lista de maquinas virtuales ya creadas en la galería, tanto servidores de Sharepoint, de desarrollo con Visual Studio y la mayoría de server Entreprise de la distribuciones de Linux en Ubunti, CentOS u Oracle. Como véis no todo es Windows, muy buen punto a su favor. PaaS: en este nivel nos encontramos una plataforma ya creada que Azure gestiona por nosotros, escalando y desplegando según las necesidades de nuestras aplicaciones. Así, ojo, nos encontramos con sorpresa como que podemos instalar un WordPress en Azure o cualquier CMS (Drupal, Joomla, etc..) y frameworks (Django, CakePHP, etc..). Choca con la idea esperada de un ecosistema cerrado de Microsoft basado en .Net, ASP o SQL Server. Alejado de la realidad SaaS: servicios donde la infraestructura y la plataforma están ocultas bajo una capa de abstracción. El cliente consume directamente las aplicaciones en formato servicios. Aquí nos encontramos una tremenda base de datos en la nube SQL Azure, servicios de Big Data como Hadoop o suyo propio como HDInsight integrado con LINQ y Hive, Biztalk como servicio de comunicaciones, servicios de Directorio Activo o los Service Bus para difundir material audiovisual. Atrayendo desarrolladores fuera del habitual ecosistema Microsoft Los desarrolladores de tecnologías Microsoft tienen claro que el futuro está en la nube, todas las herramientas de programación están cada vez más enfocadas a desplegar servicios y aplicaciones en Azure. Y algo sorprendente para los programadores anti-Microsoft que empiezan a usar esos servicios como backend de sus aplicaciones, a pesar de no picar ni una línea de código con lenguajes o frameworks de Microsoft. Uno de los aciertos de la plataforma Azure ha sido acercarse a desarrolladores alejados del ecosistema Microsoft. El grupo más numeroso actualmente con poder en cuanto a la demanda de servicios y generación de dinero son los programadores de aplicaciones móviles. Buscan un backend para sus aplicaciones con un sólido MBaaS, el término cada vez más de moda, Mobile Backend como Servicio. Un programador de apps móviles está enfocado en el desarrollo de su aplicación móvil, no en crear un completo backend para sustentarla. No tienen ni el conocimiento ni el tiempo para implementarlo. La nube de Microsoft, Azure, ha sabido ofrecer justo lo que ellos necesitaban con una interfaz clara y concisa para ser ágiles en desplegar los componente necesarios. En movilidad han dispuesto un escenario completo: llegan a cualquier usuario sin importar la plataforma (Windows, Android o iOS). Los servicios más demandados son las notificaciones Push, en ese sentido el más fuerte es Parse (propiedad, ojo, de Facebook), pero Azure ha sabido ofrecer justo lo necesario y hacerlo bonito. También ha sido abierta a la hora de convertir aplicaciones que no suyas en sociales usando redes de terceros como Facebook, Google o Twitter. Y, por último, conectar los sistemas locales de las empresas como SAP, Oracle y Active Directory con los móviles, tarea nada sencilla que sólo un gigante empresarial como Microsoft puede llevar a cabo sin marear los gerentes de tecnología. Amazon es un rival duro La evolución de Azure en el mercado de los proveedores en la nube ha sido mejor de lo esperado.Según el informe que consultemos le encontramos en el segundo o tercer puesto, siempre detrás de Amazon AWS. El puesto de liderato que siempre ha ocupado Microsoft es más modesto en este caso, aún así planta cara con una infraestructura en la nube sólida que a otros actores importantes, no sólo el tema de la nube sino empresarial, como es Google (no demasiado maduro) o IBM (el clásico que ha perdido fuelle en el negocio Entreprise). El gran rival a batir es Amazon, aunque juega en muchas ligas con innumerables servicios. Azure está lejos de tener un stack tan completo, pero aun así mantiene el tradicional negocio y licenciamiento que fuerza a migrar a las empresas a la nube para seguir funcionando. Ningún gerente se quiere meter en una reestructuración bestia de su arquitectura, pero Microsoft juega en su terreno así que tiene la carta de ofrecer un proyecto conservador pero translado en la nube. Perfecto. El constante ajuste de precio por tiempo de procesamiento y procesamiento. Un mercado muy competitivo con un actor especialmente agresivo. Amazon ha forzado en continuas ocasiones una rebaja de los precios jugando con su siempre discutible política de bajos márgenes. Por su parte Microsoft ha lanzado numerosas campañas de marketing comparando la relación de calidad-precio, sacando pecho de que más del 53% de las compañías de la lista Forbes 500 utilizan Windows Azure. El informe Nasuni juega a su favor con unos excelentes resultados de rendimiento, escalabilidad y estabilidad frente a Amazon S3 y EC2. Puntos a tener en cuenta en el futuro Debe enfocarse en su comunidad propia de desarrolladores. Aunque ha logrado atraer a programadores que estaban alejados del ecosistema Microsoft, Azure no ha penetrado totalmente entre la comunidad .Net existente, la cual ha visto desde hace tiempo alternativas en Amazon AWS. Son bienvenidos los nuevos desarrolladores pero los que apostaron desde el principio parecen relegados a ciudadanos de segunda. Aunque es un servicio cómodo para el desarrollador le queda pendiente innovar centrando sus esfuerzos en convertirse en una plataforma de servicios (PaaS) más que como un proveedor de infraestructuras (IaaS), donde sigue alejado del líder. Anclado durante años en la venta de licencias ha firmado acuerdos estratégicos con socios como Oracle que pueden hacer funcionar sus productos licenciados en la nube de Azure, sólo aplicando el coste del servidor Windows Server VM necesario. DDMS (Dalvik Debug Monitor Service) Siguiendo con la linea de articulos sobre Android y su entorno de desarrollo, las cuales os resumo aqui: http://www.asociacionaepi.es/?p=645 http://www.asociacionaepi.es/?p=658 http://www.asociacionaepi.es/?p=661 El DDMS (Dalvik Debug Monitor Service) es una utilidad de depuración integrada en Eclipse. Accederemos a él desde la parte derecha de la botonera como una nueva perspectiva, aunque también se puede lanzar de forma independiente de Eclipse desde la carpeta donde tengamos instalado el SDK en la subcarpeta tools (ddms.bat) Consta de cinco partes funcionales: Manejo de Tareas (1): Veremos los emuladores y teléfonos que tengamos conectados y sus instancias. Manejo de Archivos (2) Interacción con el emulador (3) Sistemas de Log (4) Capturas de Pantalla (5) Pestaña Threads Desde esta pestaña podemos ver los procesos e hilos de ejecución de las instancias individuales del dispositivo o emulador. Para ello seleccionamos el proceso que queramos inspeccionar (1) y pulsamos el botón ‘Update Threats‘ (2) Pestaña Heap Sirve para ver la pila y las actualizaciones que se vayan haciendo en ella. Si lanzamos un proceso de recolección de basura podemos ver como cambia. Para ello con el proceso seleccionado (1), pulsamos el botón ‘Update Heap‘ (2) Detener un proceso Para tal cometido no hay más que seleccionar el proceso y pulsar el botón ‘Stop Process‘ Depurar un proceso Elegimos el proceso y pulsamos sobre el botón ‘Debug‘. Hay que tener abierto el código fuente de alguna aplicación. Esta funcionalidad sólo esta disponible desde Eclipse, no pudiéndose llevar a cabo en la ejecución independiente del DDMS. Pestaña File Explorer Además de navegar por los archivos de nuestro emulador o dispositivo conectado, nos permite transferir archivos entre el dispositivo y nuestra máquina de desarrollo. Para recibir archivos desde el dispositivo usaremos el botón ‘Pull a file from the device‘ (1) y para mandarlos el botón ‘Push a file onto the device‘ (2). Al pulsarlos se nos abrirá el explorador de archivos. También podemos añadir nevas carpetas con el botón ‘New Folder‘ (3) o borrar archivos con el botón ‘Delete the selection‘ (4) o pulsando la tecla [suprimir] en el teclado. En el caso del borrado NO nos pedirá confirmación, así que cuidadito… Emulator Control Nos permite interactuar con los emuladores enviando distintos tipos de eventos como llamadas, mensajes SMS o coordenadas de localización. Sólo funciona para emuladores, para teléfonos debe hacerse de forma real con su coste incluido. Simular un llamada de voz o un SMS Escogemos el simulador (1) Introducimos el número de teléfono desde el que llamamos (2) Nos aseguramos de tener marcado ‘voice’ Pulsamos ‘Call‘ (3) Veremos como entra la llamada en nuestro emulador, desde el cual podremos contestar y colgar. También podemos colgar desde el ‘Emulador Control’ pulsando sobre el botón ‘Hang Up’ Lo mismo haríamos para enviar un SMS, en vez de ‘Voice’ seleccionaríamos SMS y escribiríamos el mensaje y posteriormente pulsaríamos el botón ‘Send’ Si en el SMS ponemos tildes o ‘ñ’ conoceremos el verdadero significado de la frase ‘me crecen los enanos’. También podemos ver los mensajes dando a la opción ‘Menu‘ en el emulador y luego a ‘Notifications‘ Screen Capture Nos permite capturar un ‘pantallazo’ de nuestro emulador o dispositivo conectado (especialmente útil para este último caso). Para ello una vez estemos sobre la pantalla que queremos capturar pulsaremos sobre el icono de ‘Screen Capture‘ y podremos Rotar la imagen (1), guardarla en disco (2), hacer un copy para pegarla en un documento (3) y salir con el botón ‘Done‘ (4). Consola de Logs Pestaña LogCat Es una salida del diagnóstico de funcionamiento de las aplicaciones. Permite filtrar los logs según su importancia y crear filtros de logs personalizados usando etiquetas. www.asociacionaepi.es