Genymotion, el emulador más rápido de Android,¿Cómo es Azure

Anuncio
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
Descargar