stringtranslate.com

desarrollo de software android

La pila de Android [1]
[1] El Nexus 4 , parte de la serie Google Nexus , una línea de dispositivos "amigables para los desarrolladores" [2]

El desarrollo de software de Android es el proceso mediante el cual se crean aplicaciones para dispositivos que ejecutan el sistema operativo Android . Google afirma que [3] "las aplicaciones de Android se pueden escribir utilizando los lenguajes Kotlin , Java y C++ " utilizando el kit de desarrollo de software (SDK) de Android, aunque también es posible utilizar otros lenguajes. Todos los lenguajes de máquinas virtuales (JVM) que no son Java, como Go , JavaScript , C , C++ o ensamblador , necesitan la ayuda del código del lenguaje JVM, que puede ser proporcionado por herramientas, probablemente con soporte API restringido. Algunos lenguajes y herramientas de programación permiten la compatibilidad con aplicaciones multiplataforma (es decir, tanto para Android como para iOS ). Las herramientas de terceros, los entornos de desarrollo y el soporte de idiomas también han seguido evolucionando y expandiéndose desde que se lanzó el SDK inicial en 2008. El mecanismo oficial de distribución de aplicaciones de Android para los usuarios finales es Google Play ; también permite el lanzamiento gradual de la aplicación por etapas, así como la distribución de versiones preliminares de la aplicación a los evaluadores.

Herramientas de desarrollo oficiales

El kit de desarrollo de software (SDK) de Android incluye un conjunto completo de herramientas de desarrollo. Las herramientas de la plataforma SDK de Android son un subconjunto del SDK completo que se puede descargar por separado y que consta de herramientas de línea de comandos como adby fastboot. [4] Android Debug Bridge (ADB) es una herramienta para ejecutar comandos en un dispositivo Android conectado. Fastboot es un protocolo utilizado para actualizar sistemas de archivos. El código escrito en C / C++ se puede compilar en ARM o en código nativo x86 (o sus variantes de 64 bits) utilizando el kit de desarrollo nativo de Android (NDK).

Kit de desarrollo de accesorios abiertos de Android

La plataforma Android 3.1 (también compatible con Android 2.3.4) presenta compatibilidad con accesorios abiertos de Android, que permite que el hardware USB externo (un accesorio USB de Android) interactúe con un dispositivo con Android en un modo de "accesorio" especial. Cuando un dispositivo con Android está en modo accesorio, el accesorio conectado actúa como host USB (alimenta el bus y enumera los dispositivos) y el dispositivo con Android actúa como dispositivo USB. Los accesorios USB de Android están diseñados específicamente para conectarse a dispositivos con Android y cumplir con un protocolo simple (protocolo de accesorios de Android) que les permite detectar dispositivos con Android que admiten el modo accesorio. [5]

Desarrollo de hardware externo

Las herramientas de desarrollo destinadas a ayudar a un dispositivo Android a interactuar con dispositivos electrónicos externos incluyen IOIO , Android Open Accesorio Development Kit , Microbridge, Triggertrap , etc.

Emuladores de Android

Desafío para desarrolladores de Android

El Android Developer Challenge era una competición para encontrar la aplicación más innovadora para Android. Google ofreció premios por un total de 10 millones de dólares estadounidenses , repartidos entre ADC I y ADC II. ADC I acepté presentaciones del 2 de enero al 14 de abril de 2008. Las 50 entradas más prometedoras, anunciadas el 12 de mayo de 2008, recibieron cada una un premio de 25.000 dólares para un mayor desarrollo. [6] [7] Terminó a principios de septiembre con el anuncio de diez equipos que recibieron $275,000 cada uno, y diez equipos que recibieron $100,000 cada uno. [8]

ADC II se anunció el 27 de mayo de 2009. [9] La primera ronda de ADC II cerró el 6 de octubre de 2009. [10] Los ganadores de la primera ronda de ADC II, que comprende las 200 solicitudes principales, se anunciaron el 5 de noviembre de 2009. La votación para la segunda ronda también se abrió el mismo día y finalizó el 25 de noviembre. Google anunció los principales ganadores de ADC II el 30 de noviembre, con SweetDreams, What the Doodle!? y WaveSecure fue nominado como el ganador general del desafío. [11] [12]

Distribuciones basadas en la comunidad

