coldfusion的定義
ColdFusion可以從兩方面來定義,它既是一種應用伺服器也是一種程式設計語言。很多開發人員常常把它們當成一件事,他們用ColdFusion語言(CFML - ColdFusion Markup Language)來編寫應有程式,並把編寫的應用程式運行在ColdFusion伺服器上。 但是用ColdFusion語言編寫的應用程式可以運行在其它支援CFML的應用伺服器上,如J2EE應用伺服器,這樣一來就給那些高端的應用伺服器提供了另一種簡潔高效的開發語言。不管您選擇使用ColdFusion應用伺服器還是選擇使用其它的應用伺服器,CFML語言都為您提供了一個快速開發功能強大的應用程式的有效方案。
coldfusion的曆史
ColdFusion開始於1995年,是曆史最悠久的最為成熟的互連網應有伺服器。
有多少企業或組織使用Coldfusion
在全世界範圍內有超過1萬個組織,12萬台以上的伺服器在運行ColdFusion.
How much design?
保守估計,大概有35萬。但實際上的數字遠遠大於35萬,一台運行ColdFusion的伺服器上可以啟動並執行多個ColdFusion程式,因此在一台伺服器上進行開發的程式員也會有很多。
和其它應用伺服器相比,ColdFusion有多少成功。
應該說是非常成功的,ColdFusion是商業(需購買)應用伺服器中的佼佼者,在使用量上僅次於ASP。在財富100當中有超過75%的企業在使用ColdFusion.
ColdFusion可以編寫那些類型的應用程式呢。
ColdFusion可以用來編寫各種各樣的應用程式,包括動態互連網網站,電子商務網站或門戶網站,但最主要的還是大量的企業內部互連網應用程式和資料庫相關的應用程式。這一點始終是也將一直會是ColdFusion的強項。
為什麼我能看到的用ColdFusion開發的網站並不是很多。
其實用ColdFusion開發的網站是非常多的。但是由於大多數基於ColdFusion的應用程式都是企業內部互連網應用程式給以及和敏感性資料庫相關的應用程式,並不是對外公開的。所以看上去用ColdFusion的並不是很多。如果您想瞭解一下那些重要的企業在使用ColdFusion請訪問如下地址: 為什麼那些公司會花錢購買ColdFusion,而不使用‘免費’的ASP或PHP。說其它的一些應用伺服器是免費的其實有點言過其實。的確,一些應用伺服器可以被免費下載,但所提供的只是一些基本的核心的功能。在ColdFusion中提供了大量非常重要的功能和服務,如圖表產生,全文檢索搜尋以及其它一些有用的模組如檔案上傳的處理和電子郵件的處理,而在ASP或PHP中這些模組都是要另外購買的。 最近的一項估算表明,如果要在ASP中加上ColdFusion專業版所提供的所有功能,總成本會到達3萬美元。與此同時售價低於1千美元的ColdFusion專業版卻整合了這些功能。而這還不包括由於使用了ColdFusion而減少的學習以及開發所需的周期和成本。
ColdFusion是不是屬於專有技術,使用專有技術是不是很難得到保障。
不,ColdFusion不是專有技術。事實上,有不少其它產品(通過其它廠商)也是用CFML(或部分)來實現的。另外,ColdFusion充分利用了大量公開的技術標準,從資料庫的整合(JDBC ,ODBC)到用XML來實現設定檔到使用J2EE作為ColdFusion的底層核心。什麼是CFML?CFML的全稱是ColdFusion Markup Language,是一種特別適於用來編寫互連網應用程式的語言。CFML看上去和傳統的程式設計語言並不太一樣,更接近HTML,因此和HTML一樣非常的易學易用。CFML可以在ColdFusion應用程式伺服器上運行,也可以在其它一些應用程式伺服器運行。
經常看到有人在說CFML並不是一種真正的程式設計語言,它到底是不是呢?
如果你能用CFML來編寫程式,那它當然就是一種程式設計語言。至於為什麼會有這種疑問,原因之一是CFML看上去和傳統的程式設計語言不太一樣(基於標籤而非基於指令碼)。這裡有幾點我們需要記住: 1)CFML是模仿HTML而設計的,主要是因為HTML易學易用,並且這也是HTML是互連網成功的原因之一。 2)CFML完全符合傳統編程所需的基本要求(如流程式控制制,條件判斷等),通過<CFSCRIPT> 和MX中新的SSAS(Server-side ActionScript)也可以實現指令碼編程。 3)CFML是一種功能強大的程式設計語言,包括了100多個標籤和200多個函數,能夠滿足常用的編程需求以及一些不常用的需求如:和LDAP互動,處理XML,支援COM和CORBA,圖表產生和全文檢索搜尋等。 4)比較有諷刺意味的是,在過去的5年裡,CFML由於是基於標籤的語言,所以常被說為不是一種真正的程式設計語言,但現在在ASP.NET中也能看到這種風格,在JSP中實際上也是在Java代碼中嵌入了標籤,更別提XML,完全是基於標籤的。由此可見,CFML走的這條路是對的。
什麼是.CFM 和.CFC。
CFML代碼常被儲存為以.CFM 或.CFC 為副檔名的檔案中。.CFM 是ColdFusion的標準副檔名,它可以是普通的文字檔,由其它檔案所調用的檔案或是自訂標籤檔案。.CFC 是ColdFusion的組件檔案(可以被重複調用的ColdFusion對象)
ColdFusion是不是只是用來實現低端或入門級解決方案的。
當然不是。ColdFusion只是一種工具,能用這種工具做什麼完全取決於你的能力。對於一些初學者來說,Coldfusion是一種簡單的技術,用ColdFusion來開發一些簡單的產品和入門級解決方案也的確非常容易。但這並不是說ColdFusion就只是用來實現低端或入門級解決方案的。不像其它的一些學起來非常容易的技術只能用來實現簡單有限的功能,ColdFusion可以用來開發功能異常強大的解決方案。除了一些低端,入門級的解決方案,還有大量高端,至關重要的解決方案都是用ColdFusion來開發的。
ColdFusion是不是會讓開發人員養成不正規的編程習慣。
當然不,ColdFusion提供了所有必須的要素用以編寫伸縮性強,結構性好,易於管理和維護的代碼。ColdFusion並不強制你使用某種開發習慣或邏輯方法,ColdFusion最初的設計初衷就是要讓開發人員能通過一個簡單的語言來高效的實現所需的功能。當然有很多開發人員往往是在有一個清楚的想法之前就開始動手寫代碼了,然後在一點一點的完善他的想法。實際上也並不是所有的程式的開發都需要嚴格遵守並採用MVC設計模式。當然ColdFusion完全支援MVC設計模式(通過ColdFusion組件)並且也因該儘可能的使用。換句話說,ColdFusion不會讓你養成不正規的編程習慣並在以後的開發過程中感覺力不從心,不管你處於那種開發水平,ColdFusion總是能滿足你的要求並且幫你一點一點的進步。
我沒有任何編程經驗,ColdFusion是不是也適合我。
絕對適合,當然你最好有HTML和SQL的基礎知識,而且如果沒有的話,用Dreamweaver MX也能完成一些開發。不像其它的一些程式設計語言,需要通過幾周或幾個月的學習,在學習ColdFusion幾個小時以後你就能完成簡單的開發了。
我是一個有經驗的 C 或/和 Java程式員,我有沒有必要使用ColdFusion呢。
C 和 Java 是功能非常強大的低級程式設計語言,非常適合編寫需極強處理能力的後台進程。但卻非常不適合用它們來產生HTML給瀏覽器或處理HTML中的表單。在這方面它們沒有什麼優勢。事實上一個比較好的方案是把ColdFusion和他們結合在一起。讓ColdFusion來處理表現層,而用C 或 Java 來處理後台。
我是一名Flash開發人員,需不需要用到ColdFusion。
作為一名Flash開發人員,你一定瞭解開發能給使用者帶來豐富使用體驗,極具互動性的互連網應用程式的重要性。Flash常被用來製作動畫,簡介,廣告和一些特殊效果等等,但Flash還能用來實現更多的應用。Flash非常適合用來充當基於互連網應用程式的前台介面,而ColdFusion正好非常適合用來幫Flash處理背景工作。從Macromedia推出FlashMX和ColdFusionMX來,兩者之間的結合應用就變得非常簡單和高效 - Flash作為客戶而ColdFusion作為伺服器。
我們公司的技術選型是定位在J2EE平台上的,是不是就不能用ColdFusion了呢。
正好相反,你們公司選擇的是一個非常有戰略意義的方案來建立你們的資訊平台,這種方案可以讓你用到一些功能強大的技術,也是現在越來越被看好的方案。J2EE(Java平台)提供了一個能建立穩定,健壯極具伸縮性的應用程式的結構體系。但是它卻需要更高的成本(不僅僅是軟體本身的成本)J2EE平台的開發是非常複雜的,超過了大多數公司的技術人員的能力。而且就是對那些經驗豐富的Java程式員來說,也不是所有的東西都需要用Java來實現。而ColdFusion MX可以運行在J2EE平台的頂端,利用J2EE所帶來的強大結構和原有的投資,同時使得不懂Java的人也能利用它。或換句話來說,通過這種方式,ColdFusion MX 能讓不懂Java的人利用Java的強大處理能力同時有能完成更多的應用開發。所以選擇J2EE的並不意味放棄ColdFusion,對你來說反而是一種明智的選擇 - 你已經花了大量的成本,再多加一點ColdFusion的成本,你就能使你的資訊平台實現更多的功能 ColdFusionMX的底層是基於Java技術的,
那現在或將來在微軟的Windows平台上會有什麼問題嗎。
大多數的ColdFusion都是安裝在微軟的Windows平台上的,並使用一些微軟的後台產品(如SQL伺服器)。所以無論如何對微軟的Windows平台的支援都是不會被放棄的,而且隨著ColdFusion MX對.NET的結合,這種支援會越來越被重視。同時,ColdFusion還能在大量非微軟平台上運行,如:Linux, Solaris, 和 HP-UX。 也能使用各種各樣的資料庫,如:Oracle, DB2 和 mySQL - 所以ColdFusion是業界最靈活的產品。對任何一項技術來說,活躍的使用者討論群都是成功的關鍵之一,ColdFusion有沒有類似的使用者社區。ColdFusion使用者一直以來都是非常具有社區性的,而且ColdFusion的成長和發展方向很大程度上也都是由ColdFusion使用者群來決定的。有數不清的討論群組,論壇,出版物和使用者組和活動(包括有Macromedia組織的活動和非Macromedia組織的活動)。
Macromedia會不會專心致力於ColdFusion的發展。
一定會的。實際上,最新版本的ColdFusion(第一個完全由Macromedia開發的版本)是一個ColdFusion史上最大的開發小組所完成的,投入了大量的人力和物力。這一點就表明了Macromedia對ColdFusion和ColdFusion使用者的承諾。