Lo bueno y lo malo del desarrollo de aplicaciones de Android

Si solo 100 personas vivieran en la Tierra, 76 de ellas estarían usando Android y 20 - iOS (ignoremos a esas 4 personas excéntricas con teléfonos inteligentes Windows y Blackberry). Sin embargo, considerando solo a los usuarios de EE. UU., El paradigma cambia: ahora, 65 de cada cien personas son fanáticos de iOS.

La popularidad de un sistema operativo en una región determinada es solo uno de los muchos factores que intervienen en la decisión de qué plataforma elegir para su aplicación móvil. Idealmente, nosotros, por supuesto, queremos crear aplicaciones que den acceso a todos los usuarios móviles, independientemente de sus principios, lealtad a la marca o incluso situación financiera. Pero, cuando se trata de desarrollo nativo, generalmente tiene que comenzar con uno.

Únase a nosotros para una revisión del desarrollo móvil de Android y descubra qué beneficios y desafíos le esperan al elegir Google en lugar de Apple. Vamos a empezar.

Tabla de contenido
  1. La historia de Android
  2. Paquete de inicio de desarrollo de Android
  3. Ventajas del desarrollo de Android
    1. Proceso simple de aceptación de aplicaciones
    2. Independencia de hardware
    3. Java y Kotlin como lenguajes de programación
    4. Recursos de aprendizaje
    5. Flutter
    6. Aplicaciones instantáneas
    7. Más que soluciones de aplicaciones móviles
  4. Contras del desarrollo de Android
    1. Hábitos de gasto de los usuarios de Android
    2. Temas de seguridad
    3. Fragmentación de adopción del sistema operativo
    4. Fragmentación del dispositivo
    5. Problemas de derechos de autor
  5. Conclusiones

La historia de Android

¿Recuerdas la era previa al teléfono inteligente? Esperamos que no necesite una máquina del tiempo para recordar cómo era la movilidad en 2006.

En aquel entonces, Windows, Symbian y Blackberry habían estado suministrando lentamente al mercado móvil las llamadas computadoras personales de bolsillo : torpes, poco atractivas, habilitadas con un teclado QWERTY físico y, a veces, incluso un lápiz óptico.

Es posible que hayas tenido uno de esos. Los primeros teléfonos inteligentes se centraron estrictamente en la productividad. En consecuencia, hubo un problema que atormentó las mentes de los proveedores de hardware y software: ¿cómo encajar más en uno de estos pequeños dispositivos?

Lo estaban haciendo bastante bien. Teníamos Twitter y correo electrónico, navegador de Internet, Microsoft Word y muchas más funciones útiles, pero los sitios web no respondían, Internet móvil era lento y la gente todavía solía sentarse en sus PC de tamaño completo para una tarea que tomó más de cinco minutos.

Básicamente, la usabilidad no se consideró en absoluto, junto con la libertad de los desarrolladores. Este era un mundo restrictivo para operar.

Cuando el primer dispositivo Android, T-Mobile G1 (también conocido como HTC Dream), ingresó al mercado, el mundo ni siquiera estaba acostumbrado a las pantallas táctiles. Pero el primer teléfono Android de consumo ya tenía integración de servicios de Google, GPS incorporado, zoom de páginas web y un Android Market temprano (con solo 35 aplicaciones).

ventajas y desventajas android studio

El creador de Google y Android, Inc., Andy Rubin, vio el futuro de los dispositivos móviles en software e Internet: planearon crear y distribuir libremente servicios que conectarían a las personas a la web e ingresarían a la nueva generación de dispositivos móviles.

Paquete de inicio de desarrollo de Android

El desarrollo nativo para dispositivos Android consta de este conjunto de herramientas básicas: un SDK, IDE, lenguajes de programación, bibliotecas y complementos. Veamos qué productos puedes usar para formar tu propia pila tecnológica.

Kit de desarrollo de software. Un SDK es un paquete de herramientas que comprende un programa ejecutable. Esto incluye documentación, depuradores, emuladores, marcos, bibliotecas, perfiladores y más. Android SDK ya está incluido en Android Studio, pero si desea usar otro IDE, puede descargarlo por separado en la parte inferior de la página vinculada.

Editores e IDEs. En teoría, puede escribir aplicaciones de Android en un editor de texto normal o en una línea de comando, pero el enfoque común es usar un Entorno de desarrollo integrado. Esta herramienta integra todas las herramientas de SDK y ayuda a administrarlas más fácilmente y de una manera más fácil de usar.

