Реализация полнофункционального прототипа для веб-приложения - PullRequest
1 голос
/ 24 июня 2009

Я создаю прототип для веб-приложения и рассматривал возможность создания внешнего интерфейса в HTML, который затем можно будет повторно использовать для реального приложения. Ранее я делал прототип на основе Flash, который встраивал .swf в исполняемый файл C #. Флэш-память сделана для быстрого оборота, в то время как приложение для Windows предоставило неограниченный доступ к модным API-интерфейсам для доступа к БД и звука.

Я хочу рассмотреть нечто подобное и для этого. Имеет ли этот подход смысл? Я особенно обеспокоен тем, как HTML будет взаимодействовать с контейнерным приложением. Из того, что я понимаю из предварительного исследования, это будет только через JavaScript, который может быстро стать громоздким. Это особенно актуально, поскольку в отличие от прототипа на основе Flash, в котором реализована большая часть его функциональных возможностей в .swf, пользовательский интерфейс HTML будет полностью зависеть от оболочки, поддерживающей состояние. Кроме того, мне не нужно ничего больше, чем доступ к базе данных. Так что настольное приложение может быть излишним.

Еще одна альтернатива, которая приходит на ум, - это создать прототип с использованием PHP и развернуть его с помощью переносимого стека серверов, такого как Server2Go или XAMPP. Но я никогда не делал что-то подобное раньше. Кто-нибудь здесь пролил свет на недостатки этого подхода?

Ключевое требование - быстрые итерации пользовательского интерфейса, многократно используемый интерфейсный код и упрощенное развертывание без каких-либо установок или настроек.

Ответы [ 6 ]

4 голосов
/ 24 июня 2009

Некоторые из лучших советов по программированию, которые я видел, были получены из Code Complete и были такими: «Эволюционные прототипы - это хорошие вещи, а одноразовые прототипы - хорошие вещи, но вы сталкиваетесь с проблемами когда вы пытаетесь сделать одно из другого ". То есть, знайте, какой тип прототипа вы разрабатываете, и уважайте его. Если вы разрабатываете одноразовый прототип, не позволяйте себе использовать что-либо из этого, каким бы заманчивым оно ни было, в производственной системе. И если вы разрабатываете эволюционный прототип, который призван стать производственной системой, ни в коем случае не ставьте под угрозу качество.

Звучит так, будто вы пытаетесь получить и то, и другое, быстрое развитие одноразового использования и возможность повторного использования эволюционного прототипа - а вы не можете. Решайся и поддерживай это. Ты не можешь съесть свой торт и съесть его тоже.

2 голосов
/ 24 июня 2009

Вы создаете прототип пользовательского интерфейса для клиента?Если это так, рассматривайте что-то менее громоздкое, например, бумажные прототипы или программное обеспечение для презентаций (например, PowerPoint), пока не добьетесь пользовательского интерфейса.Если вы можете установить пользовательский интерфейс и получить четкое представление о требованиях клиента, вы можете разработать приложение в соответствии с реальной платформой, имея в виду четкую модель.

В моем текущем проекте я создал прототипПользовательский интерфейс в PowerPoint первый.В последующей итерации я использовал статические веб-страницы и некоторые плагины jQuery для имитации реального взаимодействия с пользователем.Это оказалось очень эффективным при демонстрации интерфейса, и мне не нужно было сначала создавать приложение.

2 голосов
/ 24 июня 2009

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

1 голос
/ 24 июня 2009

Я хотел бы присоединиться к людям, предлагающим бумажное прототипирование как «идею», но не обязательно реализацию. Самое важное здесь то, что такие инструменты, как HTML или Flash, позволяют вам «погрузиться» в детали - как выглядит этот цвет? Какой текст на этой вещи? Много времени может пройти таким образом. Вместо этого вам следует сосредоточиться на пользовательских потоках.

Одним из инструментов, который сохраняет дух бумажного прототипирования без всех «бумажных» недостатков, является Balsamiq: http://www.balsamiq.com/demos/mockups/Mockups.html. Он был описан Джеффом и Джоэлом в одном из подкастов Stack Overflow; Я использовал его для своих собственных проектов некоторое время. Это бесплатное программное обеспечение, и оно делает свою работу великолепно.

0 голосов
/ 24 июня 2009

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

Как упомянуто ранее, есть много инструментов для создания прототипов, которые имеют некоторую кривую обучения, но альтернативой для рассмотрения будет использование инфраструктуры, такой как CakePHP или Ruby on Rails, которая обеспечивает быструю логику приложения и оставляет настройку внешнего интерфейса. быть основной тяжелой работой осталось. И, кроме того, у вас остается в основном функциональное приложение, когда вы закончите с вашим прототипом, который может быть настроен по мере необходимости.

В любом сценарии вы платите своим временем либо авансом (в случае изучения новой структуры), либо временем оплаты (в случае прототипирования на бумаге или ручного кодирования).

0 голосов
/ 24 июня 2009

Если вы знаете C #, вы можете посмотреть еще на Silverlight. Затем вы можете использовать свои знания C # и / или JavaScript и взаимодействовать с богатой объектной моделью.

Будет ли это делать то, что вы ищете? Установка будет минимальной со стороны клиента - скачайте и установите плагин Silverlight

...