Реализация полнофункционального прототипа для веб-приложения

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

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

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

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

6 ответов

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам