Logo es.androidermagazine.com
Logo es.androidermagazine.com

Abordar la 'fragmentación': los desarrolladores dicen que no admiten múltiples pantallas

Tabla de contenido:

Anonim

Android se ejecuta en una variedad de dispositivos, lo que significa que también se ejecuta en una variedad de tamaños y resoluciones de pantalla. Mucha gente llama a esto "fragmentación". No importa el hecho de que hayan estado utilizando productos diseñados y desarrollados de la misma manera durante años en su escritorio. Aparentemente, si todo no es exactamente igual, obtiene la etiqueta de "fragmentación".

Existen diferentes formas de abordar los problemas que surgen cuando utiliza pantallas con diferentes tamaños y densidades. Apple tiene listados separados para aplicaciones diseñadas para iPhone versus iPad. Microsoft crea un nuevo ecosistema para sus dispositivos de pantalla grande. Android proporciona una forma para que los desarrolladores hagan que la misma aplicación funcione de manera diferente para diferentes pantallas. Hay buenos y malos en cada método, pero aquí nos centraremos en Android.

En Android, las aplicaciones pueden ajustar el diseño para pantallas de diferentes tamaños, así como la resolución. Todo esto está integrado, pero hay algunas cosas que los desarrolladores deben declarar en su código para que la aplicación se vea bien. Lo que hay que tener en cuenta es cómo el tamaño y la densidad de la pantalla cambiarán el aspecto de la aplicación. El Droid DNA tiene una pantalla de mayor resolución que la tableta Motorola XOOM, pero no queremos ver un diseño de tableta para aplicaciones en la pantalla del tamaño del teléfono.

Un desarrollador necesita proporcionar activos (imágenes) que sean de una calidad lo suficientemente alta como para verse nítidos en alta resolución (no importa la resolución increíblemente alta), y asegúrese de usar unidades de píxeles independientes de la densidad al diseñar su diseño. Esto es lo que evita que elementos como los botones y otros controles sean realmente grandes en pantallas de baja densidad como el Galaxy S2, o que sean realmente pequeños en pantallas de alta densidad como el ADN.

Suena complicado, pero la mayoría de estas cosas se hacen para codificar una aplicación. Todo lo que el desarrollador debe hacer es hacer las declaraciones correctas y proporcionar los activos correctos para admitir cualquier tamaño (tanto físico como de resolución) o diseño. Incluso múltiples aplicaciones de diseño como la aplicación Google+ usan el mismo código para cubrir todas las pantallas imaginables.

No estamos tratando de juzgar a los desarrolladores aquí. Escribir aplicaciones es difícil. Los desarrolladores de Android han estado predicando todo esto desde el lanzamiento de Gingerbread, pero ¿qué tan práctico es? Le preguntamos a algunos desarrolladores al respecto, ver qué tenían que decir después del descanso.

Más: sitio para desarrolladores de Android de Google.

Le preguntamos a un puñado de desarrolladores (tanto grandes como pequeños) un par de preguntas básicas sobre el tema.

  • ¿Qué tan difícil es cumplir con las pautas?
  • Parece fácil en papel, pero ¿hay algún problema especial que haya visto o partes que Google no haya cubierto?
  • ¿Cómo afectó esto el tiempo y los costos de desarrollo, si es que lo hizo?
  • ¿Algo más sobre el tema que le gustaría compartir?

Traté de hacer las preguntas lo más neutrales posible para que no entremos en esto con algún sesgo. En caso de duda, le preguntas a las personas que saben, ¿verdad? He hecho mi parte de programación, pero la codificación en Java y la creación de aplicaciones de Android es muy diferente de escribir código en C o código de máquina, o incluso Perl. Hay matices que no entiendo, incluso si obtengo los métodos generales para crear una aplicación.

Me imagino que un buen número de ustedes son como yo y no conocen las complejidades de crear aplicaciones de Android. Solo vemos lo que dicen los desarrolladores de Android, y hacen que suene fácil. Para ellos, probablemente lo sea: han estado escribiendo estas cosas desde cero desde 2007. Veamos qué tienen que decir las personas que han podido seguirlos.

Joe Simpson (@kennydude) - Boid

Joe es miembro del equipo Boid y también publica aplicaciones por su cuenta. Él (y el resto de su equipo) son un gran ejemplo de desarrolladores independientes apasionados por Android que han creado algunas aplicaciones increíbles.

Seguir las pautas es bastante difícil, especialmente si desea una aplicación esbelta pero la gente quiere compatibilidad con versiones anteriores. Una de las cosas más molestas es ver cómo se ve algo en d.android.com/design, pero nada sobre cómo hacerlo.

