Sistemas operativos móviles y fragmentación: el punto de vista de la información privilegiada
Si está desarrollando una aplicación de teléfono móvil es probable que hacerse la pregunta, ¿cómo muchos tipos diferentes de dispositivos va a correr mi aplicación? La respuesta depende de su público objetivo, y en lo que se cuenta como un "tipo de dispositivo." Pero con 4.000 tipos diferentes de dispositivos con Android, la respuesta será un número bastante alto. Compárese esto con un recuento similar para sistema operativo iOS de Apple, donde el número de modelos de dispositivos es inferior a 30.
No hay duda de ello, el mundo Android es diversa. Para los consumidores que significa la elección y la libertad, pero los desarrolladores pueden verlo como fragmentación. Varias compañías ofrecen servicios a las aplicaciones de pruebas en cientos de dispositivos a la vez, y también hay otra maneras de probar económicamente sus aplicaciones en una amplia gama de dispositivos. Google es también unirse a la refriega con su nueva nube de laboratorio de pruebas.
Como parte de la conferencia Google I / O de este año, esperé durante tres horas en el 55oF Clima (finales de mayo en San Francisco) para entrar en evento social de un proveedor independiente. Para pasar el tiempo, le pregunté a dos expertos Android sobre sus experiencias con la fragmentación en el espacio móvil. Sus respuestas me sorprendieron. Con su permiso, me grabé partes de la conversación y transcribí (en realidad, parafraseado es) para su presentación en este artículo.
Uno de los expertos es un desarrollador de Android para que una empresa de software móvil. El otro es un empleado de alto nivel de un proveedor de servicio de telefonía celular prominente (una compañía de "portador"). Ambos me dijeron que se sentirían más cómodos si no utilizo sus nombres en este artículo. Aquí está lo que dijo el desarrollador de Android sobre la fragmentación, y acerca de los sistemas operativos móviles en general:
"No creo demasiado en la fragmentación, ya que construimos nuestras aplicaciones a escala. Los únicos problemas que he encontrado recientemente están donde no tenemos suficiente memoria disponible (para cargar imágenes de gran tamaño, por ejemplo). Google implementó densidad píxeles -independiente por una razón - para escalar entre los diferentes tamaños de pantalla Esa es una cuestión La otra cuestión es la cuestión niveles de API de Google tiene AppCompat para ayudar con eso Hay otras cosas por ahí que puede utilizar ".....
Lo que ellos dicen
¿Qué hay de diferente teléfono fabrica y hardware diferente? "
"¿Quieres decir que Samsung frente a LG y cosas por el estilo? Eso se reduce a hardware. A veces hay algo raro pasa con la GPU. Tratamos de codificar su alrededor. A veces termina siendo algo que el fabricante tiene que fijar en una actualización de firmware. "
Así, desde el punto de vista de este desarrollador, la fragmentación de Android no es un gran problema. El empleado de la compañía transportista tenía mucho más que decir. Pero, de nuevo, no era lo que yo esperaba oír:
"Los operadores controlan el ecosistema. Controlamos el hardware, las especificaciones, y cómo se asignan las cosas. Incluso nos controlamos el sistema operativo. Le decimos a Google y Microsoft (y hasta cierto punto, Apple) qué tipo de API tiene que estar allí. Así forzamos la normalización ".
Entiendo que las compañías fuera de los Estados Unidos tienen diferentes relaciones con sus clientes y sus gobiernos. Así que le pregunté si estas afirmaciones sobre el poder de los transportistas se aplican a las compañías de otros países.
No creo demasiado en la fragmentación, ya que construimos nuestras aplicaciones a escala.
"Depende del tamaño de la compañía. Cuando voy a las grandes cumbres de transporte, todo el mundo está ahí. Es decir, todo el mundo lo que importa es que hay. Cuando Google, Microsoft, Apple, Mozilla o alguien lanza un sistema operativo con una actualización API o una nueva versión, todo el mundo está en la mesa."En este punto, 8 o 9 años en Android, que han trabajado en torno a la cuestión de la fragmentación. Nosotros no tratamos con problemas de tamaño de pantalla más. Los paradigmas de desarrollo que se han desarrollado son dinámicos. Hemos trabajado en Brew, Symbian y una docena de otras plataformas. Hemos siempre tratan problemas de tamaño de pantalla y compatibilidad.
"El problema que tenemos es una especie de fragmentación inversa. Google ha estado cerrando su modelo. Han estado bajo escrutinio por lo que han estado quitando API. Por ejemplo, usted no tiene acceso directo a la NFC más. No se puede enviar y recibir un SMS de una aplicación que no es una aplicación de SMS predeterminada. Lo mismo ocurrió con los pagos móviles ".
Le pregunté acerca de una aplicación que he creado recientemente. Mi aplicación ordinaria envía un SMS utilizando sólo android.permission.SEND_SMS.
"Usted puede enviar un SMS, por ahora. Pero no se puede oler el tráfico y usted no tiene acceso al registro de llamadas.
"Las cosas han ido cerrando abajo. Nos ocupamos de fragmentación cuando nuestros clientes tienen ciertas habilidades y luego liberar un nuevo cliente con un conjunto de capacidades simplificada. (Usamos la palabra" cliente "de manera intercambiable con" construir. "Es un cliente móvil que interactúa con un componente de servidor.) No nos gusta quitar características de un usuario que está acostumbrado a tener esas características, sobre todo cuando esas características están generando ingresos para ese dispositivo. "
¿Qué pasa con la fragmentación iOS?
"Con iOS, la fragmentación es una bestia completamente diferente. A veces uno tiene que tener varios clientes. Apple controla el hardware, por lo que no se han desarrollado ciertas características. Y ciertas características llegado tarde. Usted trabaja a su alrededor. Apple también es mucho menos perdón y menos dispuestos a trabajar con usted en un montón de estas cosas. Pero eso es lo que pasa.
"Apple no le gusta trabajar con vehículos o principales desarrolladores de aplicaciones (empresas que ayudan a crear su ecosistema). Van a escoger sus parejas favoritas y trabajan con ellos. Pero la gente de Apple saben lo que quieren hacer y no hay cambiarlo. Puede solicitar APIs pero hay que luchar muy duro para conseguirlos. Si a usted le gustaría hacer algo más y que no ha planeado sobre ella o no quieren hacerlo, no va a suceder. Si algo va a suceder que romperá la funcionalidad, lo que tienes que vivir con ello ".
Android ha evolucionado paradigmas y marcos que tienen que ver con la compatibilidad hacia atrás. Está integrado en el sistema operativo.
Le pregunté acerca de la compatibilidad hacia atrás - un problema que puede afectar a todos los desarrolladores, incluyendo Android y iOS desarrolladores.
"Nosotros no tratamos con compatibilidad hacia atrás. Android ha evolucionado paradigmas y marcos que tienen que ver con la compatibilidad hacia atrás. Está integrado en el sistema operativo.
"IOS de Apple ha ido en el sentido inverso. Han tenido que construir a la altura. Para iOS, no tratamos con la variabilidad API tanto porque ves 95% la adopción del usuario en el primer día de su nuevo lanzamiento del sistema operativo. Por lo que realmente no preocuparse por la compatibilidad hacia atrás. Las personas que tienen ese problema de compatibilidad hacia atrás son tanto en la minoría que no vale la pena atacarlos. Usted no consigue ROI [retorno de la inversión] en él ".
¿Qué pasa con Microsoft?
"Por ahora, Microsoft es el tercer jugador en el juego. Cada año y medio Microsoft hace un restablecimiento completo de su entorno. Primero tuvieron Pocket PC y Windows Mobile. Pero Windows 8, 8.1 y 10 han sido versiones del sistema operativo en el móvil como así como el escritorio. Windows Phone 8 tenido Windows RT. Corría el tiempo de ejecución de encapsulado para el escritorio y tenían alrededor de 60% de cobertura de la API de escritorio en el móvil. Fue un comienzo en off completa.
Pero hemos escuchado el reclamo "escribir una vez" antes. Con Windows 10 que oficialmente tienen un sistema operativo en Xbox, en tabletas, en los escritorios y ahora los teléfonos. Ya veremos.
"Han pasado de Windows Mobile para Windows 8 / 8.1, y ahora están saltando a Windows 10. Desde la perspectiva de un portador, cada uno es una reescritura completa y un nuevo marco de marca. Es como cambiar los sistemas operativos cada vez. Una unos meses atrás se anunció una plataforma universal de Windows (el marco UWP) que se supone que arreglar las cosas por lo que voy a escribir una vez y vamos a trabajar en todas partes. Pero hemos escuchado el reclamo "escribir una vez" antes. Con Windows 10 que oficialmente tienen un sistema operativo en Xbox, en tabletas, en los escritorios y ahora los teléfonos. Ya veremos. "
¿En qué medida los teléfonos Windows juegan un papel en la planificación de su empresa?
"Desde una perspectiva portador, no queremos sólo dos jugadores. Queremos que muchos jugadores. Queremos un muy rico ecosistema. De lo contrario, se convierte en un ambiente muy cáustico, donde todo el mundo va en un sentido. Tratamos de nivelar el campo de juego y estandarizar la forma en que se hacen las cosas ".
Android Boletín desarrollador
Envolver
¿Tiene alguna idea finales?
"Cuando se elige un vehículo, desea que la experiencia con esa compañía sea uniforme a través de múltiples dispositivos. Usted quiere que sus contactos para trabajar en Windows, Apple, Android, Brew, Symbian, Firefox, Tizen, y todos los otros teléfonos. Si usted recibe un nuevo teléfono, que desea ser capaz de acceder a su cuenta de la misma manera y marcar números de teléfono de la misma manera. ¿Quieres correo de voz para trabajar de la misma manera y tener la misma calidad de la llamada. El objetivo de un vehículo es de proporcionar esta experiencia sin fisuras para el consumidor. El logro de esto es una lucha. Es un gran esfuerzo ".
¿Qué piensas?
¿Le ha sorprendido por las respuestas de estos dos expertos de la industria? ¿Cree usted que los transportistas están interfiriendo, ¿tienen demasiado poder? ¿Qué pasa con la fragmentación? Por favor, háganoslo saber en la sección de comentarios.