在撰寫完成第一個 app之後,你有沒有想要馬上再寫個測試程式跟後端資料庫通上電呢?想必 Delphi 用很久的你一定馬上想到這點,畢竟會開始使用 Delphi,就是被它強大的資料庫連結與資料處理方式所吸引,在 iOS 的開發上這部分是否一樣強大呢?

  想像一下我們以前怎麼跟資料庫連上線的?

  1.透過 BDE

  2.透過 ClientDataSet,後端接 ADO、BDP、dbExpress

  3.其他 3rd Party 元件?

  BDE 老早就在還是 Borland 的時代就被放棄了,畢竟這個架構已經不符合世代潮流,也無法應付來自四面八方、各式各樣的裝置連線所需。3rd Party?不外乎還是直接跟資料庫連線的元件,諸如 DevArt UniDAC、SQL Direct、ZeosLib等等,擔負的角色其實跟 dbExpress 是很接近的,與 XE2 相容的版本部分廠商更新了,部分則否。但是先看看 Delphi 自帶的 ClientDataSet、dbExpress 狀況如何?是的,非常令人無法接受的消息,之前在 design iOS by Delphi XE2(三) 也有稍微提到過,官網上有一篇文章,說明哪些 Components 不能用在 iOS 中,這其中包含了 dbExpress、Interbase、DataAccess、dbGo(ADO)、DataSnap、WebServices、Indy、Internet 等等,詳見 Components Not Used in iOS Applications,這等於宣告 (1)無法直接連上資料庫(2)無法透過 DataSnap(ClientDataSet)連上後端主機(3)無法透過 Web Service 連上後端主機(4)甚至無法透過 Http 跟外面的世界連上線...

  那...那...這樣還有什麼好玩的?感覺 XE2 for iOS 開發,根本就是個玩具,如果要開發跟後端資料庫互動的 app,沒有一條路是通的。當下真的覺得是這樣,上網想找答案,發現也不只是我有這樣的問題,的確,XE2 本身並沒有提供這樣的解決方案,但是不代表沒有辦法解決,只是要向外求援,真是不太符合 Delphi 一貫以來的風格,推測應該是受限於時間因素導致這部分未能完善,後續 Updates 或是更新的版本,應該就會有相關的 solution 了。那在還沒有之前呢?且聽我慢慢道來....

...to be continued  

arrow
arrow

    縹緲 發表在 痞客邦 留言(0) 人氣()