程序员真的需要一台 Mac 吗?

程序员选电脑只推荐15寸的MacBook Pro和13寸的MacBook Pro

稳定性和强大的功能

Mac OS X稳定性的基础是 Darwin,它是系统的开放源代码内核。 Darwin集成了大量技术,包括Mach30内核、基于 BSD UNⅨX(伯克利软件分发)的操作系统服务、高性能的联网设施以及对多个集成文件系统的支持。此外, Darwin的模块式设计让开发人员可以动态加载设备驱动程序、网络扩展和新的文件系统等。

系统稳定性的一个关键因素是 Darwin先进的内存保护和管理系统。 Darwin采用为每个应用程序或进程分配独立地址空间的健壮体系结构来保护应用程序,从而保证了稳定性。Mach内核采用内存对象抽象的概念,扩展了标准虚拟内存的语义。它使MacOSX能够无缝管理独立的应用程序环境。

设备驱动程序是使用面向对象的编程框架(称为I/O工具包)创建的。用"I/O工具包”创建的设备驱动程序可以轻松地实现即插即用、动态设备管理(“热插拔”)和电源管理。I/O工具包包还提供对高级应用软件的硬件存取。

Darwin还向网络协议开发人员提供了 Network Kernel Extension(网络内核扩展,NKE)工具。它允许开发人员创建可动态加载和卸载的网络模块甚至整个协议栈。NKE还使自动配置协议栈成为可能,而且易于监控和修改网络通信量。在数据链路和网络层。它们还可以接收来自设备驱动程序的异步事件通知。

因为 Mac OS X被设计成在异机种计算环境有出色的表现,因此 Darwin还提供了对多文件系统的支持。以对BSD的扩展和增强的"虚拟文件系统"(ⅥTS)设计为基础, Darwin的文件系统组件使用分层体系结构,在这种体系结构中文件系统是可堆叠的。它还引进了几种其他的常用功能部件:允许可拆卸媒体,包括USB和 Firewire设备、基于URL的大容量安装、统一的高速缓存以及基于UTF-8的长文件名。

Darwin还提供以下高级功能:

通过Mach内核实现的抢先式和协作式多任务处理

多线程支持增强的对称多处理(SMP)。

实时支持,保证可快速访问时间敏感的媒体应用程序的处理器资源。

Mac os x组合了三种强大的图形技术: Quartz、 OpenGL和 QuickTime,使开发人员可以开发出用户在桌面操作系统上从未看到过的图形。

Quartz包含一个高性能的轻便窗口服务器和一个两维(2D)图形的图形渲染库。窗口服务器具备一些高级性能,例如与设备无关的色彩和像素深度、分层组合以及自动修复窗口损坏的缓冲窗口。

Quartz的渲染模型基于跨平台的"可移植文档格式"(PDF)标准,使开发人员能够在任何 Mac os x应用程序之中嵌入和操纵PDF数据。它带来一些好处,如自动生成PDF和另存为PDF、在屏幕上自动预览图形、将PDF数据转换为打印机光栅数据或PostScript,以及为所有打印机设置的统一功能。

Quartz使用的分层组合引擎允许开发人员创建独特的屏幕效果。它用“视频混合器模型取代了传统窗口系统的"切换模型",在"视频混合器"模型中屏幕上的每个像素可在所有窗口之间实时共享。这种模型允许在图形用户界面的各状态之间平滑转换。

