就目前我知道的 solution,大概有三種方式,分別敘述如下
1.RealThinClient
這是一個 3rd Party 的廠商,在 2011/11/11 的時候已經正式 release 他們的 product 支援 XE2 與 iOS 的程式撰寫,你可以到他們的官網看看這個 product 能做到哪些功能,看起來應該還蠻強大的,當然這是要花 $$ 的 solution,另外在這裡 http://www.youtube.com/watch?v=LPV4fWAw69g 有個 Video ,你可以看到用這個工具寫出來的程式實際執行狀況如何…
2.DataSnap Client for iOS
之前提過原本 Delphi XE2 是沒有辦法在 iOS 上使用 DataSnap 相關的 class 的,不過想必客戶反應這部分的聲音還蠻大的,所以 Embarcadero Developer Network 上,大約在
2011/10 月 20 幾號的時候,發表了這篇 DataSnap connectivity for iOS using Delphi XE2 and FireMonkey 文章,相信這等於是宣告未來 Delphi 的版本會將此部分的功能完善化,目前提供出來的先行版本,功能是否完整、中文支援度如何,都還有待驗證,這部分我也還沒有時間把玩過,不過文章下方有網友反應測試狀況,說速度上似乎有些緩慢,從資料庫讀 20 筆資料到 iOS 裝置上要 20 秒,當然可不可信,實際狀況還有待親自驗證過才知道。
3.ns_url_request + DataSnap Server + superobject
利用 Phil Hess 提供能在 iOS 上執行 http 的 ns_url_request.pas,詳見 https://forums.embarcadero.com/thread.jspa?threadID=60940,加上原本 Delphi XE2 提供可以快速撰寫的 DataSnap REST Server,再搭配一個 open source 專門以 pascal 語法處理 json 格式資料的 superobject.pas,詳見 http://code.google.com/p/superobject/,就可以達到在 iOS 上透過 Http 的方式跟主機上的 DataSnap Server 做溝通,資料傳遞上則以 json 的方式來處理,這在第二個 solution 還沒有曝光前,是我兜起來的解決方案,已確實驗證在 iPhone 上可以執行,達到類似第一個 solution video 的效果,中文的部分也完全沒有問題。
後續會把第三個解決方案的詳細作法,盡量以 step by step 的方式作介紹...
...to be continued
留言列表