Category: "DB-Tracklayer开发, 开发, 编程" , Tags: iPhone
为了实现DB-Tracklayer iPhone版本(iPhone上的MySQL客户机应用程序)
我接受了しゃちょー(Shacho 总经理)吩咐的新使命
“你去, 建立用iPhone访问外部MySQL DB服务器的程序库!”.
(※ 台词的一部分是被夸大的)
访问程序库… 这意味着只有苦的(数据交换), 完全没有甜的(GUI, 动画等等).
而且, 如果我们不能实现这个, 就意味着iPhone的项目本身会不成功.
是沉默的压力..
这确实是很重的责任.
…我应该回到本来的主题吧. 通过iPhone存取MySQL DB服务器上的资讯有两个主要的方法.
第一个, 准备另外一个服务器, 让它作MySQL DB和iPhone的中介.
像PHP, 有的已经具有面向MySQL的客户端库, 所以我们为了访问DB可以善用它, 通过HTTP返回结果到iPhone.
采取这个方法的话, 一旦准备好了那个中介服务器, 之后可以很容易地提供广泛适用性, 因为许多终端机能利用HTTP通信. 可是另一方面, 由于有中介服务器, 连接速度, 服务器负载和服务器的运营成本等等会成为问题.
(本来, 从封闭网络根本不能访问中介服务器)
第二个方法, 就是从iPhone直接连接DB服务器.
MySQL已经具有客户端库叫MySQL Connector, 利用这个可以直接连接DB.
这方法的话, 我们不使用中介服务器, 所以不需要担心连接速度啊, 营运成本啊. 不过, 正式程序库是为了主要的平台准备的, iPhone目前没有得到支持.
虽然如此, 这源代码是向公众开放的. 因此, 我们决定利用这个, 为了iPhone定制.
开发iPhone应用程序时使用的语言叫Objective-C.
这是C语言的向上兼容, 所以也可以编释C语言源代码.
因为它已经具有面向mac os行为的源代码, 我们能善用这个再调整一下, 好适用iPhone上. 然后编释了它.
我们成功的用实际的机器连接MySQL DB服务器.
还有, MySQL Connector (libmysql)存取的时候使用C语言, 但是它跟iPhone上利用的Cocoa touch框架不太合,
所以我们做了面向Cocoa touch的包装类.
类库主要的作用是, 互换C语言类型(char*)与NSString*类型, 字符代码转换和内存管理.
反正, 实际使用的时候很可能会注意到更多不足的地方. 我们会渐渐改进.


