讲座303是介绍Core Data。iOS早就推出该有关数据管理的核心开发基础平台,这个数据核心开发平台为软件开发提出了非常简便和统一的数据管理,现在几乎所有软件开发人员离不开这一工具。当然你可以自己利用其他数据工具或API管理你的数据,但你要写许多codes,而且很容易有许多想不到的bugs,而且从内存管理和运行速度来说也是远不及Core Data。苹果已为开发者提供这一强有力的工具。
其中云支持和文件管理揭示了软件开发如何利用这些API管理软件的数据,为软件开发提供了无限的想象力。其中介绍了苹果的delta软件数据同步的新技术,简单来说,数据在苹果电脑和其它移动设备至今的同步是以数据row为基础的同步,而不是整个数据库的同步,这样可以为使用者节省无线传输数据量。苹果今后的数据同步和软件同步都是delta方式。
题目是:Maximizing Productivity in Xcode 4。该讲座介绍了Xcode 4的主要新的功能,以及如何使用这些功能来帮助软件开发人员更有效地管理和开发软件。苹果的Xcode是一个非常功能强大的软件开发工具,你可以用指令终端console和简单文件编辑来开发软件,但随着Xcode的功能日益增强,软件开发人员几乎离不开这个开发工具,比如说Core Data的设计和IB设计用户界面。但本讲座只是概貌介绍Xcode的基本功能:
该讲座介绍了Xcode的开发理念,其中许多功能都是苹果开发者尤其是高手们提出的概念和功能,这些特性和工具给软件开发者提供了非常便捷的开发环境。我目前还没有更新到4.1,所有付费注册开发者免费都可以免费得到这个版本,届时iOS 5在秋季的推出,4.2版本将正式推出。
讲座307
题目为:Moving to the Apple LLVM Compiler。对于了解和开发苹果软件,这是一个非常有意思和令人感到苹果深有远见的一个典范例子。我们知道,软件开发都是提供将高级语言编译为机器代码。苹果的机器代码是UNIX下的机器代码,苹果软件大多是用C/C++写的,因此所有苹果的软件理论上都可以通过UNIX下的编译工具GCC进行编译。
UNIX下的编码编译器工具是以GNU GCC为核心的。该编译器有许多很优秀的功能,比如可移动性,运行的效率很高,但是这是一个89年代的工具,目前的硬件尤其是CPU已经发展了更高的水平。GCC还停留在过去的水平,无法利用硬件的充分潜力,而且如果软件出现错误,错误的解释非常模糊,这对于编码开发人员来说是一个长期困扰的问题。
苹果早就开始对UNIX下的编译器有心大动手术,苹果集中了最优秀的开发者,从最低级的机器码的编译进行优化,这些都是非常小的CPU指令,速度都是微妙级的改变,但是我认为苹果抓住的操作系统的最要害点。可以这么想象一下,实际上编译器是将一种高级语言翻译成另一种最低级的机器懂得的语言,如果这种翻译不反映语言的变化,能够言简意赅表达准确意思,还是那么老陈旧的八股文方式,其效率程度可想是多么的低下和憋足,并且无法充分用另一种语言的优势有效达到同样或更好的目的。苹果在这个最基本点进行优化,其放大的效果则是成倍或上十上百倍的优化。这也是苹果软件不仅在Mac上,而且在资源十分有限的iOS上也能做到软件的运行也是那么的流畅。
新一代的编码工具是LLVM,LLVM是开发原码!UNIX社区中,LLVM是一个十分活跃的软件开发者社区。
LLVM的整个结构有很大的改变,其中有许多模块,可以很容易和各种语言连接,直接生成机器代码,提供低级水平并十分准确的工具支持。
苹果着手参与LLVM的开发已经有多年(十多年?)的历史,积累了许多经验,现在已经十分成熟。新的Lion操作系统是完全用LLVM编译的机器码操作系统。新的Xcode将完全支持LLVM,目前最新的4.1还是过度阶段GCC+LLVM,4.2将完全淘汰GCC,GCC将在苹果Mac上完成其历史使命。当然你可以继续使用GCC,因为苹果是UNIX系统,但其效率和优化程度都远不及LLVM的结果。Xcode将不提供GCC编译。
我一直对苹果在这方面的发展十分感兴趣,当然我的软件水平完全不懂低级语言,也没有必要;但通过这一方面的深入了解,我认识到苹果所有的新技术都有非常强的基础或基层支持,表面上我们看到的是苹果电脑或其它产品,这些都是冰峰上的一点。这也是苹果许多竞争对手无法与苹果竞争的软肋,在技术内涵上他们无法与苹果抗衡,或者说他们没有真正抓住自己发展的要点,他们没有自己的、扎实的东西。苹果有这么多秘密的坚实基础,其现在和未来产品的前途将是无限的。
该讲座只是粗略大概介绍,讲座中用图形比较了传统编译器和LLVM的结果比较,其优化、计算速度、以及编译速度都是4-10+倍的增长,让人感到十分震撼,看到这一结果,观众们情不自禁地热烈鼓掌。
讲座介绍了如果将现有的软件转变到新编译系统的方法。
苹果宣布将支持新一代C++的功能,苹果一直是推动C++进入一个新的台阶的主要推动者之一。这次苹果是第一个开始支持C++的新标准。苹果高手们说,这是一个非常令人兴奋的消息,届时苹果的软件开发将会推出许多新的、更为简洁当具有强大功能和效率的软件。
视频后随感
我记得我曾听说过微软软件开发粉丝(我也是)嘲笑说,苹果为C++的软件开发者找到工作机会,但是他们不理解,真正计算机的魅力和核心都是在C/C++基础上实现的,这一具有悠久历史和经过千锤百炼的计算机语言至今是所有计算机系统的基础,C/C++的强大功能远远没有过时,现在仅仅是一个新的开始。
Objective-C或Obj-C是苹果推出的软件开发语言,它是建立在经典的面向目标编程语言SmallTalk基础之上。在Xcode中,Obj-C可以和C/C++天衣无缝地交融,这使得软件开发人员利用这些语言的强大功能成分利用操作系统中的所有潜力。
有志于学习苹果软件开发或电脑软件开发的年轻人,基础知识是十分重要的,珍惜时光,好好学习,打好坚实的基础,不要捡捷径,如果那样,实际上将走更多的弯路。无论是学习什么,基础知识最为重要,而不要仅以将来什么能够赚钱作为自己学习的唯一标准。
参考资料