购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 Cocoa与Carbon的发展轨迹

作为Mac的用户来说,可能你已经听过不少关于Cocoa与Carbon的传言。这其中有正确的地方,也有误解之处,下面就一一解释。

1.Cocoa是面向对象型的框架,所以很难掌握?

Cocoa的确是采用面向对象思想进行设计的框架,面向对象听起来好像很难,那么Cocoa是不是很难掌握呢?

事实并非如此。刚开始使用Cocoa时,并不用完全理解面向对象的概念,掌握几个专门词汇就足够了。

相反,在使用Cocoa的过程中,自然地就理解了面向对象的程序设计思想。可以说Cocoa是所有面向对象的框架中最通俗,也是最优秀的一种框架。因此不用太在意Cocoa是面向对象型的框架。

2.Carbon是用C语言开发的,懂C语言的人应该用Carbon?

Carbon的确是用C语言开发的,而Cocoa是用Objective-C这样冷僻的编程语言开发的,对于大多数人来说,应该更熟悉C语言。

但是,开发桌面应用程序时,除了要学习开发语言外,还必须学习框架的用法。就算你很熟悉C语言,但是你还是要学习Carbon的相关知识。

因此,笔者还是建议你采用更有前途、编程效率更高的Cocoa。同时,如果你已经熟悉了C语言,掌握Objective-C就是很容易的事情。

3.Carbon在将来会消失?

Carbon应该不会消失的。在2.3节已经介绍过了,Cocoa与Carbon并非是对立的。

的确,Cocoa与Carbon是完全不同的框架,各自的设计思想是不一样的,因此就有了哪一个更优秀的讨论。但是它们决非是彼此排他性的框架。从Cocoa中可以调用Carbon,从Carbon中也可以调用Cocoa,彼此有自己的专长。因此一些应用程序经常以Cocoa为主,需要的时候也使用Carbon。与此相反的使用方式也有的。

因此你完全用不着担心Carbon将来会消失。

4.Carbon应用程序使用Cocoa进行改写后速度会提高?

程序运行的速度不一定会提高。首先,程序的运行速度并不仅仅与选择的框架有关,更大程度与如何合理组织代码相关联。如果考虑改变使用的框架,不如在代码的优化上多下一点工夫。

但是,排除代码质量的差异来讲,Cocoa比Carbon更有优势。一个很大的理由就是,在Mac OS X的新技术中,以使用Cocoa为前提的东西更多。如果想积极地导入新技术,Cocoa更有优势。

另外,Carbon框架还在不断地进行整理。因为Carbon的内部设计比较旧,为了在最新的Mac OS X中运行必须要加入不少补丁,很多部分被苹果公司申明为不推荐使用(deprecated),不推荐使用的将来有可能会被舍弃的,应尽量用其他的东西替换它。因此考虑到将来的维护,索性全部采用Cocoa比较好。

5.如果使用Windows版的Cocoa进行开发,在Windows上也能运行Cocoa应用程序?

到目前为止,只能在Mac OS X上进行Cocoa应用程序开发。苹果公司到底是否提供在Windows上运行Cocoa应用程序的支持,现在还很难说。

假如开发了在Windows上运行的Cocoa及其变换框架,那Cocoa应用程序也能在Windows上运行吗?如果仅仅是使用了Cocoa框架的应用程序我想是可以在Windows上运行的。在2.3节中我们已经了解到了,一个桌面应用程序不仅仅要使用Cocoa,还会使用其他很多的框架。因此,就算有了Windows版的Cocoa,也不意味着所有的Cocoa应用程序都能在Windows上运行。 X5cY/lzK0H0u3Uue/aHXLGa14ZXt9v6+3H0kzgewjZoz5IXa9JW10UCVgWIbGRhH

点击中间区域
呼出菜单
上一章
目录
下一章
×