Прототипы приложений
80Expression Blend --- SketchFlow --- Прототипы приложений
Время от времени разработчикам выпадает случай создать мелкомасштабное приложение, например, простой конфигуратор для внутреннего употребления, видеоигру для себя, цифровой организатор мультимедийных средств или диспетчер контактов. Подобные проекты обычно разрабатываются в одиночку и не требуют составления планов на будущее, словаря данных, технических требований или другой проектной документации. Вместо этого, разработчик обращается непосредственно к модели разработки программного обеспечения по принципу "программируй и исправляй ошибки", т.е. он просто начинает писать исходный код, отлаживая и исправляя по ходу дела программные ошибки.
Правда, большинство разработчиков (и их руководители) хорошо понимают особое значение официально утверждаемого жизненного цикла разработки проекта для организации крупномасштабных работ по созданию программного обеспечения.
В частности, во многих коммерческих организациях для этой цели применяется модель RUP (Rational Unified Process — Рационально унифицированный процесс разработки), в которой формализуются основные повторяющиеся стадии типичного проекта разработки программного обеспечения. Модель RUP и многие другие методологии разработки программного обеспечения стимулируют создание прототипа приложения на ранней стадии, чтобы сымитировать внешний вид и функции программного продукта, готового для промышленной эксплуатации.
Создание прототипов приложений — отличный способ получить отзывы клиентов и базового контингента пользователей относительно удобства компоновки пользовательского интерфейса и полноты функциональных возможностей программного обеспечения.
С годами у разработчиков накопился немалый опыт создания прототипов различными инструментальными средствами, включая визуальные конструкторы графического пользовательского интерфейса в среде Visual Studio. Все это, конечно, замечательно, но создание прототипов таит в себе немало скрытых и опасных препятствий, на некоторые из которых приходится наталкиваться буквально сразу. Ниже перечислены подобные препятствия:
Клиент может легко принять прототип за реальное программное обеспечение, поскольку его пользовательский интерфейс зачастую очень похож на пользовательский интерфейс полноценной прикладной программы.
Прототипы нередко отвергаются, как только поступают отзывы от клиентов. Это вынуждает разработчиков, по существу, воссоздавать тот же самый пользовательский интерфейс, но уже на уровне проекта программного обеспечения промышленного образца.
Многие инструментальные средства не позволяют ни учесть отзывы клиента в самом проекте, ни сформировать официальную документацию из подобных замечаний к проекту.
Если клиент пожелает внести собственные изменения в прототип, для этого ему понадобится не только инструментальное средство создания прототипов, но и умение им пользоваться.
В идеальном случае в распоряжении разработчиков должно быть инструментальное средство, которое может быть использовано для построения пользовательского интерфейса, наглядно демонстрирующего самому пользователю, что это лишь первоначальный вариант рабочего решения, а не полностью готовый программный продукт.
Такое инструментальное средство должно также предоставлять клиентам возможность вносить свои личные комментарии в проект, а разработчикам — использовать эту информацию при составлении документации. Более того, такое инструментальное средство должно давать клиентам возможность просматривать прототип и взаимодействовать с ним, даже если у них отсутствует собственная копия инструментального средства для создания прототипов. К счастью, именно эти и многие другие средства предоставляются в среде Expression Blend IDE благодаря компоненту SketchFlow.
Как подразумевает само название компонента SketchFlow, он представляет собой набор инструментальных средств, с помощью которых группа разработчиков и заказчиков программного обеспечения может работать над черновым вариантом прототипа приложения на платформе WPF или Silverlight.
При создании проекта на платформе WPF или Silverlight средствами SketchFlow вы будете приятно удивлены, обнаружив возможность сконструировать пользовательский интерфейс теми же самыми инструментальными средствами и способами, с которыми вы ознакомились в предыдущих разделах данного руководства по Expression Blend. В частности, вы можете добавлять элементы управления на монтажный стол из библиотеки ресурсов, настраивать их внешний вид па панели Properties, внедрять графику и анимацию в прототип и делать многое другое.
Особенность SketchFlow заключается в том, что этот компонент предоставляет дополнительные инструментальные средства для составления блок-схемы пользовательского интерфейса приложения и взаимодействия с ней, а также для организации перехода из одного состояния приложения в другое. Так, на панели SketchFlow Map можно быстро составить ряд компоновок пользовательского интерфейса, которые будут отображаться, как только конечный пользователь начнет выбирать пункты меню или последовательно проходить экраны мастера компоновки, щелкая на кнопках Next (Далее) Previous (Назад). Кроме того, можно легко изменить последовательность подобных переходов, исходя из отзывов клиента.
Помимо составления блок-схем пользовательского интерфейса приложения, корпорация Microsoft намеренно разработала стандартный стиль каждого элемента управления, чтобы проект, разрабатываемый средствами SketchFlow, имел простой общий вид, ясно указывающий на то, что это действительно прототип, а не готовый программный продукт.
Используя заготовки, выбираемые из категорий Sketch Styles (Стили эскизов), Sketch Shapes (Формы эскизов) и Mockup Controls (Имитируемые элементы управления) в библиотеке ресурсов, вы сможете сконструировать пользовательский интерфейс, который поможет пользователю сосредоточить основное внимание на общей блок-схеме и компоновке прототипа, вместо того чтобы отвлекаться на такие мелочи, как размеры шрифтов, цвета переднего и заднего плана и т.п.
Еще одна замечательная особенность компонента SketchFlow состоит в том, что он построен таким образом, чтобы отзывы клиентов могли собираться и регистрироваться в процессе построения и демонстрации прототипа. Безусловно, для этой цели можно воспользоваться и аннотациями, составляемыми в Expression Blend, но проигрыватель SketchFlow Player предоставляет более эффективные и интерактивные средства регистрации отзывов конечных пользователей.
Клиенты могут опробовать многие варианты и снабдить их комментариями для группы разработчиков, аннотируя свой опыт взаимодействия с прототипом. О том, как подобные инструментальные средства действуют на практике, речь пойдет далее.
Проигрыватель SketchFlow Player распространяется свободно и не требует установки полной версии Expression Blend на компьютере клиента. Более того, он допускает размещение прототипов как настольных приложений на платформе WPF, так и веб-ориентированных приложений на платформе Silverlight!