架構
嚴格來說是 Delphi 的 Web 外掛工具,屬於三層架構裡的客戶端,採用兩種模式:
TMS product bundles
近似 Delphi TDataSet 架構,但有自己的 TConnection (TWebClientConnection)、TClientDataSet (TWebClientDataSet) 和 TDataSource (TWebDataSource)。
TMS product plugin
透過 TMS 自訂的規則把三方 JS 元件,如 TWebJQXGrid 等實作為 Delphi 元件。
它們共同的特色是以客戶端的實作,而非伺服器端,有關伺服器的內容要自行製作,對後端的依賴不再是 Delphi,而是各種 REST JSON API 來源,如 ASP.NET、Python、NodeJS 等。
至於 FireDAC 等 TDataSet 元件則無法使用,TWC 完全和 Delphi 資料庫元件脫勾。
連線基礎
TMS Web Core (TWC) 元件在手冊上以存取 JSON API 為主,XML 倒是沒看到,若是使用 TWebJQXGrid 等三方 JS 元件則還需查來源手冊才會知道。
但 TWebJQXGrid 範例在資料的存取上用的是 CSV,頓時有讓我歪腰到 😆
優點
- 純客戶端呈現,操作效能會比 IntraWeb、UniGUI 等框架還要好。
- Delphi IDE 的可視化編輯器在編排應用程式 UI 上很好用。
- 可以把各種三方 JS 元件以 TWC 重新實作在 Delphi 上使用,不再受限於 TWC 元件數量。(這點超讚!)
缺點
- 習慣 Delphi 資料庫元件的開發者需要轉換開發思維;可能要把 TWC 視為 Indy 之類的網路程式開發會比較容易上手。
- 若用到三方 JS 元件,仍需要學習相關 JS 知識,多了一道轉換工法。
總結
對依賴 Delphi 的開發者來說,投資 JS 的目的只是為了方便開發 Web 前期的磨刀工作,在進入開發期時,則可以完全發揮 Delphi 的優勢,至於 PascalToJS 的繁瑣工作? TWC 早就為你搞定這一切!
和你分享 😉
See also
沒有留言:
張貼留言