Android Studio es el IDE oficial de Android, pero otras opciones también son populares. Eclipse es el predecesor de Studio que puede usar complementos para expandir el código a más idiomas. IntelliJ IDEA es una opción paga pero altamente personalizable.

Lenguajes de programación. Java y Kotlin figuran como los idiomas oficiales para la programación de Android, pero existen alternativas. También puede usar C y C ++ con el Kit de desarrollo nativo de Android , la herramienta para implementar partes de aplicaciones previamente escritas en código nativo.

También hay herramientas de terceros que le permiten crear aplicaciones nativas de Android utilizando sus idiomas favoritos, como Ruboto (Ruby) o Kivy (Python). Solo recuerde que cualquier solución no oficial se retrasará en términos de actualizaciones.

Bibliotecas Los desarrolladores de software usan bibliotecas para todo tipo de tareas. Son fragmentos de código preescrito que automatizan el trabajo de un codificador y eliminan la necesidad de reinventar la rueda. La comunidad de Android es generosa con estas soluciones gratuitas. Los más populares incluyen GSON para serializar y deserializar objetos Java para comunicarse con las API, Retrofit para la organización de la API y EventBus para facilitar la comunicación entre los diferentes elementos de la aplicación. Para configurar todas estas configuraciones y organizar el proceso de agregar bibliotecas externas, los desarrolladores usan la herramienta llamada Gradle .

Complementos Si bien las bibliotecas se utilizan para automatizar las tareas del proyecto, se crean complementos para el aumento de cada herramienta de software, un IDE en nuestro caso. No podemos enumerarlos a todos, así que echa un vistazo a esta colección de complementos de Android Studio y la lista seleccionada de complementos de Eclipse en BestPlugins.com.

Recomendado:   Añadir icono o logo de aplicacion a apk en App Inventor

Si está buscando soluciones más complejas para mejorar su experiencia de codificación, visite este popular artículo sobre las 20 herramientas principales para el desarrollo de Android .

Ventajas del desarrollo de Android

Cuando se habla de lo que Android hace bien, no se puede evitar la comparación con su socio en duopolio: Apple. Analicemos cómo Android es beneficioso para los desarrolladores y dónde late o se vincula con iOS.

Proceso simple de aceptación de aplicaciones

Se sabe que Apple App Store es muy selectiva sobre sus aplicaciones publicadas. Al compartir pautas similares, Google y Apple tienen un enfoque diferente hacia el aseguramiento de la calidad.

El proceso de aprobación de la App Store puede ser tedioso y exigente, pero el sistema de revisión de Google favorece a casi todos, siempre y cuando no viole sus principales políticas de contenido.

Sin embargo, Apple evalúa las aplicaciones de manera más estricta: hay errores, bloqueos, inconsistencias de la interfaz de usuario y enlaces rotos, el sistema no aceptará su aplicación. Lo mismo ocurre con criterios bastante subjetivos, sin valor duradero, en los que su utilidad o nicho de contenido será juzgado por la utilidad.

lo bueno y lo malo ventajas y desventajas android studio

Si bien las revisiones meticulosas no son inherentemente malas, significan que los desarrolladores primero deben gastar miles de dólares con el riesgo de que la plataforma les niegue. La apertura de Google al nuevo contenido le permite lanzar un producto mínimo viable o una versión temprana de su aplicación para recopilar comentarios o dar un vistazo a su audiencia de Kickstarter.

Independencia de hardware

Entre las cosas necesarias para desarrollar aplicaciones de Android, el hardware será su menor preocupación. El desarrollo de Android se realiza en Java, lo que hace que el proceso sea multiplataforma.

Android Studio, Eclipse, IntelliJ IDEA, Fabric y muchas más herramientas de desarrollo de Android se pueden usar y descargar en Windows, Mac OS y Linux. La creación de aplicaciones iOS requiere el uso de una Mac o una máquina virtual.

Java y Kotlin como lenguajes de programación

Android tiene dos lenguajes de programación compatibles oficialmente: Java y Kotlin. El primero ha sido el idioma querido durante dos décadas y se nombró la quinta tecnología más popular en 2018.

Java es un lenguaje multiplataforma orientado a objetos que se utiliza en todas partes, desde nuevas empresas fintech hasta iniciativas de análisis de datos, productos web, de escritorio, móviles, IoT: todos pueden funcionar con Java, los pros y los contras que hemos explorado recientemente en una publicación de blog separada.

La popularidad de Java le permitirá encontrar fácilmente desarrolladores expertos de Android en el mercado o incluso dentro de su equipo de tecnología.

