2011-01-24 15 views
8

Voy a tratar de mantener esto corto, pero necesito algunos consejos.Aplicación de actividad única

Trabajo en un equipo que desarrolla aplicaciones para android, iphone y wp7 en paralelo. Tenemos un equipo de diseño que presenta un diseño único para las tres plataformas.

El diseño de la última aplicación es más marketing que productividad. El POC original para esta aplicación se realizó en el iPhone. El diseño está muy centrado en la animación y la mayoría de los cambios de estado son uniformes (las cosas se animarán dentro y fuera de la pantalla durante las transiciones de estado).

Si sigo desarrollando en contra de este diseño, significa que tendré que tener todo en una sola actividad. Hasta ahora, esto ha sido un gran dolor de cabeza. Que yo sepa, casi es necesario dividir su aplicación en actividades. Podría intentar cargar y descargar dinámicamente las vistas a medida que cambio los estados, pero esto no parece correcto.

Veo de dónde viene el equipo de diseño donde quieren que todos estos cambios de estado sean continuos, pero no creo que esto sea correcto para android.

Me gustaría saber qué tiene más sentido. ¿Debe cambiar el diseño para incorporar actividades múltiples o valdría la pena tratar de hacer que esto funcione?

+0

Me gustaría agregar una limitación tremendamente importante adicional a la mezcla: la falta de múltiples actividades en pantalla a la vez. Se introdujeron fragmentos para ayudar con el fiasco, pero no se pueden anidar por sí mismos, lo que hace que la solución de Fragment sea una solución de parche que todavía no resuelve el problema. Nos lleva un paso más allá, pero todavía no podemos seguir el ritmo de iOS/WP7 (y todavía limita en gran medida a los diseñadores) También su comentario "pero no creo que sea correcto para Android" sorprende bastante. Creo que la realidad de Android hace exactamente lo contrario -> "pero no creo que Android sea el adecuado para esto" – Marchy

Respuesta

6

Tenemos un equipo de diseño que presenta un diseño único para las tres plataformas.

Eso es similar a idear un solo plano de planta que se aplicará a apartamentos, viviendas unifamiliares y almacenes. Los diseñadores o la gerencia necesitan que se les examine la cabeza.

El último diseño de la aplicación es más marketing que productividad.

¿Mencioné que los diseñadores o la gerencia necesitan que se les examine la cabeza?

Si sigo desarrollando en contra de este diseño, significa que tendré que tener todo en una sola actividad.

Si interpreto correctamente sus requisitos, probablemente sea preciso. Si bien puede organizar animaciones entre actividades, se trata más bien de "deslizar el viejo, deslizar el nuevo", y sospecho que sus requisitos superan eso.

Que yo sepa, es casi imposible dividir su aplicación en actividades.

Sin duda, es el modelo de desarrollo previsto de Android para las aplicaciones normales. Sin embargo, los juegos y similares pueden no seguir este patrón, y tampoco es necesario.

Podría intentar cargar y descargar dinámicamente vistas a medida que cambio los estados, pero esto no parece correcto.

Dependiendo de la cantidad de estados que exista, puede esperar a todos ellos, reciclando sobre la marcha.

+0

El principal punto de esta pregunta era sobre cómo sortear las severas limitaciones arquitectónicas de Android en torno a las Actividades. Sí, UX debe diseñarse de manera independiente para cada plataforma móvil, pero la cuestión se reduce a las limitaciones que deben restringir los diseñadores en la creatividad de sus diseños. Quiero agregar una limitación adicional importante en Android, que es la falta de múltiples actividades en la pantalla a la vez. Los fragmentos tampoco ayudan (lo suficiente), ya que no se pueden anidar y, por lo tanto, proporcionan una solución de patchwork limitada a un problema arquitectónico crítico. – Marchy

0

Es posible que desee echar un vistazo a la subclasificación de ActivityGroup para su actividad de nivel superior. Eso puede albergar múltiples subactividades. TabActivity, la única subclase de stock de ActivityGroup, quizás no es lo que necesita porque incluye un widget de pestañas, pero puede usarlo como inspiración para lo que necesita.

¿Qué dolores de cabeza específicos tiene con una arquitectura de actividad única? Tal vez haya formas de hacerlo menos doloroso.

0

En general, si pretende tener aplicaciones nativas con una apariencia nativa, no es razonable tener un solo diseño de interfaz de usuario para las tres plataformas. Las pautas de la interfaz de usuario y las expectativas de los usuarios respecto de los sistemas son diferentes, y esas diferencias deberían reflejarse en los diseños de la interfaz de usuario.

Si realmente desea tener una sola interfaz de usuario para todas las plataformas, simplemente cree una aplicación web en su lugar.

No estoy seguro de qué quiere decir con un diseño "centrado en la animación" con cambios de estado sin problemas. Si usa varias actividades, Android se animará entre ellas de una manera que los usuarios de Android esperarán. Si explicas qué es exactamente lo que intentas lograr, podemos ayudarte a descubrir si tiene sentido en Android y, de ser así, cómo lograrlo.

+1

Me disculpo por mi vaguedad. Quise decir que la aplicación realmente no tiene un lugar donde pueda hacer estos "descansos" para pasar a otra actividad. En su diseño, quieren que la aplicación se sienta "suave y sin interrupciones", sin tener "cambios de página". – khendricks

+0

Veo, bueno, sin saber nada sobre su aplicación, no puedo decir si eso tiene sentido o no. Si se trata de una interfaz similar a un juego donde todo encaja lógicamente en una página, eso podría tener sentido. Si hay una progresión lógica de avance/retroceso a través de una aplicación, entonces desea utilizar múltiples actividades para que el botón Atrás y la navegación funcionen como se espera. –

+1

¿Es el requisito "suave y sin interrupciones" algo específico en términos de la experiencia del usuario? Después de todo, reemplazar todas las vistas en la misma actividad parece tan disruptivo como cambiar a una nueva actividad. Me parece que quiero tener cambios de estado sin cambiar los estados. (Para decirlo de otra manera, asegúrese de que los requisitos de marketing para la experiencia del usuario no se apliquen erróneamente como requisitos de arquitectura de software). –

1

Me sorprende que nadie mencionó fragments que se puede utilizar en lugar de actividades en muchos lugares.

Los fragmentos se pueden animar perfectamente dentro y fuera o una actividad.

Cuestiones relacionadas