Existe una comunidad de entusiastas del código abierto que crean y comparten distribuciones basadas en Android (es decir, firmware ) con una serie de personalizaciones y características adicionales, como soporte de audio FLAC sin pérdidas y la capacidad de almacenar aplicaciones descargadas en la tarjeta microSD . [13] Esto generalmente implica rootear el dispositivo. El enraizamiento permite a los usuarios acceder al sistema operativo, lo que permite un control total del teléfono. El enraizamiento también tiene varias desventajas, incluido un mayor riesgo de piratería, altas posibilidades de bloqueo , pérdida de garantía, mayores riesgos de ataque de virus, etc. [14] También es posible instalar firmware personalizado, aunque el cargador de arranque del dispositivo también debe estar desbloqueado. El firmware personalizado permite a los usuarios de teléfonos más antiguos utilizar aplicaciones disponibles sólo en versiones más recientes. [15]

Esos paquetes de firmware se actualizan con frecuencia, incorporan elementos de la funcionalidad de Android que aún no se han lanzado oficialmente dentro de un firmware autorizado por el operador y tienden a tener menos limitaciones. CyanogenMod y OMFGB son ejemplos de dicho firmware.

El 24 de septiembre de 2009, Google emitió una carta de cese y desistimiento [16] al modder Cyanogen, citando problemas con la redistribución de las aplicaciones de código cerrado de Google [17] dentro del firmware personalizado. Aunque la mayor parte del sistema operativo Android es de código abierto, los teléfonos vienen con aplicaciones de Google de código cerrado para funciones como Google Play y navegación GPS. Google ha afirmado que estas aplicaciones sólo pueden proporcionarse a través de canales de distribución aprobados por distribuidores autorizados. Cyanogen cumplió con la licencia de Google y continuó distribuyendo su mod sin el software propietario. Proporcionó un método para realizar copias de seguridad de las aplicaciones de Google con licencia durante el proceso de instalación del mod y restaurarlas cuando se complete el proceso. [18]

Estándares Java

Los obstáculos para el desarrollo incluyen el hecho de que Android no utiliza los estándares Java establecidos, es decir, Java SE y ME . Esto impide la compatibilidad entre las aplicaciones Java escritas para esas plataformas y las escritas para la plataforma Android. Android reutiliza la sintaxis y la semántica del lenguaje Java, pero no proporciona las bibliotecas de clases completas ni las API incluidas con Java SE o ME. [19] Sin embargo, existen múltiples herramientas en el mercado de empresas como Myriad Group y UpOnTek que brindan servicios de conversión de Java ME a Android. [20] [21] [22]

Android proporciona sus propias clases de GUI y no proporciona Java AWT, Swing o JavaFX. No es compatible con la API completa de Java Beans. [ cita necesaria ]

Historia y cuota de mercado

Android fue creado por Open Handset Alliance , liderada por Google. Los primeros comentarios sobre el desarrollo de aplicaciones para la plataforma Android fueron mixtos. [23] Los problemas citados incluyen errores, falta de documentación, infraestructura de control de calidad inadecuada y falta de un sistema público de seguimiento de problemas. (Google anunció un rastreador de problemas el 18 de enero de 2008.) [24] En diciembre de 2007, el fundador de la startup móvil MergeLab, Adam MacBeth, declaró: "La funcionalidad no está ahí, está mal documentada o simplemente no funciona... Claramente no está lista". para el horario de máxima audiencia." [25] A pesar de esto, las aplicaciones dirigidas a Android comenzaron a aparecer la semana después del anuncio de la plataforma. La primera aplicación disponible públicamente fue el juego Snake . [26]

El 12 de noviembre de 2007 se lanzó una versión preliminar del SDK de Android. El 15 de julio de 2008, el equipo del Desafío de desarrolladores de Android envió accidentalmente un correo electrónico a todos los participantes en el Desafío de desarrolladores de Android anunciando que una nueva versión del SDK estaba disponible en un Área de descarga "privada". El correo electrónico estaba destinado a los ganadores de la primera ronda del Android Developer Challenge. La revelación de que Google estaba proporcionando nuevas versiones de SDK a algunos desarrolladores y no a otros (y manteniendo este acuerdo privado) generó una frustración ampliamente reportada dentro de la comunidad de desarrolladores de Android en ese momento. [27]

El 18 de agosto de 2008, se lanzó la versión beta del SDK de Android 0.9. Esta versión proporcionó una API actualizada y ampliada, herramientas de desarrollo mejoradas y un diseño actualizado para la pantalla de inicio. Las instrucciones detalladas para la actualización están disponibles para aquellos que ya trabajan con una versión anterior. [28] El 23 de septiembre de 2008, se lanzó el SDK de Android 1.0 (versión 1). [29] Según las notas de la versión, incluía "principalmente correcciones de errores, aunque se agregaron algunas características más pequeñas". También incluyó varios cambios de API desde la versión 0.9. Se han lanzado varias versiones desde su desarrollo. [30]