En cuanto a Kotlin , es otra tecnología muy elogiada. No es exactamente un lenguaje per se, sino más bien un nuevo enfoque de codificación basado en Java. Toma toda la complejidad y verbosidad de Java y hace que todo el proceso de escritura de la aplicación sea más rápido y más agradable. Cualquier desarrollador de Java puede dominar Kotlin en poco tiempo, pero no es necesario a menos que tenga un poco de tiempo extra para invertir en migrar a un nuevo proceso. Otra cosa buena es que Jotlin y Kava (¿ves lo que hicimos aquí?) Son completamente interoperables y pueden usarse libremente al mismo tiempo.

Esta presentación en Google I / O 2017 da una buena idea de la dirección que está tomando Android con su nuevo enfoque de programación.

Tiene sentido mencionar que Java y Kotlin no son las únicas opciones, aunque oficiales. Android Studio, por ejemplo, también es compatible con C y C ++. Ambos son más complicados que Java, pero pueden ser útiles en ciertos casos, como las aplicaciones de juegos. Además, si consideramos las herramientas multiplataforma , el conjunto de idiomas es aún mayor: hay C # en Xamarin, JavaScript en PhoneGap y Dart en Flutter.

Recursos de aprendizaje

Si alguna vez tuvo que lidiar con la documentación de Google de cualquier tipo, ya sabe de qué nivel estamos hablando. Además de la gran cantidad de información en la web, Google ofrece su propia capacitación de desarrollo de Android para principiantes, ingenieros experimentados e incluso casos especiales que requieren un conocimiento más profundo. Los materiales están bien estructurados, habilitados con gráficos, animaciones y videos explicativos, junto con algunos ejercicios interactivos.

A partir de ahora, la capacitación incluye tres transmisiones: fundamentos de desarrollo de Android, Kotlin boot camp y aplicaciones nativas con Flutter.

Además, los programadores pueden recibir la certificación oficial de desarrolladores de Google . El examen de una sola vez cuesta $ 149, demora 8 horas en terminar y evalúa los conocimientos prácticos de una persona según los materiales de autoaprendizaje proporcionados por Google.

Flutter

Flutter es el nuevo SDK gratuito de Google que le permite escribir aplicaciones nativas para Android e iOS utilizando la base de código único. Aunque las herramientas multiplataforma han sido populares en el mercado durante algún tiempo, Google ofrece su propia versión de la creciente demanda del estilo de programación escribir una vez que se ejecuta en cualquier lugar.

Aunque no sin algunos inconvenientes, como probamos en esta comparación de Xamarin vs Flutter , Flutter ofrece algunas características interesantes que hacen que el desarrollo de Android sea más fácil y fluido. Por ejemplo, la herramienta tiene una biblioteca de diseño de materiales incorporada que elimina la necesidad de escribir código de interfaz de usuario cuando simplemente desea lograr el aspecto y la sensación estándar de Google. También está completamente integrado con Android Studio e IntelliJ, lo que le permite seguir trabajando con las herramientas que ya conoce y ama. Y también puede usar el código Java existente, para que sus aplicaciones nativas puedan transportarse fácilmente al entorno de Flutter.

Recomendado:   App Inventor: Generar apk | convertir proyecto en aplicacion

Si bien hay muchas herramientas multiplataforma, los desarrolladores de Android deberían echar un vistazo más de cerca a Flutter y considerar lo que puede aportar.

Aplicaciones instantáneas

La conferencia de desarrolladores de Android 2017 estuvo llena de innovaciones. Además de Kotlin, Google introdujo aplicaciones instantáneas, aplicaciones nativas que se pueden iniciar directamente desde Google Play sin descargar. Al igual que las aplicaciones web progresivas , estas son aplicaciones más rápidas, fácilmente disponibles y atractivas que pueden dar acceso a la funcionalidad limitada del servicio completo o dar a los usuarios una vista previa de la aplicación paga.

¿Qué tiene de bueno las aplicaciones instantáneas?

  • Son la respuesta positiva a la "fatiga de la aplicación"
  • Aumentan el compromiso y no cuestan nada a los usuarios
  • Se pueden compartir fácilmente y se pueden iniciar a través de un enlace
  • Proporcionan otro punto de entrada para los usuarios.

Técnicamente, no hay limitaciones para las aplicaciones instantáneas. Simplemente tocando el botón Probar ahora en la página de la tienda, los usuarios pueden registrarse, realizar compras y acceder a todo el contenido; solo el editor puede establecer limitaciones. El proceso de creación también es fácil: escribe una aplicación normal como lo haría normalmente y simplemente realiza algunas configuraciones para ajustar la experiencia del usuario durante la publicación.

Más que soluciones de aplicaciones móviles