Quartz的另一个重要特点是进行窗口位图缓冲的能力。在 Mac os x中,每个窗口表示为一个位图,包括半透明( (alpha通道)和防失真信息。此位图被缓存起来,使窗口服务器可"记住”应用程序的窗口内容并在无需应用程序参与的情况下重新合成,从而改善了图形性能并避免了额外的开发工作

Quartz还为开发人员提供了以下优势:

使用浮点坐标系统和高精度向量处理,实现了图形和文本的即时防失真能力。
直接访问视频帧缓冲区。
自动检测并受益于在 PowerPC G微处理器中由 Velocity Engine执行的浮点协处理
高质量的屏幕渲染。

OpenGL

对于三维(3D)图形, Mac os x实现了优化的业界标准 OpenGL OpenGL是当今最广泛采用的图形标准之一,使根据 OpenGL编写的代码非常容易移植并使生成的视觉效果高度稳定。它是专为游戏、动画、 CAD/CAM、医学成像和其他需要一个丰富而健壮的框架以显示二维和三维图形的应用程序设计的。

Mac OS X的 Darwin基础增强了 OpenGL的性能。对于管理 OpenGL资源(如大的纹理的应用程序, Mac os x可十分快速地将纹理内存从应用程序移动到3D图形卡,确保了最高质量和帧速度

QuickTime

Mac os x封裝了最新版本的 QuickTime,它是一种强大的多媒体技术,用于操纵、增强和存储视频、声音、动画、图形、文本、音乐甚至360度虚拟现实。它还允许实时或者存储的数字视频流动。作为一种跨平台的技术, QuickTime能够在 Mac os x以及Mac os8、 Mac os9. Windows95. Windows98. Windows NT、 Windows2000和Windows XP上传送内容。

用户界面非常好

Mac os x强大的功能和技术最直观的体现是其新的用户界面Aqua。Aple将其在用户界面设计领域的领先技术应用于Aqua,加入了 Macintosh用户所期望的许多品质和特性,同时添加了对专家和初学者同样有利的改进。易于使用已贯彻到每个功能部件和功能中。遵守 Apple一贯的设计理念,视觉功能增强不仅仅是提供漂亮的图像,而且还用作系统的功能和操作的提示。注重用户设计的一个重要例子是使用了"表”。这些非模式对话框直接附加到相关文档的标题栏上,直观地链接文档和操作。表的非模式性质可防止应用程序骚扰系统和中断用户工作流程。

Mac os x用户界面有利于开发人员的一个特点是其应用程序包装方法。使用应用程序软件包,开发人员可将应用程序的可执行文件与多个库和资源文件组合起来,让最终用户看起来就是一个图标。因此,开发人员可以简化用户的安装过程,并在同一软件包中同时封装国际化和本地化版本的软件。

交互操作体验优

Mac os x史无前例地使用了一些技术和标准,从而可与其他平台相互操作。它为开发人员和用户提供了在新环境和用新方式使用 Macintosh计算机的机会。

网络和文件系统

Mac oS x管理多种文件和网络格式及协议。以增强的VFS设计为基础,文件系统支持。

以下本地格式:

通用文件系统(UFS),类似于大多数UNⅨX操作系统的标准卷格式,并支持POSⅨX文件

系统语义,这对许多服务器应用程序来说很重要

NFS(网络文件系统),用于在TCPP网络上共享卷
DVD卷的通用磁盘格式(UDF
SO9660, CD-ROM卷的标准格式
Mac OS standard(HFS),在 Mac OS8.1以前的 Macintosh系统上使用的格式
Mac OS Extended(HFS增强型),从 Mac os8.到 Mac os x系统上使用的默认格式
Mac OS X支持下列工业标准协议
WebDAV(Web分布式编辑和管理),允许用户合作编辑和管理远程wb服务器上的文件
SMB(服务器消息块),是为了小型网络上的文件和打印机共享而设计的一个协议TCPP(传输控制协议)和UDPP(用户数据报协议),与网络层 Internet协议一起工作的传输层协议
PPP(点到点协议),用于拔号(调制解调器)访问。
PAP(打印机访问协议),用于假脱机打印作业和打印到网络打印机
HTTP(超文本传输协议),在Web服务器和浏览器之间传输Web页面的标准协议
FTP(文件传输协议),用于在TCPP网络上的计算机之间移动文件
DNS(域名服务),将主机名映射为P地址的标准 Internet服务
SlP(服务位置协议),为自动查找P网络上的资源(打印机、服务器、传真机等设计的
DHCP(动态主机配置协议)和 BOOTP(引导协议)自动指定特定网络中的IP地址
IDAP(轻便目录访问协议),用于查找组织、个人和资源,如网络中的文件和设备。
NTP(网络时间协议),用于同步客户机时钟。

Mac OS X通过以太网(0/1001000Bse-T)以及调制解调器、ISDN、DSL等的串行连接为硬件连通性提供标准支持。通过 AirPort(EE80211)实现的无线联网被内建到Mac OSX中,并通过USB(通用串行总线)和 Firewire(EE1394)提供了外围设备互连。

Mac系统

Darwin同时管理多个应用程序环境的能力使 Mac os x能和以前版本的 Mac os相互操作。 Mac OS x的两个环境 Classic和 Carbon,是专门为这种互操作性设计的

Classic环境实际上是运行在 Mac os x下的受保护内存空间中的 Mac os91的完整版。因此,大多数 Mac os9兼容的应用程序可与 Mac os x应用程序并行运行这样可让用户升级到 Mac os x而不必担心应用程序不兼容。 Carbon是 Mac osx本机环境,它允许程序员利用先进的 Mac osx功能,同时又可与运行 Mac os8.1及更高版本的 Macintosh计算机上已安装系统兼容。

Java平台

Mac os x全面采用了Jaa2标准版(J25E)版本13.1,包括 HotSpot虚拟机。Aple应用Java的好处包括:通过Swing自由访问Aqua用户界面元素、本机抢先式多任务处理、多处理支持(不需要另外编码)以及将JAR文件当作共享库处理。最后一个改进提高了执行速度并减少了依靠相同存储器的应用程序(如套件中的应用程序)所需RAM大小。另外, Mac Os x将Jawa窗口工具包直接插入Mac的本机窗口工具包中,使Jaa应用程序和小程序可利用 Quartz的图形性能优点。

开发选项丰富

有多种对 Mac osx开发的途径。个人技巧、首选语言和工具、目标用户群以及投放市场的时间都会影响开发人员的方法。

Carbon

Carbon api基于早期的 Mac os api。 Carbon允许应用程序利用 Mac osx的功能如多处理支持和Aua用户界面,同时还为允许与旧版本 Mac os的兼容而专门设计了 Carbon。

Cooa

Cooa应用程序环境在 Mac OSX下本机运行。对于那些希望使用快速应用程序开发(RAD)工具和面向对象技术对 Mac os x开发的人来说,Cooa框架提供了快速和完备的途径。这些框架同时提供Java和 Objective-C API。

Java

Java应用程序环境允许在 Mac os上开发和执行Jaa程序。在 Mac os X中采用]2SE目的是使a应用程序的可移植性最高,同时发挥 Mac os x的性能优势。开发人员还可以使用Jaa开发语言编Cooa应用程序,让Jaa编程员可以使用熟悉的编程语言开发新的平台。

Unⅸ

因为 Mac os x构建于 Mach/BSD内核之上,将基于UNⅨX的应用程序移植到该平台相对容易,从而使企业级UNX产品在商用台式机平台上可与消费及商用应用程序竞争。

猜你喜欢

转载自blog.csdn.net/dongmenr/article/details/90606216