Delphi for PHP 發表會感想 - Show Me The Delphi for Ajax
今天參加了 CodeGear 在高雄辦的 Delphi 2007 發表會,參加者大概有30~40人左右吧。我主要關注的產品是 Delphi for PHP 。我其實已經在《Delphi for PHP is Not on Rails》談過我的第一印象。不過那是根據 CodeGear 網站提供的 Demo 內容所發表的感想。這次則是近距離接觸 Delphi for PHP 。
雖然我沒用過 Delphi ,但還是用過 Borland 的其他 IDE 工具(CodeGear 原本是 Borland 的 IDE 部門)。我上一次使用的 Borland IDE 工具 是 Turbo C 2.0 和 Turbo C++ 3.0 。哈哈,那還是在 DOS 時代啊。因為我後面就轉到 Linux/FreeBSD 下寫系統程式和 Web 程式了。故 Delphi, VisualStudio 這些 Windows 平台的開發工具跟我沒什麼交集。喔,差點忘了。我去年考乙級技術士C++職類時,選用的工具是 Borland C++Builder 。但我是憑以往用 Turbo C++ 的經驗在操作,不算真正在使用。我通常只在寫 C/C++ 程式時使用 IDE 工具,而且只用兩種功能。一是源碼除錯器,二是即時類別、函數與變數名稱提示。因為我用 C/C++ 寫的都是系統程式,根本沒有視覺介面,所以元件拖拉與我無關。
那些都是題外話,言歸正傳吧。我參加這次發表會最大的震撼並不是新工具,而是那些 Delphi 使用者的 domain knowledge 未免... 匱乏了些。我是個在 PHP 領域中隨手一抓一大把的程序員。但許多我滾瓜爛熟的技術知識,在 Delphi 族群中竟然陌生而遙遠。我知道的技術,那群人彷彿不知道。我們做來稀鬆平常的事,按主持人李維的說法「很難做」。當李維問在場諸位有沒有人會 JavaScript 與 PHP 時,竟然只有我一個人舉手。我當場成了稀有種 Orz
李維在說明 Delphi 2007 的 Ajax 支援能力時,舉的例子是:「畫面上呈現多個產品圖檔。當滑鼠經過任一圖檔時,就同時改變產品標題顏色,並在下方區域條列產品規格」。這個例子,我敢說我直接用記事本寫 JavaScript ,不靠什麼 framework ,20分鐘就可以搞定。不過按李維的說法,用 Delphi 2007 的 Ajax 功能只要10分鐘就搞定了。 Delphi 族群等待多年換來的是如此驚喜。嗯,是該說聲恭喜。只是我總覺得什麼地方怪怪的。
第二堂是 Delphi for PHP ,我記得李維舉了三個例子。
- 中文相容性以及資料庫連線。這個例子主要示範如何設定資料庫元件獲取資料,交由 DataGrid 元件顯示。
- 以元件拖拉的開發方式,在網頁上顯示一個符合 Windows 視窗樣式的對話框。對話框中有一個按鈕,點擊後跳出另一個對話框。這些對話框不論在任何平台或瀏覽器上顯示的樣式都一致。
- Ajax 功能,示範 GoogleMap 元件。
第一個範例看來還不錯。照李維的投影片內容, Delphi for PHP 底層所用的 DB layer 是 ADOdb 。在 Delphi for PHP 下,只要透過元件的屬性設定頁就可以完成資料庫連接以及讀取資料的動作。
第二個範例和第三個範例,我看了就滿頭霧水。李維說以往用 PHP 做這些事很麻煩。現在用 Delphi for PHP 後,就可以元件拖拉快速完成。問題是,我從來不用 PHP 做這些事啊。那些視覺元件的產生與操作動作跟 PHP 有啥關係?我明明都是用 JavaScript 的 framework 進行那些視覺元件的程式設計動作。
於是我懂了, CodeGear 搞錯方向了。在高喊 SOA 及 Web 2.0 這個勢頭上,它應該要乘勢推出 Delphi for JavaScript/Ajax 才對啊。我的 Web 程式只需要一種存取資料的方式 (透過 HTTP GET/POST 或 Atom publishing 這些資料傳輸協定)。管他 server 是用什麼資料庫還是程式語言開發的,全部隔離了、中介了。以 Ajax 存取 server 的資料,以 Ajax 在網頁上呈現視覺元件,以 Ajax 處理使用者的互動。一切都是 Ajax。關 PHP 屁事。 So, CodeGear. Show me the Delphi for Ajax!
樂多舊回應