進(jìn)行 Web 界面原型設計常用的工具如下:
HTML 作為 Web 的基礎,也是大部分項目開(kāi)發(fā)過(guò)程中,設計師最終要向程序員提交的成果。使用 HTML 進(jìn)行原型的設計,有相當大的優(yōu)勢在于可以節省一些制作的時(shí)間。但是這里面還是遇到幾個(gè)問(wèn)題:設計師如何管理 HTML 文件?最后提交給程序員后,如果要修改怎么辦?因為大部分情況下,HTML 一旦交付,可能就四分五裂不成樣子了。要修改的話(huà)可能要先改設計稿,好了之后再次提交給程序員,同時(shí)程序員要確認哪里修改了,哪幾個(gè)文件修改了。如果使用 SVN 來(lái)協(xié)同開(kāi)發(fā),情況還好一些,但是設計師就要花上一段時(shí)間來(lái)理解程序結構。
我常戲稱(chēng)這種方法為頁(yè)面驅動(dòng)型開(kāi)發(fā),因為在開(kāi)發(fā)前(確切說(shuō)是編碼前)大部分工作是處理界面、交互,并且制作出高保真的 HTML 頁(yè)面原型。它基于 Web 標準設計,完全分離結構和表現,這樣當程序員在原型基礎上進(jìn)行編碼的同時(shí),設計師可以進(jìn)一步完善 UI 設計,而只用到 CSS 文件和 images 文件夾。通常情況下需要 CVS 或 SVN 的支持。
這種高保真的 HTML 頁(yè)面原型,包括:
href="/posts/add" 這樣的鏈接; 這樣的原型交付給程序員,相信他也會(huì )相當的開(kāi)心的 :D,不會(huì )因為頁(yè)面去向不明或者缺少提示等而詢(xún)問(wèn)產(chǎn)品經(jīng)理或者設計師,因為實(shí)際操作一下就明白了。
在設計這樣的原型時(shí),主要的思想是 MVC。因為一開(kāi)始程序員在編碼前會(huì )有一份代碼設計的文檔,包括一些約定和類(lèi)的設計。設計師可以借助這份文檔一瞥程序結構。以 Blog 管理后臺為例,如 Posts 具有 add、edit、list、del 等功能。那么在本地就可以相應的建立 Posts 目錄,目錄下分別新建 add.html、edit.html、list.html 和 del.html 頁(yè)面?,F在設計師通常也配有 IIS 或者 apache 用來(lái)調試。那么在省略擴展名的情況下,我們就可以通過(guò) http://localhost/blogadmin/posts/add 來(lái)測試添加 post 的頁(yè)面。這與后期程序約定是一致的。
接下來(lái)我們要統一頁(yè)面的布局(layouts)。以 CakePHP 這個(gè) PHP 框架為例,布局模版一般放在 \app\views\layouts 下面。一般是默認的 default.thtml。仿照這個(gè)結構,在原型設計根目錄下設 Posts、Categories、Comments 和 Layouts 等目錄。統一的小代碼塊放在 Elements 目錄下。
目錄理清楚后,接下來(lái)就是如何連接起來(lái)。這里用到了 SSI(Server Side Include),可以用簡(jiǎn)單的注釋實(shí)現文件包含、代碼重用。只需使用例如 <!--#include virtual="/path/to/file" --> 的代碼就可以包含文件。為什么不直接使用 PHP 的 include?顯然讓設計師學(xué)習 PHP 有些困難,而這種注釋形式的“程序”更加容易理解。
為了讓所有的頁(yè)面使用同一個(gè)布局,我們用到了系統變量 $QUERY_STRING,即 URL 中的查詢(xún)字符串,比如 http://example.com/?home,那么 $QUERY_STRING=home。有了查詢(xún)字符串,布局的問(wèn)題就解決了,URL 統一的問(wèn)題也能夠解決。
index.html 文件,加入 <!--#include virtual="/layouts/default.html" -->,也可以直接用 index.html 作為統一布局文件。然后在 /layouts/default.html 文件中加上統一的布局代碼,動(dòng)態(tài)變化的區域用 <!--#include virtual="$QUERY_STRING.html" --> 代替。之后你就可以通過(guò) http://localhost/blogadmin/?posts/add $QUERY_STRING=posts/add)。mod_rewrite,可以實(shí)現完全的 friendly URLs。基本上就是如此,最后不要忘了 JS 的小提示、重用代碼的整理。在原型設計的過(guò)程中可以不斷地和程序員溝通,了解他的需求,這樣子可以減少不少后期的溝通成本和返工的情況。
聯(lián)系客服
在Web標準結構和表現分離的思想下,UI設計和結構的異步,更加提高了效率,根據PSD效果圖,先確定布局(layout),也就是基本的結構,css和php就可以同步了。
FW/PS/AI這些是UI設計階段了;
我現在使用webwave來(lái)做前期原形界面,感覺(jué)還不錯