【问题标题】:Consume Python DAO from cocoa/objective c front end从 cocoa/objective c 前端使用 Python DAO
【发布时间】:2011-06-30 19:24:41
【问题描述】:
我的计划是开发一个多层、多平台的数据库应用程序。
我想使用来自 cocoa/objective c 应用程序、.net 应用程序和网络浏览器的数据。
我真的不知道从哪里开始,一直在寻找 Python,但找不到 cocoa/objective c 应用程序是否可以使用 python 数据对象。
谁能指出我如何实现目标的正确方向?
我的要求是:
- 数据层应该独立于平台。
- 整个系统是可扩展的。因此是多层的。
- 可以从 cocoa、.net 和基于 Web 的客户端访问数据。
【问题讨论】:
标签:
python
objective-c
cocoa
dao
data-access-object
【解决方案1】:
你可以让python和objective-c一起工作。由于您可以使用 100% 的普通 C,因此您可以使用 Python C 接口。不过这很乏味。
还有PyObjC。这充当了 Objective-C 和 Python 之间的桥梁。文档非常好,它会比直接使用 Python C 接口简单得多。
您也可以尝试使用Thrift。 Thrift 类似于 Google 的 Protocol Buffers,但支持生成 Objective-C 类。您将不得不编写一些样板代码来将数据对象转换为节俭对象;但完成后,您可以在任何 Thrift 支持的语言之间传递信息。文档很薄弱。不久前,我在 thrift wiki here 上写了一篇关于使用 Objective-C 的教程,但不确定它是否是最新的,因为从那时起已经有几个版本的 thrift。