Si ha leído nuestra introducción al desarrollo de realidad virtual , puede recordar que crear aplicaciones virtuales no siempre es una experiencia difícil. Google, el príncipe heredero de la realidad virtual móvil, ya tiene dos auriculares: el Cardboard barato y el serio Daydream, y, de una manera verdaderamente ecosistémica, puede desarrollar aplicaciones para estos dispositivos usando el mismo Android Studio y Android SDK. La única adición sería Google VR SDK, pero teniendo en cuenta las pilas de tecnología para otros dispositivos, este es sin duda el más accesible para el programador experimentado de Android.

La plataforma de publicación para aplicaciones de realidad virtual también es la misma: puede cargar el APK listo para su lanzamiento en Google Play o hacer que sea reconocible en la aplicación Daydream.

Y el desarrollo de Android no se detiene allí. La tecnología le permite utilizar el mismo conjunto de herramientas para crear aplicaciones para una variedad de productos. Este ecosistema incluye:

Android TV. Esta es la versión de Android que sirve como plataforma de entretenimiento integrada en muchos televisores y dispositivos de transmisión de video. Además de funcionar como cualquier otro televisor inteligente con YouTube y Netflix integrados, Android TV también tiene un Asistente de Google incorporado, contenido de video curado, aplicaciones de Google Play, búsqueda por voz y más. Al desarrollar aplicaciones para pantallas de TV grandes, no solo puede proporcionar otra plataforma para que sus usuarios interactúen con su producto, sino que también puede ampliar la funcionalidad del servicio.

Use OS. Las aplicaciones portátiles de Android desarrolladas con el mismo SDK de Android se ejecutan en relojes inteligentes de Asus, Huawei, LG, Samsung, Sony y más . Con conocimiento en el desarrollo de aplicaciones móviles de Android, los programadores pueden crear software portátil y ver caras : pantallas dinámicas que incluyen animaciones e información contextual como widgets de teléfonos inteligentes.

Android Auto. Esta unión de navegadores GPS clásicos y servicios de Google permite a los desarrolladores acceder a los automóviles de los usuarios a través de API específicas, en forma de una interfaz de usuario en la consola del tablero. Actualmente, el servicio solo admite aplicaciones de audio y mensajería, pero se espera que pronto la plataforma allane el camino para una mayor conectividad con acceso a los sensores y datos de un vehículo.

Cosas de Android. Esta plataforma permite a los ingenieros crear aplicaciones para dispositivos de Internet de las cosas de baja potencia, como cámaras o altavoces inteligentes. Proveedores como JBL, Lenovo y LG han desarrollado sus productos utilizando el sistema Things.

Dispositivos Chrome OS. Cualquier aplicación de Android se puede optimizar para su uso en Chromebooks, el primer y único dispositivo que funciona con Chrome OS. Aunque la lógica general y las interfaces son las mismas, algunos aspectos, como las ventanas de aplicaciones redimensionables y de forma libre, deben reescribirse. También puede personalizar sus aplicaciones para asegurarse de que el contenido se vea orgánico en una pantalla más grande y también cambiar la orientación de la interfaz.

Contras del desarrollo de Android

Pronto verá que los principales desafíos con el desarrollo de Android se reducen a algunas de sus características que también pueden considerarse ventajas. Veamos cuales son.

Hábitos de gasto de los usuarios de Android

Numerosas investigaciones le dirán que los usuarios de Apple gastan mucho más en sus aplicaciones que los entusiastas de Android. Statista afirma que App Store toma más del 60 por ciento de todos los gastos móviles, mientras que Google Play se queda atrás con un poco más del 30 por ciento.

Recomendado:   Agregar publicidad de Admob en Thunkable

No solo se trata de descargas de aplicaciones, sino también de compras en la aplicación. Los motivos pueden ser uno o varios de los siguientes:

  • La abrumadora cantidad de aplicaciones de Google Play lleva a una larga lista de alternativas para programas pagos o gratuitos. Los usuarios simplemente pueden encontrar más aplicaciones gratuitas similares a las pagas
  • Android e iOS comparten diferentes datos demográficos. La mayoría de los fanáticos de Apple se encuentran en Norteamérica, Australia y el norte de Europa, mientras que Android es popular en países de bajos ingresos.
  • Durante su largo proceso de aceptación, Apple elimina las aplicaciones con la mala experiencia del usuario. Por lo tanto, más aplicaciones de calidad alcanzan los mejores gráficos de la tienda de aplicaciones, lo que induce a los usuarios a pagar
  • Muchas aplicaciones de Android pueden ser propensas a errores debido a la gran cantidad de dispositivos y usuarios activos de sistemas operativos más antiguos en el mercado. Los desarrolladores tienen que pasar más tiempo para probar a fondo las aplicaciones en todos los modelos, lo que a menudo es imposible. Hablaremos más al respecto.