Un punto débil es refrescante cuando físicamente no puedes usar GCM debido a Twitter, y no quieres usar PtR. Además, las aplicaciones de Google crean sus propias pautas. Tome el panel deslizante, por ejemplo, Google+ lo hace de manera diferente a YouTube (aunque sé que la biblioteca de soporte resolverá esto).

Además, puede llegar a un punto y no hay documentación sobre algo (EdgeEffect, por ejemplo).

Soy estudiante, por lo que los costos son algo que no lo veo, y sí, lleva tiempo, pero tus usuarios te amarán. Básicamente, los shows en vivo (ADiA, App Clinic, Office Hours) son obligatorios (desafortunadamente) aunque no pueden ofrecer comentarios sobre las aplicaciones de Google.

Boid pronto se convertirá en código abierto (¡sí!), Y puedes encontrar la aplicación en Google Play. También encontrarás todas las aplicaciones de Joe (hay algunas joyas allí) aquí mismo.

Christophe Versieux - BeTrains - SNCB Bélgica; HoloEverywhere

Christophe ha creado numerosas aplicaciones de Android, incluyendo BeTrains, SNCB Belguim, una aplicación con un diseño magnífico que muestra lo que se puede hacer con una aplicación bien construida. Si bien la mayoría en los EE. UU. Nunca lo usará (es una aplicación de horario de trenes para rieles belgas) vale la pena instalarlo solo para ver qué tan bien está hecho. La gente en Europa occidental ciertamente sabe de esto.

Además, ha desarrollado conjuntamente HoloEverywhere, una biblioteca que otros desarrolladores pueden usar para crear aplicaciones de estilo Holo para Android 2.1 y versiones posteriores. Con muchos teléfonos que aún ejecutan Gingerbread, este es un verdadero placer para los desarrolladores que desean mantener sus aplicaciones con un aspecto actual.

No es nada difícil. Seriamente. ¡La parte difícil llega cuando el cliente pide alejarse de esas pautas!

Recuerdo a un cliente que quería que pusiera pestañas en la parte inferior de la pantalla, botones de iPhone en todas partes, alternar al estilo iPhone y este proyecto fue realmente difícil de lograr y realmente perdí mucho tiempo y dinero.

Estaba realmente enojado con él cuando me preguntó todas estas estúpidas cosas, y él solo pensó que yo era un desarrollador perezoso.

Ahora tengo mucho contacto con él y estamos reescribiendo totalmente su aplicación, creando un código increíble al eliminar todas estas características inútiles y creando una aplicación de Android "pura". Creo firmemente que los clientes y las empresas solo deben conocer esas pautas.

Las bibliotecas como ActionBarSherlock, HoloEverywhere (mi creación), UnifiedPreferences y SlidingMenu son realmente fáciles de usar y proporcionan en unas pocas líneas de código una experiencia de usuario increíble.

El tiempo y el costo, como dije, se minimizan siguiendo las pautas de Google. Los fragmentos y las carpetas de diseño son realmente fáciles de usar (y más importante para reutilizar): una aplicación de tableta simplemente toma un fragmento de código del diseño del teléfono y no se debe reescribir nada. Pequeños cambios en la aplicación del teléfono se reflejan inmediatamente en la aplicación de la tableta, ya que se utiliza el mismo Fragmento.

Algunos proyectos increíbles son creados por la comunidad, no siempre por Google. Algunas personas, muy activas en Google+ como Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling, … (siempre tengo miedo de olvidar a las personas importantes) son muy instructivas. ¡Los desarrolladores solo necesitan saber dónde buscar y el desarrollo de Android será fácil para ellos!

Puede encontrar BeTrains en Google Play, y querrá echar un vistazo a HoloEverywhere si está interesado en el desarrollo de Android.

Matthew Runo - Zappos

En contraste con algunos de los desarrolladores independientes más pequeños con los que hablamos, también escuchamos de Matthew en Zappos. Zappos es una corporación minorista web y probablemente tiene un presupuesto dedicado para el diseño tanto en su sitio web como en sus aplicaciones. También es una compañía que compro regularmente, pero esto no tenía importancia y Matthew no sabía que yo era un cliente frecuente cuando se ofreció como voluntario.

