Mac OS崛起,Linux在开发者群体中失宠,macosSanta Cruz


Linux 刚刚迎来了它颇具纪念意义的生日——20岁,不过这个喜庆的日子对于Linux的忠实用户来说却又喜忧参半。Santa Cruz(来自总部位于加州的Evans数据公司的研究员)最近给出的应用程序开发年度调查显示,Linux在普及度上已经下滑至第三位,将其拉下马的正是Mac OS;而另一位领先者无疑是Windows。

目前已经在7.9%的开发者群体中成为首要开发平台,而调查同时指出,只有5.6%的开发者使用Linux。

“我对这样的结果并不感到惊讶,”IDC应用程序开发软件部门项目总监Al Hilwa说道。“Mac正有燎原之势,而在我身边打算向其靠拢的开发者也不在少数。”

这些现象背后的真正含义是什么?苹果一直以来都把“创意专业人士”作为自己的主要客户,但过去这一群体主要是指图形设计人员及此类人士,而软件开发者显然并不在列。

不过自从乔布斯后期将Unix BSD作为苹果电脑的底层操作系统以来,OS X与Linux所传承的已经是同样的内容。这意味着开发者们可以从二者当中发现比以往更多的共同之处。另外这两款系统也有着共同的敌人:Windows平台。根据Evans的调查,Windows平台目前仍然吸引着超过80%的开发人员。

在与Linux及OS X开发者们的交流中,我们发现这两个群体的偏好仍然有所不同。Linux开发人员喜爱这款系统的低成本,这不仅是指操作系统本身(免费),同时也涉及他们所使用的硬件(价格低廉),更不用说另有一大堆真正的开源共享内容供他们使用了。OS X开发者们则对这款系统的简单接口大为倾心,而且最新一代的苹果设备为他们开发出色的应用程序提供了上佳的硬件基础。

Linux程序员有点像那些在车库中珍藏爱车的家伙,他们绝不会让机械师之流染指自己的好物。

除此之外,Evans调查报告中值得一提的方面还有,它所涉及的只是开发平台,而非部署平台;Linux在服务器操作系统领域的王者地位尚无人可望其项背。根据Evans的报告,“以Linux系统作为主要部署平台的开发者,在数量仍然占到了Mac拥护者的两倍以上。

同样,Linux与OS X双方的开发者们也都承认他们所选择的开发平台存在一定弊端。正如来自ZapThink的高级分析师Erich Oliphant所指出,“瑕疵总是不可避免的。几年之前,Mac机上的JAVA问题频出,归根结底是由于苹果与Sun之间的标准不同所导致。”

根据去年年底由苹果与甲骨文联合发表的OpenJDK声明,我们得知上述问题本身至少应该已经得到了解决,但Oliphant所提出的另一大挑战仍然存在——应用程序开发工作的完善环节始终难以搞定。

开发人员为什么钟情于Linux

两大重要因素让开发者们对Linux保持忠诚:成本与能力。这并不是说OS X系统的能力就不强——其实挺强的,他们表示。但对于程序员们而言,他们认为自己在细节上的修缮最为关键——他们希望能在苹果或者微软着手处理之前由自己新手部署解决方案——而Linux系统在这方面就非常理想。这有点像那些在车库中珍藏爱车的家伙,他们绝不会让机械师之流染指自己的好物。

Steve Bougerolle是一位现居于温哥华的独立Linux顾问兼软件开发者。虽然他最初是以物理学家的身份为Fortran搞科学规划(其后还做过IT经理等工作),但最终Linux编程工作成为了他的专长。“不得不说的是灵活性。我总能在其中通过自己喜欢的方式解决问题。我对自己做的项目拥有完全的掌控能力,而这一点在Windows或OS X系统上几乎不可想象。”