Para un desarrollador, todo esto significa que debe buscar métodos de monetización de aplicaciones adicionales que no se basen en las compras de aplicaciones tradicionales.

Y como estamos hablando de competidores, Google Play no es la única tienda que distribuye aplicaciones de Android. Amazon App Store le permite compartir las mismas aplicaciones para Kindle Fire Tablet y Fire TV y la plataforma actualmente tiene alrededor de 400k aplicaciones disponibles. Además, está la tienda de aplicaciones Samsung Galaxy que ofrece descuentos especiales para los propietarios de teléfonos inteligentes Galaxy. Si planea cubrir el mercado móvil completo, tiene sentido investigar la distribución en estas y otras plataformas.

Temas de seguridad

Aunque la naturaleza de código abierto de Android es una bendición para los desarrolladores, también puede ser una maldición. Si bien el malware y los hacks se dirigen a millones de usuarios de Android casi semanalmente, Google lanza rápidamente parches de seguridad. Desafortunadamente, la mayoría de las personas no actualizan sus teléfonos regularmente. Esto significa que los desarrolladores de aplicaciones a menudo tienen que ocuparse de los datos de los usuarios por sí mismos mediante la encriptación compleja, incluidas las características de seguridad adicionales, o evitando la entrada de datos personales.

Fragmentación de adopción del sistema operativo

La prueba para Android es una gran y gorda estafa. La gama de sistemas operativos es amplia y uno de los desafíos relacionados con la personalización de la aplicación. Según el propio informe 2018 de Google , la mayoría de los dispositivos Android todavía se ejecutan en Lollipop, Marshmallow y Nougat, sistemas operativos de 2014, 2015 y 2016, respectivamente.

Otro problema de diferenciación proviene de varios OEM (fabricantes de equipos originales) que crean sus propias "máscaras" haciendo que los dispositivos que se ejecutan en la misma versión de Android se vean muy diferentes. No solo presenta otra capa asombrosa de actualizaciones, sino que también conduce a cambios en la funcionalidad que pueden afectar el funcionamiento de su aplicación en todos los teléfonos inteligentes. Sony y Samsung son los mayores delincuentes conocidos por crear complicaciones para los programadores.

Fragmentación del dispositivo

La cantidad de fabricantes de dispositivos móviles puede ser grande, pero aún es manejable en comparación con la cantidad de dispositivos que lanzan estos proveedores, cada uno con su propio tamaño de pantalla, sensores, problemas de rendimiento y controladores de gráficos. En la documentación oficial de Material Design, Google comparte una larga lista de dispositivos Android (e iOS) con las dimensiones y resoluciones de pantalla correspondientes. Spoiler: es mucho más grande que la línea de 14 dispositivos de Apple.

Los propietarios de productos tienen dos soluciones en el problema de fragmentación del dispositivo: limitar el número de dispositivos y sistemas compatibles a un máximo manejable o disminuir la calidad de la aplicación cuando los dispositivos más antiguos no admiten sensores avanzados u otra funcionalidad. Sin embargo, esto no facilita los esfuerzos de desarrollo y prueba.

Problemas de derechos de autor

Anteriormente, señalamos que Google tarda menos tiempo en verificar y aceptar aplicaciones en Google Play, lo que significa que puede liberar su MVP de manera más fácil en comparación con App Store. Sin embargo, hay otro lado de esta ventaja. Primero, Google no realiza controles exhaustivos de patentes o derechos de autor, lo que significa que, sin saberlo, puede publicar un programa que incluye características o contenido ya utilizado en otro producto. En segundo lugar, puede sufrir una infracción de derechos de autor cuando Google Play lanza una aplicación que repite sus soluciones únicas.

Conclusiones

A menudo, la elección de tecnología, plataforma o dispositivo ni siquiera se reduce a desafíos de desarrollo. Desde el punto de vista del marketing, primero tendrá que mirar la demografía, que no juega a favor de Android en los EE.UU.

Sin embargo, no tiene sentido lanzar incluso aplicaciones a medias para iOS, por lo que Android es un lugar perfecto para probar su versión de producto beta, un MVP o incluso un prototipo de alta fidelidad. Si prefieres independencia, apertura y más posibilidades gratuitas, al menos desde el principio, Android también es un camino a seguir. Y si todo falla, considere el enfoque multiplataforma.

Subir