上古開發神器之Coldfusion

圖片描述

Web開發一直是一個比較糾結的技術領域,爲啥這麼講?你看:html

若是我是一個前端開發工程師,意味着我至少須要熟練掌握3種編程語言:HTML,CSS和Javascript。這仍是基於先後端分離的開發場景,若是是使用傳統的MVC框架的話,則那些「全棧」工程師們還須要掌握服務器端的編程語言,例如Java,Python或者Ruby等。前端

基於這樣一種複雜組合的前提,技術界又衍生出了各類各樣的「框架」來試圖加強複用性以提高開發效率 & 規範團隊的編碼風格。例如傳統的MVC框架就有無數種:基於Java的SSH(其實是3中框架的搭配)、基於Python的Django、基於PHP的Yii、基於Ruby的Rails等等等等……(你會發現上述框架都是基於服務器端語言的)而後,因爲Javascript語言的設計實在是比較草率,因此出現了各類框架來進行改善(prototype, extjs, jquery, vue.js, react.js等等);與此同時,CSS的框架也層出不窮(Bootstrap,boolma……)vue

上述現象,一方面體現了Web開發技術領域的生機勃勃;而另外一方面,從程序員角度來看(程序員也是一種用戶哈),一致性體驗嚴重不足!react

在上古時期,曾經有一種開發技術在開發的一致性體驗上有着明顯因爲同類產品的設計&同時也擁有很是高的開發效率(親測體會,我曾經用了一個週末的時間,快速開發了一款公司內部使用的項目週報管理系統 ;-P),這種技術的名字叫Coldfusion。jquery

Coldfusion實際上是一款Web服務器軟件產品的名稱,他使用的前端開發語言名字叫CFML。其典型特色是:語法很簡單,與HTML同樣,使用一些標記實現特別的功能。這些標記也和HTML同樣,不過都是用CF開頭的。例如<CFMAIL>...</CFMAIL> <CFIF>...</CFIF>等。如今的JavaServer Page裏的JSTL顯然是受到了他的啓發。程序員

一個小小的例子Hello world:數據庫

<cfset Msg="Hello World">
<html>
  <head>
    <title>First ColdFusion Program</title>
  </head>
<body>
  <center>
    <cfoutput><h1>#MSG#</h1></cfoutput>
  </center>
</body>
</html>

Coldfusion的功能很是強大,它自己所帶的30多個例子幾乎實現了之前用CGI實現的全部WEB應用。Coldfusion也能夠處理數據庫。因此在ASP出現以前,Coldfusion佔據了NT上WEB數據庫應用的市場。編程

你會發現,在早期的那個年代(CSS尚未從HTML中徹底剝離出來),其初步實現了前端編輯語言與服務器端語言開發的一致性體驗。後端

實際上,在當時Coldfusion幾乎是沒有什麼像樣的競爭對手的。Coldfusion出到3.0版本的時候,微軟的ASP(注意不是.net平臺)剛剛出來1.0版本。在那個時候PHP也是初出茅廬,而Java領域的開發人員們還在使用Servlet在服務器端拼寫HTML字符串!服務器

惋惜的是,一種優秀的技術實現,被洶涌的商業競爭大潮所淹沒了。

Coldfusion產品分紅兩大部分Coldfusion Studio(開發使用的IDE)和Coldfusion Server(服務器端),均是由Allaire公司開發出售。

須要說明的是CFML語言理論上不是綁定在Coldfusion產品上面的(事實上也的確有一些第三方的服務器產品支持CFML),可是實際上在市場裏面你們基本上就會認爲Coldfusion=CFML。

當時Allaire公司旗下還有另一款更加閃光的產品:Homesite。「老年」的程序員可能還有印象,在當時Homesite和Macromedia公司的Dreamweaver以及微軟公司的Frontpage併成爲所見即所得HTML編輯器的「三劍客」。此外,Allaire公司還有一款Java的服務器端產品JRun在當時也是大名鼎鼎。

2001年,Macromedia公司收購Allaire公司。從產品上帶來了兩個後果:

  1. Homesite產品隨之消失;
  2. Coldfusion產品從C++移植到Java平臺。

2005年,Macromedia公司被更大的巨頭Adobe公司收購,在此後的3年,Coldfusion逐漸淡出了人們的視野。

有時候,咱們懷舊的時候,有可能會YY一下,在那個年代,開源的理念尚未深刻人心,不然的話CFML的技術直接開放給開源社區的話,這項技術目前的生存狀態還不必定是個什麼樣……

相關文章
相關標籤/搜索