En Zappos, dado que somos minoristas, tenemos que ceñirnos ante todo a nuestra propia marca. Loco, divertido y un poco fuera de la pared. Dicho esto, ambos creemos firmemente en las pautas de diseño de Android, y todo lo que hacemos en la interfaz de usuario se toma del espíritu de esas reglas. Hace un año, nuestra aplicación era principalmente un puerto iOS por cómo se veía y funcionaba. Hoy, creo que es una joya de lo que puedes hacer en Android. Nos adherimos a las pautas siempre que sea posible, y nuestros diseñadores trabajan a partir de ellas como punto de partida.

Las pautas de diseño no son un principio absoluto: al final, solo están allí para tratar de impulsar el diseño de las aplicaciones de Android para que sean más consistentes. Hemos descubierto que la mayoría de las "nuevas" bibliotecas de código abierto comunes que hemos utilizado han terminado como parte de las pautas (menú deslizante, crouton).

Las pautas nunca deben ser un retraso. Ciertas cosas, la navegación general, deben ser consistentes para que su aplicación "simplemente funcione". Todo lo demás: comience con las pautas y continúe con su diseño. Queremos que nuestra aplicación sea NUESTRA APLICACIÓN, por lo que no podemos simplemente hacer el tema holo de referencia.

Este año, básicamente, comenzamos desde una reescritura de nuestra aplicación para trabajar con fragmentos. En los últimos 6 meses hemos trabajado duro para agregar soporte para tabletas de 7 ", y actualmente estamos trabajando en soporte de 10". Lo más difícil es probar en dispositivos, pero tenemos un gran equipo de control de calidad que ayuda con eso. Hemos tenido 2 personas trabajando a tiempo completo en nuestra aplicación desde agosto más o menos, antes de eso era 1 persona a tiempo completo.

En resumen, creo que las pautas de diseño de Android nos ayudan a simplificar nuestro proceso y, por lo tanto, a reducir los costos. Seamos realistas, la mayoría de los diseñadores de iOS, por lo que tener un gran recurso como design.android.com es una ayuda maravillosa para que se inicien en el ecosistema de Android.

Puedo decir que las opciones de diseño de Zappos funcionan bien, y mi esposa tiene un armario lleno de ropa, carteras y botas que refuerzan mi afirmación. Echa un vistazo a su aplicación de Android de Google Play.

Josh Burton - jRemote

Josh ha creado numerosas aplicaciones pequeñas para Android, y su aplicación jRemote (es un controlador para el popular programa de PC jDownloader) es un ejemplo perfecto de cómo usar diseños para crear una aplicación que se vea genial tanto en el teléfono como en una tableta. Maximiza el uso de la pantalla del dispositivo y le brinda la información que está buscando exactamente como la esperaría.

Cumplir con las pautas de diseño es bastante sencillo, siempre y cuando las cumpla desde el principio. Desarrollar una aplicación completa y, al final, volver atrás e intentar implementar fragmentos / diseños de tabletas, etc. será una pérdida de tiempo, esfuerzo y frustración. Pero si planifica su aplicación, la desarrolla utilizando fragmentos desde el principio y crea sus recursos para todos los depósitos de dpi correctos, esto hace que el desarrollo sea muy fácil, y realmente no necesita pasar mucho tiempo pensando en las pautas. Y si te quedas atascado, los documentos de diseño están a solo un clic de distancia. Son un gran recurso.

Realmente me frustra que tantos dispositivos no tengan diseños de tableta. Si su aplicación está construida con fragmentos, puede agregar un diseño de tableta en 30 minutos. Honestamente, es así de fácil.

Creo que para muchos desarrolladores, no tienen dispositivos de tableta para probar, y usar el emulador puede ser una molestia. Pero las nuevas herramientas ADT recién lanzadas lo hacen mucho más fácil. La vista de configuración múltiple en el editor de diseño significa que puede ver cómo se ve su diseño en 5-6 tamaños de pantalla diferentes a la vez. Y es rápido. Por supuesto, aún necesitará probar un emulador / dispositivo eventualmente, pero definitivamente acelera el flujo de trabajo.

jDownloader es un programa útil para usar en su escritorio, y jRemote parece una forma maravillosa de controlarlo. Por lo menos, descárguelo de Google Play y eche un vistazo para ver cómo una aplicación puede ser simple y hermosa al mismo tiempo.

Hemos escuchado de muchos otros desarrolladores que prácticamente dicen lo mismo. Estamos fuera de lugar aquí para enumerarlos a todos. La esencia de todo es que si planifica con anticipación, las pautas para desarrolladores de Android realmente funcionan para la mayoría de los casos. Nos complace escucharlo y seguiremos disfrutando de excelentes aplicaciones y apoyaremos a los desarrolladores que trabajan arduamente.