Josh Oakhurst,作为位于北卡罗来纳州夏洛特市Skookum数字化工程公司的首席创意官,在自定义Web与移动应用程序开发方面也对此也深表赞同。“Linux系统不太适合那些不打算在项目中花费过多心力的人士。如果大家只想为自己的时髦软件找一些美观的解决方案,那么Mac无疑是最佳选择。”  Linux系统不太适合那些不打算在项目中花费过多心力的人士。如果大家只想为自己的时髦软件找一些美观的解决方案,那么Mac无疑是最佳选择。

那么为什么要使用Linux?因为我们有自己的目标。“Linux系统运行着我们的网站,而且它仍然是生产环境的实际平台,”Oakhurst说道。“如果大家连顺畅管理运行着Linux系统的自有计算机都做不到,又如何能指望在运行并管理Linux网站方面带来真正的高可用性?”

来自Skookum公司的开发人员Corey Ballou也表示认同。“我喜欢在这套系统上工作,建立系统架构、进行优化、改善可扩展性什么的。Linux吸引我的地方在于,我在其中挖掘地越深,就越善于解决可能出现的种种问题。对我个人而言,内在尝试比接口更为重要。”

毫无疑问,一部分好感也来自于低廉的成本。大多数Linux发行版是免费的(虽然只要愿意,大家也可以捐赠些钱以示支持),而对应的硬件要求也极低,最便宜的组装机或者品牌台式机就足够用了。

相比之下,苹果的硬件就要昂贵的多。“硬件成本基本达到两倍左右,”Bougerolle对此表示不满。一台苹果计算机的售价,他抱怨道,足够让他买两台笔记本电脑,外加一套备份系统。不少开发人员都不屑于支付这笔额外的费用——正如Oakhurst所说——在这套“时尚软件的美观解决方案”身上。

为什么有些开发者喜爱苹果的OS X

William Horvath非常理解开发者们喜欢Linux的原因——他就曾是其中一员。但现在他已经为苹果所倾倒。“我几年之前从Linux转向了OS X,直到今天我也从未感到后悔。”他目前是俄亥俄州托莱多市DoX系统公司的总裁办主任,该公司主要为小型企业开发商务管理工具。

“我不想让自己的日常生活完全被工作所占据,”Horvath解释道。“我这个人并不极端,我们平时也会用一些Linux设备,而且Ubuntu确实对用户非常友好。不过当我安装一款软件开发工具时,我真的很讨厌对主文件进行重新配置,直接用上必要的功能不好吗?生活就应该轻松一些。”

对于另一些开发者来说,苹果硬件所带来的额外支出也是物有所值。Ries van Twisk五年来一直以自动软件工程师为职业。他目的住在一个距离厄瓜多尔首都基多近二十分钟路的小镇上,主要在通过一台iMac机为OS X系统搞开发。他对自己计算机的高集成度与多功能融于一身的特性十分满意。“在我生活的这个地方,总是跑去买周边设备显然不太现实,”他如是说。

Van Twisk同样对苹果硬件带来的优雅体验赞不绝口。“最值得称道的是他们将一切都放进了一台设备,”他说,并表示普通个人电脑的风扇噪音让他难以忍受;而Mac机安静的状态能让他更专注于自己的工作。“我们当然希望能将全部精力集中在工作上,而不是分散一些去关注设备。”

共性与难题

由于同是出于Unix门下,Linux与OS X系统之间自然是共性大于差异——这种情况也转化为不少软件开发机构的优势。

地处俄勒冈州波特兰市的Avatron软件公司,其CEO Dave Howell就喜欢同时雇用Linux与OS X开发者,以打造运行于苹果移动设备上的iOS应用程序。

Linux工程师对于开源领域通常非常熟悉。他们非常善于借鉴某些在OS X与iOS中不常用到的技术资源。

“Linux系统在概念上与BSD Unix非常接近,而后者正是OS X与iOS系统的基础。因此Linux程序员通常能够顺畅地过渡到iOS框架下的开发工作中,”Howell指出。

