¿Por qué los dispositivos Samsung son la pesadilla de un desarrollador de Android?

Tengo 2 enfoques para esta pregunta. El software luego el hardware.

En cuanto al software, Android proporciona esta API de marco que las aplicaciones pueden usar para interactuar con el sistema Android.

La compatibilidad con versiones anteriores viene en la forma de soportar niveles anteriores de API, con la versión inicial siendo API Nivel 1, luego la publicación subsecuente incrementa el nivel API. Para permitir que las aplicaciones se ejecuten en un número máximo de plataformas, el desarrollador puede configurar las aplicaciones para que se dirijan a la plataforma más baja del SDK de Android (Kit de desarrollo de software).

Por lo tanto, si está usando un teléfono antiguo con una versión de la plataforma Jellybean 4.1 (Nivel API 16), es probable que su dispositivo no pueda ejecutar Marshmellow (Nivel API 23). Pero lo contrario no es verdad. Si tiene el último teléfono (Marshmellow a partir de ahora), puede ejecutar una aplicación con calificación Jellybean. Muchos usuarios de aplicaciones (y algunos desarrolladores también) no saben por qué sus aplicaciones se bloquean en ciertos teléfonos, por lo que verá los comentarios de Playstore inundados con “esta aplicación apesta, se colgó en mi teléfono”.

Ahora para el hardware. Algunos usuarios que han descargado aplicaciones de Google Cardboard para encontrar que giran la cabeza no pueden cambiar la orientación en los entornos 3D. Eso es porque el hardware de su teléfono móvil no tiene giroscopio.

Si descargó la aplicación llamada “Androsensor”, le brinda una lista de las subsidiarias de las que el fabricante de su teléfono inteligente obtuvo sus partes, incluido el giroscopio antes mencionado. Algunos nombres que aparecieron son ST Microelectronics para mi antigua Note 2.

Mucha gente jugó un papel en la consolidación del producto final: teléfonos inteligentes. Desde el nivel de semiconductor hasta el nivel de Kernel y el nivel de SDK, actualizando cosas aquí y obsolando cosas allí. Apple tiene un control más estricto sobre el desarrollo de aplicaciones, pero al hacerlo bloquea a los nuevos programadores para que trabajen con frameworks más antiguos a fin de preservar la compatibilidad futura.

Dejaré esto en el aire si es algo bueno o malo.

Personalmente, como programador, cuando conecto un dispositivo Samsung a mi computadora y trato de ver los registros para depurar algo, recibo spam por las diversas modificaciones de bloatware y os, lo que hace que la depuración sea muy difícil. A veces, si no detengo el correo no deseado, la línea que estaba tratando de ver se desplaza hacia la parte superior, se pierde para siempre hasta que reinicio la aplicación. Para detener el spam de registro, la forma más fácil es desenchufar el dispositivo, lo cual se vuelve tedioso después de la décima vez.

Además, las actualizaciones de os retrasan mucho más que las existencias de Android, a menudo por 2 versiones principales.

Hace poco abandoné mi s4 por un nexus 5x, y estoy muy contento de haberlo hecho.

No usan la versión estándar de Android (como casi todos los fabricantes). Y lo que es más molesto (desde el punto de vista del desarrollador) es que tienen las vistas personalizadas, y por lo tanto, a veces, no funcionan como se espera cuando intenta personalizarlas.

Recuerdo un problema que tuve, no hace mucho tiempo, con un reproductor de video en un Galaxy S5, donde la barra de búsqueda (barra inferior donde se puede ver el progreso del video) no se mostró, solo en este teléfono. También verifiqué un Nexus 6 y un HTC, y ambos lograron mostrar la barra, sin problemas.