Большая разница в дизайне, которую пропускают многие, - это структура самого окна.
- Настольное приложение, как правило, строится с минимальным разрешением по высоте и ширине (часто 800 * 600) и изо всех сил старается уместить всю необходимую информацию в меньшем размере, потому что полосы прокрутки обычно очень плохая практика для не табличных / списочных данных. Там, где требуется больше места, информация обычно делится на новые окна или подоконные панели / вкладки.
- Веб-приложение, с другой стороны, имеет практически бесконечную вертикальную высоту, так как большинство людей привыкли к прокрутке в своем веб-браузере. Полоса прокрутки больше не плохая вещь; на самом деле, использование полосы прокрутки в любом месте , где может использоваться основная, обычно считается плохой формой (конечно, за некоторыми исключениями). Информация, как правило, отображается в одном «окне», поскольку ее разделение потребует как отдельных загрузок страницы, так и повторной загрузки идентичных данных (стилей, меню и т. Д. Да, кеш есть, но он не такой быстрый, как не загружать одну страница). Больше нагрузок всегда медленнее и вызывает чувство разрыва. Иногда они неизбежны, но вы почти никогда не должны ограничивать свое приложение только видимым размером окна браузера.
- Многие люди используют веб-браузер для чтения. Новости, блоги, комментарии на YouTube и т. Д. Когда вы создаете веб-приложение, оно должно отражать эту привычку, потому что в противном случае вы будете ломать мозги людей через совершенно разные макеты, если они переключаются между веб-страницами и вашим приложением (и вы знаете, что некоторые будут). Может показаться, что вы просто копируете крупных игроков, но последовательность гораздо важнее, чем кажется на первый взгляд.
- Столбцы текста не должны быть сверхширокими, потому что чем шире строка, тем сложнее перейти к следующей строке, чтобы продолжить чтение. Придерживайтесь чего-то похожего на то, что есть в книгах; они были усовершенствованы в течение столетий . Это одна из причин, по которой многие веб-страницы имеют фиксированную ширину и предпочитают столбцы строкам.
- Пробел важен . Это помогает отделить информацию и облегчает обработку. Представьте себе, что вы читаете этот ответ без пробелов, новых строк или маркеров.
Моя любимая мозоль - это текстовые ссылки, которые выполняют частые действия. Если вы на самом деле не «ссылаетесь» на отдельную страницу, не делает ее похожей на ссылку . Сделайте это элементом управления, или изображением, или чем-то . Ссылки для перемещения на веб-сайтах, кнопки делают вещи. Большинство людей активно игнорируют синий подчеркнутый текст, когда хотят что-то сделать, потому что они привыкли к кнопке «отправить форму» или к чему-то подобному. Ссылки также довольно малы и сравнительно трудны для повторных действий, и для меня пахнет неполного дизайна / кодирования при интенсивном использовании.
Многие веб-приложения, которые я видел, которые обычно терпели неудачу, пытаются дублировать настольное приложение в окне браузера ... которое вставляет круглый колышек в квадратное отверстие. Это можно сделать, но они не одно и то же, и не должны рассматриваться как таковые практически при любых обстоятельствах.
Частичное исключение - это когда веб-приложение дублирует функцию настольного приложения (т. Е. Google docs). Тогда макет все равно должен отражать веб-страницу больше, чем приложение в большинстве случаев, но элементы управления, вероятно, должны имитировать настольное приложение, чтобы помочь людям переходить.
Большинство людей используют программы на своем рабочем столе, чтобы делать что-то. Большинство людей используют свои браузеры, чтобы видеть что-то (читать, смотреть и т. Д.). Конечно, есть кроссовер, но подумайте о повседневных привычках большинства людей и помните, что другие люди будут использовать то, что вы разрабатываете; там не только ты (и твои клоны).
И, хотя он повторяет другие, кнопка возврата критична . Если вы сломаете его, пользователи захотят сломать вас. Переопределение меню или поведения при щелчке правой кнопкой мыши также обычно является плохой идеей и в основном раздражает пользователей (а некоторые будут активно предотвращать JavaScript, который делает это, потому что это их так раздражает (включая меня)).