目錄
目錄X

關(guān)于動易SiteFactory模板標(biāo)簽的設(shè)計思想的再次說明

今天在論壇上看到網(wǎng)友對動易SiteFactory模板標(biāo)簽的技術(shù)再次大加評論,但基本上用戶限于見識和技術(shù)水平以及思維高度,只能做一些最粗淺的表面認(rèn)識的評價,有感于此,我覺得有必要再次向大家說一說動易SiteFactory的模板標(biāo)簽的設(shè)計思想。更多關(guān)于動易模板標(biāo)簽的文章,可以參見技術(shù)中心和動易官方博客。
 
動易SiteFactory中用的模板引擎技術(shù)我們稱之為XPower模板解析引擎,與其他CMS的模板解析引擎(如PHP下著名的Smarty模板引擎)存在著一些不同之處,那就是:
1、一般的模板解析引擎都是在模板頁面中進行各種流程控制(順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等),而動易的XPower模板引擎則是將這些都放在標(biāo)簽內(nèi)部進行。
2、一般模板解析引擎采用的是自己的一套語法,動易采用的是國際標(biāo)準(zhǔn)的XSLT規(guī)范。
 
動易為什么要開發(fā)這樣一套與眾不同的模板解析引擎呢?
 
動易的模板標(biāo)簽技術(shù)體系是基于如下模板設(shè)計制作流程來設(shè)計的:專業(yè)的網(wǎng)頁效果圖設(shè)計師(需要有較高的美學(xué)素養(yǎng),對構(gòu)圖、色彩、透視有較高水平,同時熟悉Photoshop等常用軟件,并不要求熟悉DW等網(wǎng)頁制作工具和JS、DIV+CSS等技術(shù))負(fù)責(zé)設(shè)計網(wǎng)頁效果圖,然后交給專業(yè)的網(wǎng)頁輸出工程師(又稱前端工程師,要求非常熟悉PhotoShop、DW等常用軟件和JS、DIV+CSS等技術(shù))做切片輸出成HTML(一般要求輸出成DIV+CSS格式,并且要求做到多瀏覽器兼容),再由技術(shù)員(可以是網(wǎng)頁輸出工程師,也可以是其他專門負(fù)責(zé)這項工作的工程師,要求各方面知識都懂一些,熟悉動易的標(biāo)簽及其效果)負(fù)責(zé)將模板效果中需要動態(tài)展示的部分調(diào)用標(biāo)簽并設(shè)置標(biāo)簽的參數(shù),90%的列表效果應(yīng)該通過修改標(biāo)簽的參數(shù)即可實現(xiàn),如果遇到特殊的動易SiteFactory本身沒有提供的標(biāo)簽效果,則由開發(fā)人員專門再額外提供定制的標(biāo)簽。
 
目前動易公司內(nèi)部的模板制作正是按照這個流程來運轉(zhuǎn)的。這個流程是動易根據(jù)6年多來的模板設(shè)計經(jīng)驗,綜合考慮各種因素(如人才的培養(yǎng)、能力的階梯等),優(yōu)化總結(jié)出來的,可能并不適用于一些只有一兩個技術(shù)員的小小小公司。這些小公司只有一兩個技術(shù)員,根本沒有辦法區(qū)分設(shè)計師和程序員的職責(zé),。公司創(chuàng)業(yè)初期,往往是這樣的情況,但公司總是會向前發(fā)展的,等公司稍微發(fā)展壯大一些,一般就會有專門的設(shè)計師。這樣就會基本與動易現(xiàn)在的模板設(shè)計制作流程保持一致了。
 

