2011-01-24 3 views
8

Я постараюсь сохранить это, но мне нужен совет.Одиночный вид деятельности

Я работаю над командой, которая параллельно разрабатывает приложения для Android, iphone и wp7. У нас есть команда дизайнеров, которая предлагает единый дизайн для всех трех платформ.

Дизайн последнего приложения больше маркетинга, чем производительности. Оригинальный POC для этого приложения был сделан на iphone. Конструкция очень ориентирована на анимацию, и большинство изменений состояния являются бесшовными (вещи будут отображаться на экране и за его пределами во время переходов состояния).

Если я продолжу развиваться против этого проекта, это означает, что мне придется иметь все в одном действии. До сих пор это была серьезная головная боль. Насколько мне известно, разделение вашего приложения на действия почти необходимо. Я могу попытаться динамически загружать и выгружать представления по мере изменения состояний, но это кажется неправильным.

Я вижу, где команда разработчиков идет от того, где они хотят, чтобы все эти изменения состояния были бесшовными, но я не думаю, что это правильно для андроида.

Я хотел бы знать, что имеет смысл. Если проект изменится, чтобы включить несколько действий или было бы целесообразно сделать эту работу.

+0

Я хотел бы добавить дополнительное огромное ограничение для микса: отсутствие нескольких действий на экране сразу. Фрагменты были введены, чтобы помочь с фиаско, но сами не могут быть вложенными, что делает обходным решением Fractment решение патча, которое все еще не решает проблему. Получает нас еще один шаг, но все еще не может идти в ногу с iOS/WP7 (и все еще сильно ограничивает дизайнеров) Также ваш «но я не думаю, что это правильно для Android» замечает забавно. Я думаю, что реальность Android делает это как раз наоборот -> «но я не думаю, что Android подходит именно для этого» – Marchy

ответ

6

У нас есть команда разработчиков, которая предлагает единый дизайн для всех трех платформ.

Это похоже на придумывание плана одного этажа для квартир, домов для одной семьи и складов. Дизайнеры, или менеджеры, должны рассмотреть их головы.

Дизайн последнего приложения больше маркетинга, чем производительности.

Я упоминал, что дизайнеры или руководство должны рассмотреть их головы?

Если я продолжу развиваться против этого проекта, это означает, что мне придется иметь все в одном действии.

Если я правильно интерпретирую ваши требования, возможно, это точно. В то время как вы можете организовать анимацию между действиями, это скорее «сдвиньте старое, сдвиньте новое», и я подозреваю, что ваши требования превышают это.

Насколько мне известно, деление вашего приложения на деятельность практически необходимо.

Это, конечно же, предполагаемая модель разработки Android для обычных приложений. Однако игры и т. П. Не могут следовать этой схеме, и вам тоже этого не нужно.

Я могу попытаться динамически загружать и выгружать представления по мере изменения состояний, но это не кажется правильным.

В зависимости от того, сколько штатов существует, вы можете просто повесить на них все, перерабатывая, когда идете.

+0

Главным моментом этого вопроса было то, как обойти серьезные архитектурные ограничения Android вокруг «Активных дел». Да UX должен быть разработан независимо для каждой мобильной платформы, но вопрос сводится к тому, какие ограничения должны ограничивать дизайнеры в творчестве их проектов. Я хочу добавить еще одно важное ограничение на Android, которое представляет собой отсутствие нескольких действий на экране сразу. Фрагменты также не помогают (достаточно), так как они не могут быть вложенными, и, таким образом, обеспечивают ограниченное решение пэчворка для критической архитектурной проблемы. – Marchy

0

Возможно, вы захотите взглянуть на подклассификацию ActivityGroup для своей деятельности на высшем уровне. Это может содержать несколько вспомогательных действий. TabActivity, единственный подкласс подкласса ActivityGroup, возможно, не тот, который вам нужен, поскольку он включает в себя виджет вкладки, но вы можете использовать его как вдохновение для того, что вам нужно.

Какие конкретные головные боли у вас есть с однопроцессорной архитектурой? Возможно, есть способы сделать это менее болезненным.

0

В целом, если вы хотите иметь собственные приложения с естественным внешним видом, нецелесообразно иметь единый дизайн пользовательского интерфейса для всех трех платформ. Руководящие принципы пользовательского интерфейса и ожидания пользователей для систем различны, и эти различия должны быть отражены в дизайнах пользовательского интерфейса.

Если вы действительно хотите иметь единый интерфейс для всех платформ, просто создайте веб-приложение.

Я не совсем уверен, что вы подразумеваете под «анимационно-ориентированным» дизайном с плавным изменением состояния. Если вы используете несколько действий, Android будет анимировать между ними так, как ожидают пользователи Android. Если вы объясните, что именно вы пытаетесь выполнить, мы можем помочь вам разобраться, имеет ли смысл в Android, и если да, то как это сделать.

+1

Прошу прощения за мою неопределенность. Я имел в виду, что приложение действительно не имеет места, где я могу сделать эти «трудные перерывы» для перехода к другому действию. В своем дизайне они хотят, чтобы приложение было «гладким и бесшовным», а не «перелистывание страниц». – khendricks

+0

Я вижу, ну, не зная ничего о вашем приложении, я не могу сказать, имеет ли это смысл или нет. Если это игровой интерфейс, где все логически подходит на одной странице, это может иметь смысл. Если в приложении есть логическое продвижение вперед/назад, то вы хотите использовать несколько действий, чтобы кнопка «Назад» и «Навигация» работали должным образом. –

+1

Является ли «гладким и бесшовным» требование что-то конкретное с точки зрения пользователя? В конце концов, замена всех взглядов в одной и той же деятельности кажется столь же разрушительной, как переход на новую деятельность. Мне кажется, что я хочу иметь изменения состояния без изменения состояний. (Чтобы сказать все по-другому, будьте уверены, что требования к маркетингу для пользователей не будут неправильно применяться в качестве требований к архитектуре программного обеспечения.) –

1

Я удивлен, что никто не упомянул fragments, который можно использовать вместо видов деятельности во многих местах.

Фрагменты могут быть легко анимированы и выведены или действуют.

Смежные вопросы