Introducción a Android

35
Gabriel Huecas Daniel Gallego Vico Universidad Politécnica de Madrid Noviembre 2012

description

Breve introducción de las principales característica de Android y del proceso de desarrollo de aplicaciones para dispositivos móviles con Android. Inclue datos de mercado y Android Market

Transcript of Introducción a Android

Page 1: Introducción a Android

Gabriel Huecas Daniel Gallego Vico

Universidad Politécnica de Madrid

Noviembre 2012

Page 2: Introducción a Android

I have always wished that my computer would be as easy to use as my telephone.

My wish has come true.

I no longer know how to use my telephone

Bjarne Stroustrup

Page 3: Introducción a Android

EVOLUCIÓN DEL MERCADO TECNOLÓGICO MÓVIL

Page 4: Introducción a Android

La Madre de Todas las Batallas

Windows Mobile (Microsoft)

Symbian 3 (Nokia)

iOS (Apple)

Android (OHA)

WebOS (Palm) BlackBerry (RIM)

Page 5: Introducción a Android
Page 6: Introducción a Android

Top Five Smartphone Vendors, Shipments, Market Share, Q2 2012 (units in millions) Source: IDC Worldwide Mobile Phone Tracker, July 26, 2012 Note: Vendor shipments are branded shipments and exclude OEM sales for all vendors.

Vendor 2Q12 Unit Shipments

2Q12 Market Share

2Q11 Unit Shipments

2Q11 Market Share

Year-over-year Change

Samsung 50.2 32.6% 18.4 17.0% 172.8%

Apple 26.0 16.9% 20.4 18.8% 27.5%

Nokia 10.2 6.6% 16.7 15.4% -38.9%

HTC 8.8 5.7% 11.6 10.7% -24.1%

ZTE 8.0 5.2% 2.0 1.8% 300.0%

Others 50.7 32.9% 39.2 36.2% 29.3%

Total 153.9 100.0% 108.3 100.0% 42.1%

Page 7: Introducción a Android

Top Five Total Mobile Phone Vendors, Shipments, Market Share, Q2 2012 (units in millions) Source: IDC Worldwide Mobile Phone Tracker, July 26, 2012 Note: Vendor shipments are branded shipments and exclude OEM sales for all vendors.

Vendor 2Q12 Unit Shipments

2Q12 Market Share

2Q11 Unit Shipments

2Q11 Market Share

Year-over-year Change

Samsung 97.8 24.1% 75.4 18.8% 29.7%

Nokia 83.7 20.6% 88.5 22.0% -5.4%

Apple 26.0 6.4% 20.4 5.1% 27.5%

ZTE 17.7 4.4% 16.3 4.1% 8.6%

LG Electronics 13.1 3.2% 24.8 6.2% -47.2%

Others 167.7 41.3% 176.4 43.9% -4.9%

Total 406.0 100.0% 401.8 100.0% 1.0%

Page 8: Introducción a Android

Predicción para 2016

Fuente: IDC

Worldwide Smartphone Operating System 2012 and 2016 Market Share and 2012-2016 Compound Annual Growth Rate

Smartphone OS 2012 Market

Share 2016 Market

Share 2012 – 2016

CAGR

Android 61.0% 52.9% 9.5%

Windows Phone 7/Windows Mobile 5.2% 19.2% 46.2%

iOS 20.5% 19.0% 10.9%

BlackBerry OS 6.0% 5.9% 12.1%

Others 7.2% 3.0% -5.4%

Total 100.0% 100.0% 12.7%

Page 9: Introducción a Android

Encuesta de satisfacción J.D. Power 2011

Page 10: Introducción a Android

ENTORNO ANDROID

Page 12: Introducción a Android

Android is the first truly open and comprehensive platform for mobile devices. It includes an operating system, user-interface and applications -- all of the software to run a mobile phone, but without the proprietary obstacles that have hindered mobile innovation.

Andy Ruby

Director of Mobile Platforms, Google

Page 13: Introducción a Android
Page 14: Introducción a Android

Open Handset Alliance

Page 15: Introducción a Android

Open Handset Alliance

• Construir mejores móviles

• Innovación abierta

• Miembros: Operadores, Fabricantes, Software, Comercialización,…

• Gran apoyo

Page 16: Introducción a Android

Open Handset Alliance

“The goal of the Android Open Source Project is to create a successful real-

world product that improves the mobile experience for end users”

Page 17: Introducción a Android

• Plataforma global de Google:

– Música

– Libros

– Películas

– Aplicaciones Android

Page 18: Introducción a Android

• Android:

– 675.000 aplicaciones disponibles (oct 2012)

– 25.000 millones de descargas (desde Oct 2008)

• Aplicaciones directas desarrollador -> cliente

– Registro, subida, publicación y compra

• Entorno de desarrollo gratis

– Incluye emulador

Page 19: Introducción a Android

• 190 países como potenciales compradores • Líder mundial de descarga de aplicaciones móviles:

