以下內(nèi)容代表作者本人的觀點(diǎn)。
1: ColdFusion的定義 ColdFusion可以從兩方面來定義,它既是一種應(yīng)用服務(wù)器也是一種編程語言。很多開發(fā)人員常常把它們當(dāng)成一件事,他們用ColdFusion語言(CFML - ColdFusion Markup Language)來編寫應(yīng)有程序,并把編寫的應(yīng)用程序運(yùn)行在ColdFusion服務(wù)器上。 但是用ColdFusion語言編寫的應(yīng)用程序可以運(yùn)行在其它支持CFML的應(yīng)用服務(wù)器上,如J2EE應(yīng)用服務(wù)器,這樣一來就給那些高端的應(yīng)用服務(wù)器提供了另一種簡潔高效的開發(fā)語言。不管您選擇使用ColdFusion應(yīng)用服務(wù)器還是選擇使用其它的應(yīng)用服務(wù)器,CFML語言都為您提供了一個(gè)快速開發(fā)功能強(qiáng)大的應(yīng)用程序的有效方案。
2: ColdFusion的歷史有多久? ColdFusion開始于1995年,是歷史最悠久的最為成熟的互聯(lián)網(wǎng)應(yīng)有服務(wù)器。
3: 有多少企業(yè)組織或個(gè)人使用ColdFusion? 在全世界范圍內(nèi)有超過1萬個(gè)組織,12萬臺(tái)以上的服務(wù)器在運(yùn)行ColdFusion.
4: 有多少開發(fā)人員在使用ColdFusion? 保守估計(jì),大概有35萬。但實(shí)際上的數(shù)字遠(yuǎn)遠(yuǎn)大于35萬,一臺(tái)運(yùn)行ColdFusion的服務(wù)器上可以運(yùn)行的多個(gè)ColdFusion程序,因此在一臺(tái)服務(wù)器上進(jìn)行開發(fā)的程序員也會(huì)有很多。
5: 和其它應(yīng)用服務(wù)器相比,ColdFusion有多少成功? 應(yīng)該說是非常成功的,ColdFusion是商業(yè)(需購買)應(yīng)用服務(wù)器中的佼佼者,在使用量上僅次于ASP。在財(cái)富100當(dāng)中有超過75%的企業(yè)在使用ColdFusion.
b6: ColdFusion可以編寫那些類型的應(yīng)用程序呢? ColdFusion可以用來編寫各種各樣的應(yīng)用程序,包括動(dòng)態(tài)互聯(lián)網(wǎng)網(wǎng)站,電子商務(wù)網(wǎng)站或門戶網(wǎng)站,但最主要的還是大量的企業(yè)內(nèi)部互聯(lián)網(wǎng)應(yīng)用程序和數(shù)據(jù)庫相關(guān)的應(yīng)用程序。這一點(diǎn)始終是也將一直會(huì)是ColdFusion的強(qiáng)項(xiàng)。
7: 為什么我能看到的用ColdFusion開發(fā)的站點(diǎn)并不是很多? 其實(shí)用ColdFusion開發(fā)的站點(diǎn)是非常多的。但是由于大多數(shù)基于ColdFusion的應(yīng)用程序都是企業(yè)內(nèi)部互聯(lián)網(wǎng)應(yīng)用程序給以及和敏感數(shù)據(jù)庫相關(guān)的應(yīng)用程序,并不是對外公開的。所以看上去用ColdFusion的并不是很多。如果您想了解一下那些重要的企業(yè)在使用ColdFusion請?jiān)L問如下地址:http://www.macromedia.com/ www.forta.com/cf/using/
8: 為什么那些公司會(huì)花錢購買ColdFusion,而不使用‘免費(fèi)’的ASP或PHP? 說其它的一些應(yīng)用服務(wù)器是免費(fèi)的其實(shí)有點(diǎn)言過其實(shí)。的確,一些應(yīng)用服務(wù)器可以被免費(fèi)下載,但所提供的只是一些基本的核心的功能。在ColdFusion中提供了大量非常重要的功能和服務(wù),如圖表生成,全文搜索以及其它一些有用的模塊如文件上傳的處理和電子郵件的處理,而在ASP或PHP中這些模塊都是要另外購買的。 最近的一項(xiàng)估算表明,如果要在ASP中加上ColdFusion專業(yè)版所提供的所有功能,總成本會(huì)到達(dá)3萬美元。與此同時(shí)售價(jià)低于1千美元的ColdFusion專業(yè)版卻集成了這些功能。而這還不包括由于使用了ColdFusion而減少的學(xué)習(xí)以及開發(fā)所需的周期和成本。
9: ColdFusion是不是屬于專有技術(shù),使用專有技術(shù)是不是很難得到保障? 不,ColdFusion不是專有技術(shù)。事實(shí)上,有不少其它產(chǎn)品(通過其它廠商)也是用CFML(或部分)來實(shí)現(xiàn)的。另外,ColdFusion充分利用了大量公開的技術(shù)標(biāo)準(zhǔn),從數(shù)據(jù)庫的集成(JDBC ,ODBC)到用XML來實(shí)現(xiàn)配置文件到使用J2EE作為ColdFusion的底層核心。
10: 什么是CFML? CFML的全稱是ColdFusion Markup Language,是一種特別適于用來編寫互聯(lián)網(wǎng)應(yīng)用程序的語言。CFML看上去和傳統(tǒng)的編程語言并不太一樣,更接近HTML,因此和HTML一樣非常的易學(xué)易用。CFML可以在ColdFusion應(yīng)用程序服務(wù)器上運(yùn)行,也可以在其它一些應(yīng)用程序服務(wù)器運(yùn)行。
11: 經(jīng)?吹接腥嗽谡fCFML并不是一種真正的編程語言,它到底是不是呢? 如果你能用CFML來編寫程序,那它當(dāng)然就是一種編程語言。至于為什么會(huì)有這種疑問,原因之一是CFML看上去和傳統(tǒng)的編程語言不太一樣(基于標(biāo)簽而非基于腳本)。這里有幾點(diǎn)我們需要記。 1)CFML是模仿HTML而設(shè)計(jì)的,主要是因?yàn)镠TML易學(xué)易用,并且這也是HTML是互聯(lián)網(wǎng)成功的原因之一。 2)CFML完全符合傳統(tǒng)編程所需的基本要求(如流程控制,條件判斷等),通過<CFSCRIPT> 和MX中新的SSAS(Server-side ActionScript)也可以實(shí)現(xiàn)腳本編程。 3)CFML是一種功能強(qiáng)大的編程語言,包括了100多個(gè)標(biāo)簽和200多個(gè)函數(shù),能夠滿足常用的編程需求以及一些不常用的需求如:和LDAP交互,處理XML,支持COM和CORBA,圖表生成和全文搜索等。 4)比較有諷刺意味的是,在過去的5年里,CFML由于是基于標(biāo)簽的語言,所以常被說為不是一種真正的編程語言,但現(xiàn)在在ASP.NET中也能看到這種風(fēng)格,在JSP中實(shí)際上也是在Java代碼中嵌入了標(biāo)簽,更別提XML,完全是基于標(biāo)簽的。由此可見,CFML走的這條路是對的。
12: 什么是.CFM 和.CFC? CFML代碼常被保存為以.CFM 或.CFC 為擴(kuò)展名的文件中。.CFM 是ColdFusion的標(biāo)準(zhǔn)擴(kuò)展名,它可以是普通的文本文件,由其它文件所調(diào)用的文件或是自定義標(biāo)簽文件。.CFC 是ColdFusion的組件文件(可以被重復(fù)調(diào)用的ColdFusion對象)
13: ColdFusion是不是只是用來實(shí)現(xiàn)低端或入門級(jí)解決方案的? 當(dāng)然不是。ColdFusion只是一種工具,能用這種工具做什么完全取決于你的能力。對于一些初學(xué)者來說,Coldfusion是一種簡單的技術(shù),用ColdFusion來開發(fā)一些簡單的產(chǎn)品和入門級(jí)解決方案也的確非常容易。但這并不是說ColdFusion就只是用來實(shí)現(xiàn)低端或入門級(jí)解決方案的。不像其它的一些學(xué)起來非常容易的技術(shù)只能用來實(shí)現(xiàn)簡單有限的功能,ColdFusion可以用來開發(fā)功能異常強(qiáng)大的解決方案。除了一些低端,入門級(jí)的解決方案,還有大量高端,至關(guān)重要的解決方案都是用ColdFusion來開發(fā)的。
14: ColdFusion是不是會(huì)讓開發(fā)者養(yǎng)成不正規(guī)的編程習(xí)慣。 當(dāng)然不,ColdFusion提供了所有必須的要素用以編寫伸縮性強(qiáng),結(jié)構(gòu)性好,易于管理和維護(hù)的代碼。ColdFusion并不強(qiáng)制你使用某種開發(fā)習(xí)慣或邏輯方法,ColdFusion最初的設(shè)計(jì)初衷就是要讓開發(fā)者能通過一個(gè)簡單的語言來高效的實(shí)現(xiàn)所需的功能。當(dāng)然有很多開發(fā)者往往是在有一個(gè)清楚的想法之前就開始動(dòng)手寫代碼了,然后在一點(diǎn)一點(diǎn)的完善他的想法。實(shí)際上也并不是所有的程序的開發(fā)都需要嚴(yán)格遵守并采用MVC設(shè)計(jì)模式。當(dāng)然ColdFusion完全支持MVC設(shè)計(jì)模式(通過ColdFusion組件)并且也因該盡可能的使用。換句話說,ColdFusion不會(huì)讓你養(yǎng)成不正規(guī)的編程習(xí)慣并在以后的開發(fā)過程中感覺力不從心,不管你處于那種開發(fā)水平,ColdFusion總是能滿足你的要求并且?guī)湍阋稽c(diǎn)一點(diǎn)的進(jìn)步。
15: 我沒有任何編程經(jīng)驗(yàn),ColdFusion是不是也適合我? 絕對適合,當(dāng)然你最好有HTML和SQL的基礎(chǔ)知識(shí),而且如果沒有的話,用Dreamweaver MX也能完成一些開發(fā)。不像其它的一些編程語言,需要通過幾周或幾個(gè)月的學(xué)習(xí),在學(xué)習(xí)ColdFusion幾個(gè)小時(shí)以后你就能完成簡單的開發(fā)了。
16: 我是一個(gè)有經(jīng)驗(yàn)的 C 或/和 Java程序員,我有沒有必要使用ColdFusion呢? C 和 Java 是功能非常強(qiáng)大的低級(jí)編程語言,非常適合編寫需極強(qiáng)處理能力的后臺(tái)進(jìn)程。但卻非常不適合用它們來生成HTML給瀏覽器或處理HTML中的表單。在這方面它們沒有什么優(yōu)勢。事實(shí)上一個(gè)比較好的方案是把ColdFusion和他們結(jié)合在一起。讓ColdFusion來處理表現(xiàn)層,而用C 或 Java 來處理后臺(tái)。
17: 我是一名Flash開發(fā)人員,需不需要用到ColdFusion? 作為一名Flash開發(fā)人員,你一定了解開發(fā)能給用戶帶來豐富使用體驗(yàn),極具交互性的互聯(lián)網(wǎng)應(yīng)用程序的重要性。Flash常被用來制作動(dòng)畫,簡介,廣告和一些特殊效果等等,但Flash還能用來實(shí)現(xiàn)更多的應(yīng)用。Flash非常適合用來充當(dāng)基于互聯(lián)網(wǎng)應(yīng)用程序的前臺(tái)界面,而ColdFusion正好非常適合用來幫Flash處理后臺(tái)任務(wù)。從Macromedia推出FlashMX和ColdFusionMX來,兩者之間的結(jié)合應(yīng)用就變得非常簡單和高效 - Flash作為客戶而ColdFusion作為服務(wù)器。
18: 我們公司的技術(shù)選型是定位在J2EE平臺(tái)上的,是不是就不能用ColdFusion了呢? 正好相反,你們公司選擇的是一個(gè)非常有戰(zhàn)略意義的方案來建立你們的信息平臺(tái),這種方案可以讓你用到一些功能強(qiáng)大的技術(shù),也是現(xiàn)在越來越被看好的方案。J2EE(Java平臺(tái))提供了一個(gè)能建立穩(wěn)定,健壯極具伸縮性的應(yīng)用程序的結(jié)構(gòu)體系。但是它卻需要更高的成本(不僅僅是軟件本身的成本)J2EE平臺(tái)的開發(fā)是非常復(fù)雜的,超過了大多數(shù)公司的技術(shù)人員的能力。而且就是對那些經(jīng)驗(yàn)豐富的Java程序員來說,也不是所有的東西都需要用Java來實(shí)現(xiàn)。而ColdFusion MX可以運(yùn)行在J2EE平臺(tái)的頂端,利用J2EE所帶來的強(qiáng)大結(jié)構(gòu)和原有的投資,同時(shí)使得不懂Java的人也能利用它。或換句話來說,通過這種方式,ColdFusion MX 能讓不懂Java的人利用Java的強(qiáng)大處理能力同時(shí)有能完成更多的應(yīng)用開發(fā)。所以選擇J2EE的并不意味放棄ColdFusion,對你來說反而是一種明智的選擇 - 你已經(jīng)花了大量的成本,再多加一點(diǎn)ColdFusion的成本,你就能使你的信息平臺(tái)實(shí)現(xiàn)更多的功能。
19: ColdFusionMX的底層是基于Java技術(shù)的,那現(xiàn)在或?qū)碓谖④浀腤indows平臺(tái)上會(huì)有什么問題嗎? 大多數(shù)的ColdFusion都是安裝在微軟的Windows平臺(tái)上的,并使用一些微軟的后臺(tái)產(chǎn)品(如SQL服務(wù)器)。所以無論如何對微軟的Windows平臺(tái)的支持都是不會(huì)被放棄的,而且隨著ColdFusion MX對.NET的結(jié)合,這種支持會(huì)越來越被重視。同時(shí),ColdFusion還能在大量非微軟平臺(tái)上運(yùn)行,如:Linux, Solaris, 和 HP-UX。 也能使用各種各樣的數(shù)據(jù)庫,如:Oracle, DB2 和 mySQL - 所以ColdFusion是業(yè)界最靈活的產(chǎn)品。
20: 對任何一項(xiàng)技術(shù)來說,活躍的用戶討論群都是成功的關(guān)鍵之一,ColdFusion有沒有類似的用戶社區(qū)? ColdFusion用戶一直以來都是非常具有社區(qū)性的,而且ColdFusion的成長和發(fā)展方向很大程度上也都是由ColdFusion用戶群來決定的。有數(shù)不清的討論組,論壇,出版物和用戶組和活動(dòng)(包括有Macromedia組織的活動(dòng)和非Macromedia組織的活動(dòng))。
21: Macromedia會(huì)不會(huì)專心致力于ColdFusion的發(fā)展? 一定會(huì)的。實(shí)際上,最新版本的ColdFusion(第一個(gè)完全由Macromedia開發(fā)的版本)是一個(gè)ColdFusion史上最大的開發(fā)小組所完成的,投入了大量的人力和物力。這一點(diǎn)就表明了Macromedia對ColdFusion和ColdFusion用戶的承諾。
出處:cffaq.com
責(zé)任編輯:cjj
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|