• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Android como plataforma estratégica para el desarrollo de aplicaciones
 

Android como plataforma estratégica para el desarrollo de aplicaciones

on

  • 4,923 views

Slideshow used for Android Encouter 09 at enpresa digitala araba.

Slideshow used for Android Encouter 09 at enpresa digitala araba.

Statistics

Views

Total Views
4,923
Views on SlideShare
4,830
Embed Views
93

Actions

Likes
1
Downloads
155
Comments
0

4 Embeds 93

http://www.codesyntax.com 51
http://www.slideshare.net 36
http://presentacion.org 5
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Free Libre Open Source Software
  • - Para poder publicar/instalar una aplicación iPhone es necesario certificación/visto bueno de apple. La instalación solamente es posible utilizando la app store de apple. Apple puede decidir unilateralmente eliminar la aplicación de su store. 30% de beneficio para apple.
  • - Las aplicaciones desarrolladas deberían funcionar en cualquier dispositivo Android compatible con la versión del desarrollo. (no distintas versiones j2me)
  • - Casi todas las operadoras tienen disponible algún terminal Android. - Muchos fabricantes están lanzando sus terminales con Android. - Grafica: Solamente iPhone y Android muestran tendencias ascendentes.
  • - furry.com:analiza tendencias del mercado de los móviles - En la gráfica se muestra como los nuevos proyectos android muestran una tendencia ascendente.
  • - tanto symbian como iphone tienen mas cuota de mercado - No es un riesgo propiamente de Android, pero el poder de personalización sobre Android da mucha libertad a las operadoras para hacer o desacer sobre lo que van a comercializar (cambios en el firmware, no ofrecer ciiertos servicios, contratos abusivos..) Es cierto que el usuario siempre tiene la opción de cambiar de firmware , pero no es una opción que esté al alcance de cualquiera. - Google envia un Cease&Desist a un desarrollador que había compilado una nueva versión del firmware de android que incluía servicios aún no incluidos en el firmware oficial. La explicación oficial ha sido que para la instalación de ese firmware se reinstalaban aplicaciones no libres (gmail, gcalendar, gmaps), y que la licencia de esas aplicaciones no da permiso para ello. De todas maneras se ha creado cierto revuelo sobre lo que google puede o no puede hacer..
  • Kernel: Android depende de Linux versión 2.6 para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, stack de red, y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto del stack de software. Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros, y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida "dx". Bibliotecas: Android incluye un set de bibliotecas C/C++ usadas por varios componentes del sistema Android. Estas características se exponen a los desarrolladores a través del framework de aplicaciones de Android; algunas son: System C library (implementación biblioteca C standard), bibliotecas de medios, bibliotecas de gráficos, 3d, SQLite, entre otras. Framework de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar el reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario. fuente: wikipedia
  • Dalvik es una máquina virtual optimizada para correr en dispositivos con pocos recursos hardware. Está diseñada para permitir ejecutar varias instancias de la máquina virtual Estrictamente no es una máquina virtual java, ya que no ejecuta Java bytecode. Se utiliza la herramienta dx para traducir ficheros java al formato utilizado por Dalvik (dex)
  • - Emulador: permite seleccionar distintos terminales y versiones del sistema operativo - Acceso de herramientas de desarrollo: capturas de pantalla, redirección de puertos, depurardor, traceback y lista de procesos en ejecució
  • - Aplicaciones basadas en componentes. Permiten la reutilización de código. - 4 tipos de componentes - Actividades - Servicios - Receptores de eventos - Proveedores de contenido - Actividades Las distintas ventanas de la aplicacion. El contenido visual de cada actividad lo proporcionan los onjetos de la clase View (botones, selectores...)
  • - Services Son componentes que se ejecutan en segudo plano y no necesitan ninguna acción por parte del usuario durante un periodo indeterminado.
  • - Los proveedores de contenido solo son necesarios si se necesita compartir información entre diferentes aplicaciones. Por ejemplo, la información de los contactos está compartida entre distintas aplicaciones, por tanto tiene que ser guardada en un proveedor de contenidos.
  • El checklist para la publicación de una aplicación en android no varia mucho del checlist para una aplicación convencional. Para publicar en la Android market es necesario registrarse como desarollador con una cuenta google y pagar una cuota de 25$