– Debido al alto número de terminales Android vendidos

• 25$ para registrarte como desarrollador • 70% de ganancias para el desarrollador • 30% restante para las operadoras:

– Google no se queda nada

• La autopublicación es posible: – Subir APK a servidor web propio – Usando el MIME type correcto

Page 20: Introducción a Android

Ejemplos de aplicaciones exitosas

• Angry Birds [gratis con publicidad]

– Más de 50 millones de descargas

• Cute the Rope [0,68€]

– Más de 1 millón de descargas

• Apalabrados [gratis con publicidad]

– Más de 1 millón de descargas desde Octubre 2011

• Facebook[gratis]

– Más de 100 millones de descargas

Page 21: Introducción a Android

¿Barrera de entrada?

• Es posible triunfar (dos ejemplos cercanos):

• Go!Chat [gratis con publicidad + 2,99€] – Más de 6 millones de descargas – Más de 10.000 descargas – En casi 3 años – Iniciada por 2 estudiantes – Actualmente empresa con varios empleados

• DroidPet Widget [1,49€] – 15.000 descargas en año y medio – Iniciada por 2 estudiantes

Page 23: Introducción a Android

¿Merece la pena aprender Android?

• Cada vez más, el desarrollo móvil es solicitado por el entorno empresarial

• Android e iOS son las plataformas móviles que más trabajo generan: – España:

• 3.162 empleos para desarrolladores móviles • Divididos en un 41,1% en Android y un 58.9% para iOS.

– EEUU: 26.546 empleos – Infografía completa

• Android crece anualmente

Page 24: Introducción a Android

Aplicaciones Android: el futuro

Page 25: Introducción a Android

DESARROLLO EN ANDROID

Page 26: Introducción a Android

Características del Desarrollo

• Abierto

• Igualdad en las aplicaciones

• Aplicaciones sin limitaciones

• Desarrollo fácil y rápido

Page 27: Introducción a Android

Software Stack

• Sistema operativo

• Middleware

• Aplicaciones Clave

• Conjunto Rico de APIs

Page 28: Introducción a Android

Android / Linux

• Basado en el kernel de Linux

• No incluye GNU

– Sin sistema nativo de ventanas

– Sin soporte glibc

– Sin utilidades GNU/Linux

Page 29: Introducción a Android

Android / Java

• Usa el lenguaje Java • Implementación parcial de Java5 SE

– Apache Harmony (sin visual) + Apache HTTP + bibliotecas Android

• Ejecuta sobre la máquina virtual dalvik – No sobre JVM

• Oracle [propietaria de Sun Microsystems] demanda a Google por infringir la propiedad intelectual sobre Java

– Bytecode propio, incompatible con el de Java • Dx convierte algunos .class en .dex, pero no todos

– Dalvik: arquitectura basada en registros – JVM: arquitectura de pilas

– Sin soporte de AWT, Swing, Java ME, …

Page 30: Introducción a Android

Android kernel

Android está basado en Linux

kernel 2.6 y proporciona

– Seguridad

– Gestión de memoria

– Gestión de procesos

– Pila de comunicaciones

– Driver Model

– Abstracción

Page 31: Introducción a Android

Mejoras del kernel

• Alarm

• Ashmem

• Binder

• Gestión de batería

• Low memory killer (no hay swap)

• Logger

Page 32: Introducción a Android

Otras características

Comunes a muchos móviles

– navegador integrado - WebKit OSS

– Gráficos 2D y 3D - OpenGL ES

– almacenamiento de datos estructurados - SQLite

– Soporte multimedia – audio, video, imágenes,…

• MPEG-4, H.264, MP3, AAC, AMR, JPG, PNG, GIF

– GSM, EDGE, 3G, Bluetooth, WiFi

– Cámara, GPS, brújula, acelerómetro

Page 33: Introducción a Android

• Es una plataforma software de código abierto para dispositivos móviles

• Tiene en cuenta restricciones actuales que no van a cambiar en el corto plazo como

– (i) baterías que duran poco

– (ii) limitación en CPU/memoria de móviles

• Está diseñado para ser portable a múltiples dispositivos

Page 34: Introducción a Android

Distribución de versiones

www.android.com Dispositivos Android accediendo a Google Play en Octubre 2012

Versión Codename API Distribución

1.5 Cupcake 3 0.1%

1.6 Donut 4 0.3%

2.1 Eclair 7 3.1%

2.2 Froyo 8 12%

2.3 - 2.3.2

Gingerbread

9 0.3%

2.3.3 - 2.3.7

10 53.9%

3.1 Honeycomb

12 0.4%

3.2 13 1.4%

4.0.3 - 4.0.4

Ice Cream Sandwich

15 25.8%

4.1 Jelly Bean 16 2.7%

Page 35: Introducción a Android

URLs Básicos

• http://www.openhandsetalliance.com/

• http://www.android.com/

• http://developer.android.com/index.html

• https://play.google.com/