2012-02-07 70 views
12

我正在查看Delphi Web服務器應用程序,當我進入New Items對話框時,我注意到的第一件事是有幾個不同的框架。什麼是「當前」Delphi Web應用程序框架?

從概念的角度來看,WebBroker看起來最好,但在文檔中它看起來像DB和會話管理代碼與BDE綁定在一起,這使得它在今天有點用處不大。

WebSnap看起來非常相似,但文檔說它已被棄用,應該使用IW(「Web的VCL」)。

所以我看看IW,我不能對它應該如何工作的頭或尾。示例代碼充滿了看起來像屬於桌面應用程序的東西,例如單擊按鈕來觸發事件處理程序以更改表單元素的標題。 (如果我們正在創建一個網頁,那麼不需要在JavaScript中進行客戶端?)

那麼在Delphi中構建Web服務器的當前標準框架是什麼?

+1

+1很好的問題,如果我沒有記錯,IW自動Delphi代碼轉換爲JavaScript,並將其添加到部分的html,但是,我強烈建議採取不同的方法,也許使用IdHTTPServer(不知道它的可擴展性如何...),也許DWScript作爲您的服務器端腳本語言?我已經多次使用這種方法,並且效果非常好。爲了讓你知道我在說什麼,請查看一篇非常古老的博客文章http://www.delphigeist.com/2010/12/dynamic-web-pages-with-dwscript-and.html – ComputerSaysNo 2012-02-07 01:27:57

+0

有趣的,但這個例子只適用於服務頁面。當您需要從用戶處獲取數據並處理數據時會發生什麼? – 2012-02-07 02:51:28

+0

GET/POST請求處理數據,連接到數據庫(如果需要)和所有好東西。如果您需要爲表格用戶處理數據,則可以有一個名爲users.html的頁面,並且該單元中的代碼將對插入/更新/刪除/檢索/等進行響應。在那篇文章中我沒有添加這個例子,但是在DWScript中定義函數之前不應該花費很長時間才能建立db連接和類,這將有助於您運行查詢。 – ComputerSaysNo 2012-02-07 02:55:15

回答

0

http://docwiki.embarcadero.com/RADStudio/en/DataSnap_Overview_and_Architecture

的DataSnap已經存在了很長一段時間,而最新的版本是DCOM免費。你可以利用它來構建服務器端部分(S在C/S和B/S中)。它目前的角色幾乎和.NET中的WCF一樣。

然後,如果您正在構建網站前端,則可以使用IW。但是DataSnap甚至可以使用PHP或其他Web技術構建前端。

+0

我似乎沒有那樣的。這是僅限於企業嗎? – 2012-02-07 05:14:01

+0

它僅在高於Pro的版本中可用。 http://www.embarcadero.com/images/Delphi/delphi_short_feature_matrix_large.png – 2012-02-07 05:28:17

+4

我想說[Web應用程序框架](http://en.wikipedia.org/wiki/Web_application_framework)更像ASP.NET ,這是一個建立動態網站的工具。我認爲DataSnap更多地屬於Web服務類別。 – mjn 2012-02-07 07:10:17

2

雖然有幾個商業選項可用於使用Delphi編寫Web應用程序,但在我看來,Delphi不再附帶作爲套件一部分的現代Web開發解決方案。

如果我不得不回答你的問題,但我會說當前開箱即用 Delphi web框架是WebBroker。 WebBroker是Delphi中包含的唯一Web框架,其功能尚未被棄用或限制。

WebBroker的推出可能早在Delphi 4中。它是一款很好的工作馬,但自從它首次推出以來並沒有得到很大的改進。它讓你做大部分沉重的舉動,但它也不會妨礙你。 WebSnap和IntraWeb是使用WebBroker作爲基礎構建的,可讓您瞭解它提供的服務級別。多年來,IntraWeb的完整版本已與Delphi Enterprise捆綁在一起,但從Delphi XE開始,它現在有幾個限制(沒有SSL,沒有ISAPI部署,20分鐘的空閒超時),這很可能意味着您需要到buy a license from AtoZed認真使用它。

與Delphi Pro捆綁在一起的IntraWeb版本一直都太有限,除了評估版本之外,其他任何東西都沒有考慮到。