目錄
目錄X

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

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

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

 

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

 

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

 

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

 

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

 

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

 

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

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

用戶登錄