El 5 de diciembre de 2008, Google anunció el primer teléfono para desarrolladores con Android , un dispositivo desbloqueado por SIM y por hardware diseñado para desarrolladores avanzados. Era una versión modificada del teléfono Dream de HTC. Si bien los desarrolladores pueden utilizar dispositivos de consumo habituales para probar y utilizar sus aplicaciones, algunos desarrolladores pueden elegir un dispositivo dedicado desbloqueado o sin contrato.

En julio de 2013 , se habían desarrollado más de un millón de aplicaciones para Android, [31] con más de 25 mil millones de descargas. [32] [33] Una investigación de junio de 2011 indicó que más del 67% de los desarrolladores móviles utilizaban la plataforma, en el momento de la publicación. [34] Se prevé que los envíos de teléfonos inteligentes Android superen los 1.200 millones de unidades en 2018, con una cuota de mercado del 85%. [35]

Ver también

Referencias

  1. ^ ab "El código fuente de Android". Fuente.Android.com . Consultado el 2 de febrero de 2017 .
  2. ^ Syed H (24 de septiembre de 2023). "Editorial: Por qué deberías optar por Nexus". Lecciones de droides . Archivado desde el original el 18 de febrero de 2017 . Consultado el 22 de agosto de 2023 .
  3. ^ "Fundamentos de aplicación". Desarrolladores de Android .
  4. ^ Modesti, Paolo (marzo de 2021). "Un enfoque basado en scripts para enseñar y evaluar el desarrollo de aplicaciones de Android". Transacciones ACM sobre educación informática . 21 (1): 1–24. doi : 10.1145/3427593 . Consultado el 8 de mayo de 2022 .
  5. ^ "Guías para desarrolladores de Android". Desarrollador.android.com . Consultado el 17 de abril de 2021 .
  6. ^ Chen, Jason (12 de mayo de 2008). "Las 50 aplicaciones principales". Blog de desarrolladores de Android . Archivado desde el original el 25 de septiembre de 2009 . Consultado el 4 de septiembre de 2009 .
  7. ^ Brown, Eric (13 de mayo de 2008). "Android Developer Challenge anuncia los ganadores de la primera ronda". Linux para dispositivos . Archivado desde el original el 14 de mayo de 2008.
  8. ^ "Galería ADC I Top 50". Desafío de desarrolladores de Android . Consultado el 19 de mayo de 2009 .
  9. ^ "Desafío para desarrolladores de Android". Código de Google . Consultado el 11 de enero de 2008 .
  10. ^ Chu, Eric (6 de octubre de 2009). "Puntuación completa de la ronda 1 del ADC 2". Blog de desarrolladores de Android . Archivado desde el original el 1 de noviembre de 2009 . Consultado el 3 de noviembre de 2009 .
  11. ^ "Ganadores generales de ADC 2". Desafío de desarrolladores de Android . Archivado desde el original el 4 de enero de 2011 . Consultado el 5 de diciembre de 2010 .
  12. ^ Kharif, Olga (30 de noviembre de 2009). "Se anunciaron los ganadores del Android Developer Challenge 2". Semana de Negocios . Archivado desde el original el 4 de diciembre de 2009 . Consultado el 5 de diciembre de 2010 .
  13. ^ "Desarrollo de Android de ensueño". Foro de desarrolladores xda . Consultado el 11 de septiembre de 2009 .
  14. ^ "Enraizamiento: ventajas y desventajas". Foro ITCSE . Archivado desde el original el 29 de noviembre de 2014 . Consultado el 21 de septiembre de 2013 .
  15. ^ "Android 2.1 de Motorola Droid trasladado a G1". Voltio móvil . 10 de marzo de 2010. Archivado desde el original el 31 de mayo de 2011 . Consultado el 13 de mayo de 2011 .
  16. ^ Wimberly, Taylor (24 de septiembre de 2009). "¿CyanogenMod tiene problemas?". Android y yo . Archivado desde el original el 3 de octubre de 2009 . Consultado el 26 de septiembre de 2009 .
  17. ^ Morrill, Dan (25 de septiembre de 2009). "Una nota sobre Google Apps para Android". Blog de desarrolladores de Android . Archivado desde el original el 25 de octubre de 2009 . Consultado el 26 de septiembre de 2009 .
  18. ^ "El estado actual ..." ROM de Android CyanogenMod . 27 de septiembre de 2009. Archivado desde el original el 3 de noviembre de 2009 . Consultado el 27 de septiembre de 2009 .
  19. ^ van Gurp, Jilles (13 de noviembre de 2007). "Google Android: impresiones iniciales y críticas". Vestíbulo de Java . Archivado desde el original el 28 de agosto de 2008 . Consultado el 7 de marzo de 2009 . Francamente, no entiendo por qué Google pretende ignorar la gran cantidad de implementaciones existentes. Me parece un mal caso de “aquí no se inventó”. En última instancia, esto ralentizará la adopción. Ya existen demasiadas plataformas Java para el mundo móvil y esta es otra más
  20. ^ "El nuevo convertidor J2Android de Myriad impulsa la fiebre del oro de las aplicaciones de Android". 19 de marzo de 2010. Archivado desde el original el 4 de julio de 2011 . Consultado el 13 de mayo de 2011 .
  21. ^ Fruhlinger, Josh (23 de marzo de 2010). "J2Android espera que no sepas que Android está basado en Java". Mundo Java . Consultado el 13 de julio de 2020 . Por otro lado, se podría pensar que se trata de una especie de estafa dirigida a desarrolladores que no comprenden realmente la naturaleza de la plataforma a la que se dirigen. Mi mayor queja es que uno pensaría que Mikael Ricknäs, el reportero de IDG News Service que escribió la primera historia vinculada arriba (que trabaja para la misma compañía que publica JavaWorld), al menos habría mencionado la relación entre Java y Android. dejar clara la rareza de este anuncio.
  22. ^ Fruhlinger, Josh (31 de marzo de 2010). "Myriad CTO: J2Android mueve MIDlets a un" hermoso "marco de Android". Mundo Java . Consultado el 13 de julio de 2020 . Tendremos que esperar y ver exactamente cuánta recuperación ve realmente J2Android. La herramienta aún no está disponible en el mercado abierto; Si bien Schillings habló con optimismo sobre "convertir 1.000 MIDlets en una tarde", en este momento están trabajando con algunos proveedores para transformar sus catálogos anteriores. Entonces, aquellos de ustedes que esperan evitar aprender a escribir código de Android pueden tener que esperar un tiempo.
  23. ^ Paul, Ryan (19 de diciembre de 2007). "Desarrollo de aplicaciones para Google Android: es una mezcla de cosas". Ars Técnica . Archivado desde el original el 20 de diciembre de 2007 . Consultado el 19 de diciembre de 2007 .
  24. ^ Morrill, Dan (18 de enero de 2008). "No se puede apresurar la perfección, pero ahora puedes corregir errores". Blog de desarrolladores de Android . Consultado el 3 de septiembre de 2009 .
  25. ^ Morrison, Scott (19 de diciembre de 2007). "Los fallos fallan en el software Android de Google". El periodico de Wall Street . Consultado el 19 de diciembre de 2007 .
  26. ^ "Primera aplicación de Android: Snake". Móviles2day . 14 de noviembre de 2007. Archivado desde el original el 11 de mayo de 2008 . Consultado el 7 de enero de 2008 .
  27. ^ Metz, Cade (14 de julio de 2008). "Google juega al escondite con el SDK de Android". El registro . Archivado desde el original el 6 de octubre de 2008 . Consultado el 23 de octubre de 2008 .
  28. ^ "Android: un proyecto de Open Handset Alliance: actualización del SDK". Archivado desde el original el 13 de septiembre de 2008 . Consultado el 24 de octubre de 2008 .
  29. ^ "Otras versiones de SDK". Desarrolladores de Android . Consultado el 2 de septiembre de 2009 .
  30. ^ "Archivos SDK". Desarrolladores de Android .
  31. ^ "Google Play alcanza el millón de aplicaciones". Machacable . 24 de julio de 2013.
  32. ^ "Estadísticas de aplicaciones de Android". Archivado desde el original el 2 de enero de 2011 . Consultado el 31 de diciembre de 2010 .
  33. ^ Leena Rao (14 de abril de 2011). "Google: 3 mil millones de aplicaciones de Android instaladas; las descargas aumentaron un 50 por ciento respecto al último trimestre". Crunch tecnológico . Archivado desde el original el 25 de abril de 2011 . Consultado el 13 de mayo de 2011 .
  34. ^ "Economía del desarrollador 2011". Archivado desde el original el 29 de septiembre de 2013 . Consultado el 8 de julio de 2011 .
  35. ^ "Los volúmenes mundiales de teléfonos inteligentes se mantendrán bajos en 2018 antes de volver a crecer en 2019 y más allá, según IDC". idc.com . 30 de mayo de 2018. Archivado desde el original el 17 de octubre de 2019 . Consultado el 6 de junio de 2018 .

Bibliografía