¡Gracias por el A2A, Quora User! Tengo tres estrategias arquitectónicas para que consideres y haré todo lo posible para brindarte las ventajas y desventajas de cada una.
Flujo maestro-detalle
- ¿Existe alguna aplicación de Android que mezcle de manera inteligente sus canciones en la lista de reproducción para que no necesite cambiar las canciones cada vez?
- ¿Cuáles son las etapas principales en el desarrollo de aplicaciones de Android?
- ¿Cuál es la aplicación de GPS más precisa para Android?
- ¿Cuál es la mejor aplicación de Android con gestión de gastos y deudas?
- Desarrollo de aplicaciones de Android: ¿Cuánto costaría hacer una aplicación de Android como Homejoy?
¿Que es esto? Un fragmento de navegación (A) lleva al usuario a otro fragmento (B) en sus teléfonos. En su tableta, se abrirá el fragmento B en el panel del lado derecho en lugar de lanzar una nueva Actividad.
A nivel técnico, esto requiere dos diseños principales: pantalla completa y navegación con panel del lado derecho. La Actividad A debe detectar si el diseño tiene el panel del lado derecho disponible y carga el Fragmento B en él en lugar de lanzar una nueva Actividad.
Pros:
- Relativamente simple de implementar
- Funcionalidad reutilizable
Contras:
- Su diseño es increíblemente limitado.
- Estás obligado a usar Fragmentos, y los Fragmentos apestan
Los fragmentos proporcionan una API pobre y confusa; como Square, me he rendido con ellos. También odio la previsibilidad y el alcance limitado de este diseño. Incluso si se hace sin Fragmentos, obligar a dos contenedores de Vista a trabajar entre sí requiere una capa adicional de control de IU en la Actividad que los distorsiona.
Esta práctica introduce un fuerte acoplamiento [1] y una combinación de responsabilidades con las que se vuelve más difícil trabajar con el tiempo. Pero, de nuevo, si este es el diseño que desea y no puede priorizar un diseño más elegante, continúe y utilícelo.
Diseño de materiales
La reciente dirección de diseño de Google proporciona, en mi opinión, una experiencia muy superior en tabletas y teléfonos móviles en comparación con el antiguo y reventado flujo Master-Detail. Material Design pone al usuario primero y no al desarrollador que busca ahorrar algo de tiempo reutilizando Fragments a su conveniencia.
El patrón que se ve aquí presenta una experiencia de pantalla completa en el teléfono y experiencias compactadas en pantallas más grandes. En un nivel técnico, los Fragmentos salen por la ventana en este diseño a favor de Actividades que esencialmente permanecen igual. Las diferencias clave se encuentran en los archivos de diseño para la Actividad, los elementos de la lista y más.
Pros:
- ¡Se ve fantastico!
- Sigue un patrón que los usuarios conocen (de los productos de Google)
- Menos código hacky involucrado
Contras:
- Mas trabajo
- Tienes que aprender Diseño de materiales
Me encanta el diseño de materiales, es brillante para mí. Las guías proporcionan una cantidad increíble de detalles que ayudan a acelerar el proceso de aprendizaje. Seguir Mat-Des tiene beneficios adicionales: los usuarios se adaptarán a sus aplicaciones porque se ven profesionales y es más probable que Google presente su aplicación si ayuda a promover su gran plan maestro.
Usa el espacio
En este ejemplo, The Economist y aplicaciones similares proporcionan una experiencia diferente y posiblemente superior para los usuarios de sus tabletas. Estos podrían ser Fragmentos, podrían ser parte de una sola Actividad, en realidad no importa.
Pero en lugar de estirar una vista móvil o incluso refactorizarla para llenar un lienzo súper ancho, le han dado al usuario más para hacer, más para interactuar y han hecho que la experiencia sea única para ellos y su dispositivo.
Pros:
- Los usuarios de tabletas se sienten especiales
- Su experiencia de tableta se destaca
Contras:
- Más trabajo que las opciones anteriores porque también debe diseñarlo usted mismo
- Código menos reutilizable (algunas de estas pantallas / Actividades / Vistas solo se aplicarán a las tabletas)
Si sabe con certeza que los usuarios de tabletas están interesados en su aplicación, no puede hacerles un favor mayor que recompensándolos por descargar su aplicación. Si bien la mayoría de los diseños de tabletas se sienten como ideas posteriores, la suya les mostrará que se preocupan por ellos y su experiencia.
¡Gracias por leer! Si te encantó mi respuesta, por favor ‘ vota ‘ y sígueme ¡para obtener más respuestas sobre Android, desarrollo de software y más cosas divertidas!
¿Quieres trabajar juntos? Contáctame !
Notas al pie
[1] Acoplamiento (programación de computadora)