最近更新: 2007-04-26

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 ,我記得李維舉了三個例子。

  1. 中文相容性以及資料庫連線。這個例子主要示範如何設定資料庫元件獲取資料,交由 DataGrid 元件顯示。
  2. 以元件拖拉的開發方式,在網頁上顯示一個符合 Windows 視窗樣式的對話框。對話框中有一個按鈕,點擊後跳出另一個對話框。這些對話框不論在任何平台或瀏覽器上顯示的樣式都一致。
  3. 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!

樂多舊網址: http://blog.roodo.com/rocksaying/archives/3074173.html

樂多舊回應
jameschu888@gmail.com(James) (#comment-9858469)
Fri, 27 Apr 2007 07:43:19 +0800
其實一個工具是否有用必須重多方面來看..以Delphi for PHP來講(雖然本人沒實際參加過這個研討會), 但是有幾點可以思考

1. 以台灣的市場來講, Delphi畢竟曾經輝煌過, 我相信目前還有在用Delphi的公司應該也還有一定的數量, 如果可以透過Delphi for PHP讓這些公司的程式設計師, 可以切入LAMP的專案開發, 對公司來講應該是成本最低的(最起碼可以少掉WIN OS/MS SQL), 而且Delphi for PHP, 我沒記錯的話, 好像賣的比較便宜

2. 轉換程式語言的成本很高, 如果Delphi for PHP可以做到, 讓Delphi程式設計師, 在只要學習基本的PHP語法後, 就可以透過Delphi for PHP開發出水準以上的網站(理論上@_@), 對養了一堆Delphi工程師的老公司, 不是大利多嗎?

3. 換IDE工具也很痛苦, 如果有人一路從Delphi1,3,4,5,6,7,8這樣用上來, 不要說換語言了, 換IDE都會很吐血(PS: 本人從JBuilder換到Eclipse, 都適應了好久)

一點看法...不是要唱反調, 而是很多東西是看成本划不划得來, 該工具軟體公司賺得還是要讓他賺, 一個人換工具無所謂, 30個, 50個, 100個..那可能就很吐血了, 不過我想目前唯一會讓大家擔心的應該是, 怕哪天CodeGear也不見了..那就不Gear了...
未留名 (#comment-9877689)
Fri, 27 Apr 2007 14:44:53 +0800
我還是等看看有沒有Delphi for Ruby...= =a
如果真的有.. 我要去參加發表會XD
未留名 (#comment-9909359)
Sat, 28 Apr 2007 01:05:18 +0800
其實國內使用delphi開發工具的程式設計師,我想應該有七、八成是用來開發商用資料庫應用程式,他們可能從來沒有開發web程式,不然就可能是使用active form來內嵌在網頁上,所以對web程式開發完全沒有概念,所以才會有如此的情況發生,我也是一個使用delphi開發程式的人,但也許我也有開發web程式,所以我可以認同版主想法,在web上,client端互動的部份不管如何就是javascript,至於中介的部份,隨時可以改,看是使用asp、asp.net、php、java等都是一樣的。
未留名 (#comment-10027625)
Mon, 30 Apr 2007 17:49:47 +0800
就我個人觀察, Delphi 的傳統開發框架其實與 Ajax 的開發框架比較接近。而且比起 PHP , JavaScript/Ajax 的編程工作更需要一個 RAD IDE 環境。

李維在會場中曾問我如何進行 JavaScript 除錯,我回答「傳統方式」。所謂傳統方式,一是從 FireFox 的 JavaScript 主控台查看執行時期的錯誤訊息;二是加上 alert() 設置 watch 點。我個人還會使用一些較特殊的方式。像是 JsUnit 單元測試,以及透過 JavaScript shell 以互動模式運行,即時回饋與修正 (動態語言的互動模式之作用,近似靜態語言的源碼除錯器)。

初學者必定難以接受這種開發方式,這種開發方式的生產力也不夠高。我相信 Ajax 正迫切需要一個殺手級的開發工具。
未留名 (#comment-10293939)
Tue, 08 May 2007 09:35:39 +0800
剛好那天我也有去...
不舉手是不想成為箭靶阿(您現在了解了吧...嘿嘿),相信很多人也是這種想法
李維那天示範Delphi 2007關於IntraWeb所展現的技術,根本太小兒科了,哪可能一個禮拜都做不出來...
那種示範只要會點DOM/CSS/JavaScript很好寫的
IntraWeb在之前的Delphi版本就有了,應該是沒什麼人用吧,即使現在加上了Ajax,我想大家還是不想被綁住...
至於Delphi for PHP,我沒什麼太多的感想,乍看之下令人驚豔,只是不知道會不會被綁住,PHP 在網路上那麼多的Free Resource,如您所說得隨手一抓就有了,至於除錯...也有Zend Studio。我在想這個工具的目標,應該是讓初學者能更容易使用PHP吧。
我想最讓我感冒的是,李維說下半年還有個Delphi 2007的更新要出...難道也要學JBuilder一樣嗎?一直改版改不停...
算了也沒差,就等微軟的WPF底定吧,那時候就又要換技術了...
未留名 (#comment-10319785)
Wed, 09 May 2007 00:23:22 +0800
哎呀,不講江湖道義...

嘿嘿,如果不讓 programmer 碰到任何 CSS/JavaScript 的語法,純粹用 Java/C#/Pascal 去做,的確可能要花上一個禮拜。要先找個資深工程師,把 CSS/JavaScript 那一端的東西都封裝成 class ,再交給工程師用 Java/C#/Pascal coding 。

文雅點說,這是「捨近求遠」、「削足適履」。
未留名 (#comment-10572371)
Tue, 22 May 2007 11:27:30 +0800
有 ruby 的 tool 會上市, 但應該不會叫做 delphi for ruby
未留名 (#comment-14348673)
Thu, 30 Aug 2007 17:35:41 +0800
Delphi 2007 ajax,是綁定在Intraweb,以往的Intraweb
要做到AJAX是很困難的,用Intraweb寫程式就跟用Delphi寫win32程式一樣,規劃得宜,win32程式和web程式只需要一次開發,這對於不懂Delphi的人很難理解好處在那
至於php,都說是Delphi for PHP了,當然是把Delphi的語言換
成PHP 我只能說產品出來太晚了 早點推出 應該火紅,PHP一直沒有視覺化的開發工具,演變至今,Framework,套件大行其道,視覺化模式反而落後了,話說Borland以前也有推出過以DBASE為架構的web開發工具,當年Borland DBASE小組發展的,也是風聲大語點小,在台灣跟本沒流行過,也很少人知道