在這個流程中,每個環(huán)節(jié)都是由專業(yè)的人才來完成,要求每個人在自己的專業(yè)上要比較精通,在其他方面并不做過高要求,大家密切配合完成模板設(shè)計制作工作。這樣對于公司來說,招聘人才和培養(yǎng)人才會相對容易得多(人多了,管理上的難度當(dāng)然會提高,這就需要公司有一個好的人才管理機制,所幸動易現(xiàn)在的人才管理機制還是比較好的)。如果要求一個設(shè)計師又要會專業(yè)的頁面設(shè)計(效果圖設(shè)計),又要會輸出成HTML(現(xiàn)在一般要求輸出成DIV+CSS),會寫JS,還要再懂SQL,會編程,這樣的人才一則太難找,二則就算就算有這樣的人才,但他基本上也都是懂而不精,屬于萬精油似的人才。設(shè)計師會懂一點編程,懂一點SQL,他寫出來的SQL查詢語句也基本上是沒有優(yōu)化過的,存在著性能問題,數(shù)據(jù)量一大,這樣的標(biāo)簽就很可能影響著整個系統(tǒng)的性能,所以標(biāo)簽絕對不應(yīng)該是讓設(shè)計師來寫的。而且,就算是設(shè)計師,都很難要求他在頁面效果圖設(shè)計和頁面輸出兩方面都非常厲害,從動易的招聘經(jīng)驗來看,這樣的設(shè)計師都很難找。動易的20多個設(shè)計師除了幾個能力非常強的設(shè)計主管外,其他人就是分兩塊職能的,一部分設(shè)計師側(cè)重頁面設(shè)計(效果圖設(shè)計),一部分側(cè)重頁面輸出,再互相學(xué)習(xí),共同提高。

 

基于這個模板設(shè)計制作流程,動易的架構(gòu)師設(shè)計了目前這套XPower模板解析引擎,XPower模板解析引擎相對其他模板引擎技術(shù),優(yōu)點有以下幾點:

 

1、其他引擎技術(shù)無一都要求設(shè)計師額外再學(xué)習(xí)模板引擎的語法,讓設(shè)計師再充當(dāng)程序員,對設(shè)計師的能力要求太高。這就回到了我前面所講的問題。動易現(xiàn)在的模板和標(biāo)簽在不重新開發(fā)標(biāo)簽的情況下,可以說是同類軟件中最易用的,設(shè)計師只要做好自己的專業(yè)工作,再熟悉一下標(biāo)簽的輸出效果,在模板中套用一下標(biāo)簽即可,標(biāo)簽的內(nèi)部原理可以不知道。開發(fā)標(biāo)簽的工作完全可以交給程序員來完成。

 

2、其他引擎技術(shù)都是自己的專用語法,而不是國際標(biāo)準(zhǔn)。動易XPower模板解析引擎采用的XSLT則是將XML轉(zhuǎn)換成HTML的國際標(biāo)準(zhǔn)技術(shù)規(guī)范,這并不是冷門技術(shù),而是目前非常熱門的技術(shù)。具體情況有興趣的自己去google查。對于一個技術(shù)員來說,學(xué)好了XSLT技術(shù),去哪里都可以通用,而學(xué)這些專用模板引擎技術(shù),只能對這一套系統(tǒng)使用。誰的應(yīng)用范圍更廣,明眼人一看就知。

 

3、其他引擎技術(shù)做的模板中,標(biāo)簽幾乎不能重用。比如,要想在所有模板頁面中實現(xiàn)同一個列表效果,我們需要在每個模板頁面都要寫一套同樣的代碼,一旦要想改一下效果,所有頁面都要重新改一下,工作量之大可想而知。動易XPower模板解析引擎則只需要你調(diào)用同一個標(biāo)簽即可,甚至在不同的頁面想要不同的效果,也可以用同一個標(biāo)簽改一下調(diào)用參數(shù)來實現(xiàn)(當(dāng)然這樣的標(biāo)簽的內(nèi)部代碼就會復(fù)雜得多,但這正是程序員應(yīng)該做的事,代碼復(fù)用正是程序員一直追求的。)

 

4、動易XPower模板解析引擎內(nèi)置了許多共用函數(shù),這些類似于其他模板引擎技術(shù)中的公用“標(biāo)簽”?;旧掀渌0逡婕夹g(shù)中的東西都能在XPower模板解析引擎中找到類似的功能。

 

5、動易官方提供了豐富的各類標(biāo)簽,并為每個標(biāo)簽提供了詳盡的使用文檔(見技術(shù)中心),這些標(biāo)簽的靈活運用,可以滿足90%以上的各類需求,絕大部分網(wǎng)站的模板制作任務(wù)只需要要設(shè)計師套用一下標(biāo)簽即可,可大大減輕設(shè)計師的工作量。如果有興趣,也可以認(rèn)真去學(xué)一下標(biāo)簽制作技術(shù)。

【打印正文】 發(fā)布時間:2009-08-16 14:13:14 瀏覽次數(shù): 作者:WEBBOY 來源:本站原創(chuàng)
×

用戶登錄