Android como plataforma estratégica para el desarrollo de aplicaciones Android como plataforma estratégica para el desarrollo de aplicaciones Presentation Transcript

  • Android como plataforma estratégica para el desarrollo de aplicaciones CodeSyntax Interneterako software eta estrategia www.codesyntax.com
  • ¿Por qué apostamos por Android? Open source
    • Estrategia desde el 2000 en FLOSS (free/libre/open source software)
    • Garantía de libertad a futuro
    • Independencia de la compañía líder
  • ¿Por qué apostamos por Android? Independencia en la publicación
    • Los trámites para publicación son mínimos
    • Barreras de entrada bajas (comparar iPhone)
    • Ideal para aplicaciones de nicho
  • ¿Por qué apostamos por Android? SDK común
    • No distintas APIs dependiendo de dispositivo (J2ME)
  • ¿Por qué apostamos por Android? Gran crecimiento cuota de mercado
    • Operadoras y fabricantes
  • ¿Por qué apostar por Android?
      • Número de nuevos proyectos
      • According to Flurry, Inc., the mobile analytics company, new project starts in Android were up 94% for September and October
  • Riesgos
    • Plataforma joven
    • Personalización de las operadoras
    • ¿Cuan libre es Android?
      • Caso Cyanogen
  • Arquitectura
    • Kernel linux 2.6
    • Bibliotecas de bajo nivel: c, c++, sqlite para persistencia de datos. OpenGL, Webkit
    • Android Runtime
    • Framework para desarrollo de aplicaciones
    • Aplicaciones
  • Arquitectura
  • Desarrollo
    • Desarrollo en Java
      • Dalvik -> Maquina virtual Java diseñada por Dan Borstein e ingenieros de google
      • SDK disponible gratuitamente
    • Plugin para Eclipse
      • también scripts para NerBeans, Intellij IDEA
  • Desarrollo
    • Caracteristicas plugin Eclipse
      • Emulador
      • Acceso de herramientas de desarrollo de Android
      • Asistentes para creación de aplicaciones
      • Interfaces gráficas para desarrollo de componentes
  • Desarrollo: IDE + emulador
  • Desarrollo: Asistente (eclipse)
  • Estructura de una aplicación
      AndroidManifest.xml
      • Componentes
      • Permisos
      • Recursos necesarios
      • Librerías que se utilizan
  • Estructura (Componentes)
    • Actividades ( Activities)
      • Interfaces visuales que esperan alguna acción del usuario.
      • Extienden la clase Activity
      • Referencía
  • Estructura (Componentes)
    • Services ( Sevices )
      • Tareas que no necesitan una interfaz gráfica.
      • Extienden la clase Service
      • Referencía
    • Receptores de eventos ( Broadcast Receivers)
      • Componentes que están esperando a que se produzca cierto evento ( Bateria baja, cambio de idioma del dispositivo...)
      • Extienden la clase BroadCastReceiver
      • Referencía
  • Estructura (Componentes)
    • Proveedores de contenido ( Content Providers)
      • Permiten que una aplicación ponga datos a disposición de otras.
      • Extienden la clase ContentProvider
      • Referencía
  • Publicación
    • Checklist ofrecido en la documentación
    • Opcionalmente podremos publicarlo en la Android Market
  • Eskerrik asko! Aitzol Naberan (CodeSyntax) [email_address] Fotos: tomsun@Flickr , nimbuzz@Flickr, jetalone@Flickr, djwudi@Flickr Metodología de desarrollo ágil para sistemas móviles Introducción al desarrollo con Android y el iPhone