Прототипирование. Практическое руководство.

Факторы влияния.

Большинство моих ранних прототипов было создано с использованием HTML и CSS. Мне пришлось симулировать почти все взаимодействия и переходы AJAX. Программировать на JavaScript я умел плохо.

Однажды я решился познакомиться поближе с JavaScript-библиотеками Prototype и script.aculo.us. Испытания заняли несколько дней, и наконец у меня начало что-то получаться. С тех пор моя жизнь изменилась.

В то время, когда писалась эта глава, большинство своих прототипов я создавал с использованием HTML, CSS, Prototype и script.aculo.us. Мои навыки программирования на JavaScript совершенствовались, и мне больше не нужно было симулировать AJAX.

Количество доступных вариантов прототипирования продолжало увеличиваться. К тому моменту, когда я закончу эту книгу, мой набор инструментов может снова измениться. Я попробовал JavaScript-библиотеку jQuery. Компания Adobe только что выпустила новые версии Fireworks и Flash. Кто знает, что еще появится?

Так почему люди выбирают HTML, Flash, Fireworks, Axure или что-то еще? Согласно опросу, на выбор инструмента сильнее всего влияли следующие факторы (в порядке убывания важности):

1. Знание инструмента и его доступность.

2. Время и усилия, необходимые для создания работающего прототипа.

3. Возможность создания прототипа, пригодного для тестирования.

4. Цена.

5. Характер кривой обучения.

6. Возможность создавать свои интерфейсные виджеты.

7. Доступность на используемой платформе.

8. Возможности совместного и удаленного проектирования.

9. Встроенные решения или шаблоны для переходов AJAX.

10. Встроенные интерфейсные виджеты.

11. Создание кода, пригодного к дальнейшему использованию.

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

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

В списке есть требование: создание кода, пригодного к дальнейшему использованию. Заметили, что оно стоит в списке последним? Оно несколько коварно.

Создание прототипов, которые можно использовать в окончательной версии продукта, не входит в число рекомендуемых и часто используемых приемов. Тому есть несколько причин. Прототипирование – быстрый итеративный процесс исследования идей, часто неудачных, и познания. Если вы сосредоточитесь на создании готового кода, вы потеряете выгоду от быстрых итераций.

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

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