关于“VCL已死、RAD已死”答读者问
這兩天在上海參加erlang的大會,來不及寫第五小節(jié),先回復一些評論吧。其中最主要的是nanyu的一組評論,大概有三、四篇,寫到了不少東西。下面一一道來。
?
有關評論請參見:
http://blog.csdn.net/aimingoo/archive/2008/12/17/3540112.aspx
?
?
如果我沒理解錯,你說的似乎是 RAD已死,而取而代之的是WEB UI.
-------
這是最基本的一個理解錯誤,RAD有很多種說法,但卻沒有一種說法是直接與“UI開發(fā)”相關的,所以它死與不死,與WEB UI替代了誰,沒有必然關系。類似概念問題,在很多朋友對這個話題的討論中都有出現(xiàn)。
?
在第四節(jié)上,我寫到如下文字,或是對該問題的一個答復:
那么回顧這整個過程,……這能表明RAD已死么?不完全是,最多能說明“基于界面可視的RAD產(chǎn)品化技術已死”。我必須在這個小節(jié)里強調這一點,以說明VCL已死與RAD已死之間,不存在必然的、直接的、強關聯(lián)的關系。我對RAD之死的觀點,VCL只是引子,而非憑據(jù)。
?
說一下,RAD這個詞,幾乎就被當成是 borland公司產(chǎn)品中Delphi,或MS VB 的代名詞。
-------
這也是一個主要的概念錯誤。與上面的問題是同源的。RAD其實更多的是指“快速軟件開發(fā)”(的過程或方法),而類似于Delphi/VB的UI方式,以及IDE都只是上述過程或方法的一個具體工具。這個工具是整個過程或方法中的一個部分,而不是它的全部。
?
事實上我開始也受這一概念錯誤的困擾。但后來讀者biekvn與我在站內信中討論時,發(fā)現(xiàn)RAD這一名詞是常為人所誤解的。于是我就問了一個問題:如果說Delphi的拖拉界面的IDE是RAD的,那么Eclipse的IDE,沒有用拖拉界面,但是有模塊有語法檢錯等自動工具,又算不算RAD呢?答案當然是算,Eclipse當然提高了我們的開發(fā)工效,也是實現(xiàn)RAD過程的一個可行工具。但是,注意Eclipse沒有所謂的拖拉界面(第三方的暫不論),所以簡單地說:拖拉界面的操作方法,以及由些帶來的組件化界面、皮膚化界面,只是RAD實施的一種方法或工具,卻不是RAD的全部,也不是它的代名詞。
?
撇清這一概念之后,我必須多多地強調一下:在“VCL已死、RAD已死”這組文章中,我討論的是兩個問題,前者是UI開發(fā)與設計方法的問題,后者是軟件工程方法的問題。對于RAD之死的觀點,VCL只是引子,而非憑據(jù)。
?
?
問:為什么現(xiàn)在BS的程序越來越多,而CS程序越來越少?-------
這個問題有很多答案,當然你所提到的“BS易于部署”是其中一個,也相對關鍵。但也還有其它潛在的因素,比如BS的量級,以及網(wǎng)絡的條件等等。其中我常常提到的,是BS的短連接,正是CS長連接的一個有效補充,這正是他們在不同的環(huán)境下此消彼漲的內在動因。
?
WEB UI與你說的BS程序也不是一個概念,我基本上不討論WEB UI是不是一定要在瀏覽器訪問一個遠端的WEB服務器這樣的問題。事實上,我在SD2C大會上公開的技術方案,是將WEB UI用來做C/S的客戶端界面的。我們只需要討論“WEB UI本質上是怎樣的一種UI模式”這樣的問題就好。我的答案是:基于塊+層+鏈接的、可描述的、可遷移的。而這三點,又正好是基于MFC、WIMP以及(一般概念下的)MVC模式等技術上的UI所不具備的。
?
我們討論B/S與C/S就討論之,討論WEB UI與WIMP UI就討論之,討論RAD與RUP就討論之……等等。我們不要把多個概念或領域的因果混淆起來討論。大多數(shù)時候我們要分開論述他們。我們可能提及到相互的影響,但即使如此,也要先分清楚再去混淆。
?
“同樣的,“鏈接”是用戶UI交互的本質,也是WWW的本質”
評論:……有大量的文字內容需要鏈接,這才是WWW的本質,而不是說“鏈接”成為了WWW的本質。
-------
這個問題分兩半,一是UI交互的本質,二是WWW的本質。在UI交互的概念中,“鏈接”代表的是“點擊”,亦即是行為。如果說“塊+層”是“UI描述”的話,“鏈接”在這里就是“UI交互”,是使UI活動起來的要素。我說他是“UI交互的本質”并不為過。至于“鏈接是不是WWW的本質”的問題,你應該看看有關WWW起源的文字,你會了解到,WEB的源起,與“將文檔結構化,使之可以相互鏈接起來”有極其緊密的關系。更為簡單地說:如果不是鏈接,WEB只會成為Pages,而不會成為Web Site,以及Web World。
?
至于后面說Mac讓鼠標只有一個鍵的問題,理解了上述文字也就理解了。或者你可以看看mac系統(tǒng)的設計方面的資料。當然,mac的鼠標現(xiàn)在加上了滾輪,這個就更有趣了。研究UI的人會有很多想法的——我的意思是哲學的、美學的或設計領域上的想法或觀點。
?
?
“所以,事實上WEB的成功,與WEB UI比傳統(tǒng)的WIMP UI更加人性,以及更加面向設計師(例如PS高手)有直接的關系。
評: 再說一遍:(UI)設計師和PS高手是兩回事。
-------
EN。。。這也是你的評論中最主要的一個觀點。其實我也是這樣的觀點,而且也在正文中提到了,只是讀者不注意罷了。我的觀點中:當界面分離出來的時候,自然產(chǎn)生了E2+C2的問題。E2是指效果(Effect)和體驗(Experience),其中效果是美術設計來保證的,而體驗則由前端開發(fā)來保證。
?
所以我在這里說美術設計,主體是指用“類似PS的工具”來設計與實現(xiàn)界面的人。當然你可以說UI設計師不一定用PS,這個沒關系。我在這里用PS只是一個例舉。我不能確定XBOX的UI設計師是用PS做的,也不能確定MAC的UI設計師用PS工作,我只是概要的指稱了一下。
?
我不知道你說的“UI設計師”包不包括UED,對我來說,UED是一個團隊而非一個個人。如果以這個角度來看,UI設計師——是一個個人,而“UI設計”則是一個領域。“UI設計”可能包括效果、體驗以及它們的實現(xiàn)。只要把UI分離出來,在這個分離出來的UI領域工作的所有人——包括程序員——都可以叫“UI設計師”。而事實上,如果按上述的解釋,那么“UI設計”也就等于現(xiàn)在常說的“UED(用戶體驗設計)”,因為體驗當然也包括視覺體驗——顏色、形狀、位置、對比等等。所以我們不太容易能分清這些名詞了。
?
所以我說“更加面向設計師(例如PS高手)……”這個句子時,設計師就只好被限定在“使用PS等工具的這一類UED設計師”的范圍內。我在類似這樣的情況下會用例舉來說明我的“限定”只是一種寫作習慣,如果非要我在一篇文章中用十個、二十個的名詞來限定不同的角度,當然也做得到,只是那樣就更不易讀了。
?
好了,我在這樣的段落里要說明什么呢?我的意思是說,PS一類的平面繪制工具是以“塊+層”為主要的構圖方式的,而WEB UI也具有類似的特點,所以他們之間相互轉換是自然而平滑的。你(作為程序員時)沒有必要去向一個PS人員解釋什么是“ICON",以及它應該有多大或多少顏色。因為在WEB UI的體系上,根本就沒有ICON。
?
至于一個UI設計人員是否要在界面上畫一個方塊然后填上一些像素,來表明“這是個指示(ICON的主要途)”,那是設計人員的取舍,而不是“WINDOWS操作系統(tǒng)”或“VCL組件系統(tǒng)”或“Win32 API“的限定。這樣一來,UI設計才會自由,而用戶看到的UI也才會自由而人性——當然,某個具體的UI設計與開發(fā)人員(我們假定為整個的UED團隊)是否能做出一個“人性的”界面,不在我的討論范圍之內。
?
?
?
其它(其它的一些回復,可能增補)
-------
to fengjsSoft,
既然據(jù)你所知的,WEB系統(tǒng)沒幾個比你開發(fā)的CS程序相比,那么我們也不能討論什么了。在佛家來說,是很有些人有知見障的,當所知所見積累到一定程度,就成了新知新見的障礙,這是必然經(jīng)歷的一個階段。
?
to? mobeing,
正因為我在SD2C上發(fā)言稱“VCL已死,RAD已死”,卻又沒有足夠的時間來釋清我的觀點,所以我才寫這一組文章。即使我在寫之前仍有些未能透澈,但我在寫的過程中已復深思,所以寫下來的、記下來的,已是相當慎重了。
至于你提及過的我對VCL的了解,我不解釋,因為看起來你已經(jīng)足夠了解我了嘛。在此謝過你的關心與建議,互相珍重、慎重。
轉載于:https://www.cnblogs.com/encounter/archive/2008/12/22/2188612.html
總結
以上是生活随笔為你收集整理的关于“VCL已死、RAD已死”答读者问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET 配置文件 configS
- 下一篇: 在 Linux 上把 MP3 的檔名和