“Linux工程师对于开源领域通常非常熟悉,”他继续说道,“这使得他们非常善于借鉴某些在OS X与iOS中不常用到的技术资源。”

与此同时,开发者们也承认自己最喜欢的开发系统往往无法百分之百解决其面临的问题。

举例来说,去年苹果正式宣布将与甲骨文(也就是Java的持有者)就OpenJDK展开合作,以保证Java开发工作能够在OS X系统上顺畅进行。但DoX系统公司的Horvath仍然抱怨称Java在OS X上的发布要迟于Linux版本,而且OS X至今仍不具备Java USB库。“这只是些微不足道的小事,为什么不能做好呢?”

除此之外,他还希望OS X系统中的桌面虚拟化能变得更易于实现;他同时表示自己很想选择AppleMail之外的其它邮件客户端。

而在Linux一边,Bougerolle则指出,“总有些小小的麻烦让我们不得不为之绞尽脑汁。比方说,在我的Linux版本当中,GNU图像处理程序(简称GIMP)只能实现全屏截图,而无法搞定当前窗口截图。OS X系统就没有这类低级失误。”

哪种方案有可能被市场淘汰出局?

在桌面计算出现的最初那段时光,每款操作系统都有自己的死忠、捍卫者与反对者,如今这种情况也没发生什么变化。但事实是,由于微软Windows系统的统治地位、云计算的兴起以及移动计算业务的激增,使用哪套开发平台也许已经不那么重要了。

要说改变的话,开发者们倒的确获得了前所未有的开发灵活性。“云平台将开发平台与部署平台之间的距离进一步拉开,”IDC的Hilwa指出。“这种导向驱使(开发工作)向更加多样化的平台发展,因为客户机根本无关紧要,我们所写的代码会运行在别处。”

Horvath也表示赞同:“基于浏览器的系统是一款单独的平台。用户将得到同样的使用体验。松散的耦合方式使得应用程序将表现层与数据层及传输层彼此分离。应用程序的耦合方式越松散,与后端的联系就越容易。乐于关注UI效果的家伙根本不用考虑后台发生了什么。”

开发者们很可能为OS X系统所吸引,因为他们不仅希望为最新最酷的设备做软件设计,更重要的是iOS领域对开发者的强烈需求。

说Linux“走势看低”,就意味着某种竞争机制已经出现。在现实中,两个社区是紧密相连的。

“不少开发人员都已经在以兼职或是全职的形式从事当下最流行的移动开发工作,”Hilwa表示。而这使得开发者们不得不使用苹果的iOS开发工具。“我们可以在Mac机上运行任何一款操作系统,但却无法在其它计算机上运行OS X。开发者们喜爱这种复合型开发工作。”(例外:Hackintosh倒是能实现这一目标,但极为复杂难使。)

Avatron公司的Dave Howell同样认为这其中包含了某种自我意识。“Linux开发工作一般针对服务器上运行的软件,开发者的名字自然无从表现。而开发运行于手机及平板设备的iOS应用程序则不同,我们大可以将成果向朋友们展示。”

撇开一部分投机心理,事实仍然无法忽视。无论开发者们喜欢使用云终端,抑或是偏爱iPhone前端(当然也包括以Linux为基础的Android设备),计算能力与相关机遇都必然会继续扩大。而发展的结果又引发我们各自的偏好,并带来大量的工作岗位。

“说Linux‘走势看低’,就意味着某种竞争机制已经出现,”Bougerolle评论道。“在现实中,两个社区是紧密相连的。有些人喜欢风格更加鲜明且可靠性强大的苹果桌面系统。另一些则偏好价格低廉且某些方面灵活性超高的Linux桌面系统——甚至有一些还宁愿直接使用根本没有桌面系统的终端界面。”

正如Bougerolle所说,“开发者们任何转换平台的做法都未必是因为新平台的开发环境就一定好于原有平台,更多时候他们只是更偏好新的用户界面罢了。”

这就是历史的趋势、时代的走向。

相关内容