Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发。Xcode是开发OS X 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。
背景介绍
Xcode前身是继承自NeXT的Project Builder。
The Xcode suite 包含有GNU Compiler Collection自由软件 (GCC、 apple-darwin9-gcc-4.0.1 以及 apple-darwin9-gcc-4.2.1, 默认的是第一个),并支持 C语言、C++、Fortran、Objective-C、Objective-C++、Java、AppleScript、Python以及Ruby,还提供Cocoa、Carbon以及Java等编程模式。协力厂商更提供了 GNU Pascal,Free Pascal, Ada, C#, Perl, Haskell 和 D语言。Xcode套件使用 GDB作为其后台调试工具。
从Xcode 3.1开始,Xcode也可被用为iPhone OS的开发环境。
Xcode 4.0于2011年3月9日正式发行。该版本非Apple开发者注册会员亦能从Mac App Store中付费下载, 收取US$4.99的费用。
从Xcode 4.1开始,针对OS X 10.6及OS X 10.7用户从Mac App Store免费下载
Xcode主要版本是Xcode 5,支持iOS7,可以在Mac App Store免费下载,亦可在iOS开发者计划网站下载。
Xcode6整合了苹果在WWDC大会上发布的新语言Swift1.0版本。
2015年9月16日,苹果在开发者官网发布Xcode7正式版,并将Swift语言升级到2.0版本[1] .
根据斯诺登提供的资料,美国政府研究人员创建了一个版本的苹果软件应用开发工具Xcode,希望借此将监控后门植入到通过苹果应用商店App Store发布的应用程序中。
应用编辑
Xcode运行于苹果公司的Mac操作系统下,是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序。[3]
不管你用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快。每次操作都很快速和轻松。
苹果公司为用户提供了全套免费的Cocoa程序开发工具(Xcode),和Mac OS X一起发行,在苹果公司官方的网站下载。
自由撤消
Xcode 4 的虚拟模型和设计功能让你可以更轻松的开发和维护应用程序。只需选择应用程序中想要编写的部分,然后模型和设计系统将自动创
建分类图表,不仅可以显示编码,还可以让你进行浏览。Mac OS X Core Data API 帮你的应用程序创建数据结构。更棒的是,它还自动提供撤消、重做和保存功能,无需编写任何编码。
参考资料库
Xcode 整合的 Apple Reference Library 为所有的Apple开发者文件提供一个单独的搜索和显示界面,这些文件包括来自苹果电脑公司网站的在线文件,以及存放在你电脑上的文件。新的参考资料库甚至可以帮你将定期更新资料下载到你的电脑,保持文件的最新状态。Xcode 将帮你快速找到最新的答案。
编译器
Xcode3所使用的编译器是gcc编译器,而在Xcode4之后和版本中,Xcode所使用的编译器已经替换成为新的LLVM编译器。LLVM编译器的前端是clang。
Xcode 4 的核心部分是苹果电脑公司下一代业界标准的 gcc编译器gcc 4.0。新的编译器利用许多先进的最优化技术帮你从现存编码中获得更多性能。从超级计算世界借鉴来的自动向量化(Auto-vectorization)技术可以帮助你释放每台 Intel 系统中速度引擎的能量,而不需要编写向量化编码。其他的最优化工具则支持反馈定向的最优化,以及隐藏模块分析。
Xcode快捷键
文件
CMD + N: 新文件; CMD + SHIFT + N: 新项目; CMD + O: 打开;
CMD + S: 保存; CMD + SHIFT + S: 另存为;
CMD + W: 关闭窗口; CMD + SHIFT + W: 关闭文件
编辑
CMD + [: 左缩进;CMD + ]: 右缩进;
CMD + CTRL + LEFT: 折叠;CMD + CTRL + RIGHT: 取消折叠;
CMD + CTRL + TOP: 折叠全部函数;CMD + CTRL + BOTTOM: 取消全部函数折叠;
CTRL + U: 取消全部折叠;
CMD + D: 添加书签; CMD + /: 注释或取消注释;
CTRL + .: 参数提示; ESC: 自动提示列表
调试
CMD + \: 设置或取消断点;
CMD + OPT + \: 允许或禁用当前断点;
CMD + OPT + B: 查看全部断点;
CMD + RETURN: 编译并运行(根据设置决定是否启用断点);
CMD + R: 编译并运行(不触发断点);
CMD + Y: 编译并调试(触发断点);
CMD + SHIFT + RETURN: 终止运行或调试;
CMD + B: 编译;
CMD + SHIFT + K: 清理;
海量内存
Xcode 将赋予你创建诸如计算和渲染引擎应用程序的能力,这些应用程序使用64位内存定址。这非常适合数据集中的应用程序,其通过访问内存中的数据运行速度更快,远胜于磁盘访问。Xcode 将为你提供工具来建立并调试适合 Intel Core i5, i7 和 Mac OS X |之类的开源项目,旨在让容器运行起来顺畅又安全。
的确,很少有人知道容器,但大多数人多年来一直在使用容器。谷歌就有自己的开源容器技术lmctfy(Let Me Contain That For You,意为“让我容纳你的程序”)。只要你使用谷歌的某项功能:比如搜索、Gmail、Google Docks或无论其他什么,就分配了一个新的容器。
然而,Docker建立在LXC的基础上。与任何容器技术一样,就该程序而言,它有自己的文件系统、存储系统、处理器和内存等部件。容器与虚拟机之间的区别主要在于,虚拟机管理程序对整个设备进行抽象处理,而容器只是对操作系统内核进行抽象处理。
这反过来意味着:虚拟机管理程序能做容器做不了的一件事就是,使用不同的操作系统或内核。所以,举例说,你可以使用微软Azure,同时运行Windows Server2012的实例和SUSE Linux企业级服务器的实例。至于Docker,所有容器都必须使用同样的操作系统和内核。
另一方面,如果你只是想让尽可能多的服务器应用实例在尽可能少的硬件上运行,可能不大关心运行多个操作系统虚拟机。要是同一应用程序的多个副本正是你需要的,那么你会喜欢上容器。
改用Docker这一举措有望每年为数据中心或云计算服务提供商节省数千万美元的电力和硬件成本。所以难怪它们在一窝蜂地尽快采用Docker。
Docker带来了之前技术所没有的几个新特点。第一是,与之前的方法相比,Docker让容器部署和使用起来更容易、更安全。此外,由于Docker与其他容器领域的巨擘进行了合作,包括Canonical、谷歌、红帽和Parallels,共同开发其关键的开源组件libcontainer,它为容器带来了迫切需要的标准化。
与此同时,广大开发人员可以使用Docker封装、交付和运行任何应用程序,应用程序成为轻型的、可移植的、自给自足的LXC容器,可以在任何地方运行。正如Bottomley告诉我,“容器让你立即享有应用程序可移植性。”
市场研究公司451 Research的资深分析师Jay Lyman补充道:“企业组织力求以一种高效、标准化、可重复的方式,让应用程序和工作负载更易于移植和分发,而有时很难做到这点。正如GitHub通过共享源代码来促进合作和创新那样,Docker Hub、Official Repos和商业支持也在帮助众多企业通过改进封装、部署和管理应用程序的方式,应对这个难题。”
最后但并非最不重要的,Docker容器易于部署到云端。正如Ben Lloyd Pearson在opensource.com上写道:“Docker采用了一种特别的方式,以便可以整合到大多数DevOps(开发运营)应用程序当中,包括Puppet、Chef、Vagrant和Ansible,或者可以独自使用,以管理开发环境。主要卖点是,它简化了通常由另外这些应用程序执行的好多任务。具体来说,有了Docker,人们就可以搭建与活动服务器一模一样的本地开发环境,从同一个主机运行多个开发环境(每个开发环境有独特的软件、操作系统和配置),在新的或不同的服务器上测试项目,以及让任何人都可以在设置一模一样的情况下处理同一项目,无论本地主机环境怎样。”
简而言之,Docker能为你做的事情就是:相比其他技术,它能让更多数量的应用程序在同一硬件上运行;它让开发人员易于快速构建可随时运行的容器化应用程序;它大大简化了管理和部署应用程序的任务。总而言之,我能理解作为一项企业级技术,Docker为何一下子蹿红。我只是希望它不负众望,否则外头会有一些忧心忡忡的CEO和CIO。
英文:http://www.zdnet.com/what-is-docker-and-why-is-it-so-darn-popular-7000032269/ |