阅读更多
随便拉上一个果粉说说这一年来苹果公司的成就,Apple Watch肯定排第一,再下来是iPhone破销量纪录及苹果30亿美元收购Beats Electronics,消息灵通的人说不定还会提到Apple Car。同样的问题摆在iOS开发者面前的话,去年苹果公司推出的新一代编程语言,诸多铁杆果粉早有耳闻的Swift必然在排行榜之列。



而如今,尽管距离2015年苹果全球开发者大会(WWDC 2015)开幕还有好几个小时,却已经有不少的参会开发者在旧金山的Moscone West会场外排队等候入场。在今年的WWDC上,每天将有8个小时的Swift实验室时间,苹果工程师团队将讲授Swift的用法,并解答开发者在Swift开发中遇到的问题,同时针对Swift专题,也将有4场演讲专门呈现,届时,Swift必将成为众多参会者讨论的热点。

一年前的WWDC上,由苹果软件工程高级副总裁Craig Federighi为Swift揭幕,演示了类型推理、闭包和多个命名空间等功能。开发者们屏住了呼吸,一时间爆发出热烈的掌声。他还开玩笑说:“好多人压根儿不信Swift有多好,还说着‘那些人在胡扯些什么呀’的话”。

在发布仅7个月后,Swift便已成为Red Monk编程语言排行榜上第22位最受欢迎的编程语言,并且将来很有可能代替Objective-C,排名上升至第3位。TIOBE 2015年6月编程语言排行榜显示,Objective-C已进入“自由落体”,Swift继续上升。



同样,在Stack Overflow(开发者问答网站)对157个国家的26,086名开发者的调查中也发现:Swift语言最受开发者欢迎,其以76.6%的比重高占榜首。



单从推广度上来说,1995年推出的Java是Swift之前最成功的编程语言。尽管Swift只局限于iOS设备,但到2017年会有15亿台iOS设备,比如今的10亿多台几乎增加了50%。纵观大局,Swift成就下一个成功典范或许只是时间问题。



诸多大学和培训机构基于市场需求,已开始提供Swift课程。著名的iOS开发大牛Ray Wenderlich就表示,“Swift的反响异常热烈,开发者趋之若鹜。”所以Swift推出没多久,他就立刻将课程重心转移到这门新语言上。

面对Swift的强大魅力,众多开发者怎么可能无动于衷?虽然iOS应用的编程语言是苹果公司说了算,但开发者们还是心甘情愿紧紧跟随,他们很清楚相比Android用户,iOS用户能带来前者四倍的收益,如此一来,Swift本身如何就不再是最重要的因素了。

在Swift之前,80年代推出的Objective-C是唯一的iOS应用编程语言。但如今Objective-C已经有点过时了,开发者们甚至用“老掉牙”、“冗长乏味”、“令人生厌”来形容它。当然,只要是热门语言,总会引来褒贬不一的评价。其实很多开发者并不敢妄自评论,生怕说了点不合时宜的话会曝光在Hacker News上。

打车应用Lyft的工程副总裁Peter Morelli被问到Objective-C语言是否太有难度时,并未正面回答这个问题,只是说:“它就像宗教战争似的,一片开发者忙得热火朝天的景象。”

Swift为何能引发如此热烈的反响呢?众所周知,不同编程语言的差别实在一言难尽,挑几点来说,Swift既安全(代码中少有漏洞出现),还体现了一些新特点,跟其他主流语言一样能为应用添加丰富多彩的附加功能。

另一个重要的优势是:开发者有什么需求,都能用Swift轻松表达出来交由电脑执行。同样的效果,可能用Objective-C就得多好几行代码,但Swift就简洁多了。“看看这些弯弯曲曲的代码和分号,用Objective-C的话,长度将是Swift的四倍,”就职于技术课程服务公司Treehouse的开发者Myers Carpenter说道。

6个月前,Lyft安排工程师拿Swift进行试验后,决定用Swift把Lyft应用重新编写一遍,预计在7月份完成这项工作。用Swift编写后的代码长度只是之前的1/5,且能将代码重复和更新花费的时间“从漫长的几个月缩减到短短几天,”Morelli说:“这是Swift的最大优势。”

LinkedIn旗下的文件共享服务SlideShare也是早期Swift应用者之一。该公司开发者反映说向Swift的过渡非常成功,但他们也付出了成长的代价。举个例子,13英寸的MacBook Pro的处理能力根本不够应付将Swift转换为电脑可读格式的程序。SlideShare的软件工程师Kyle Sherman在LinkedIn的工程博客上写道:“同事用15英寸i7s四核处理器的电脑,情况才好很多。不管怎样,粉丝们对于Swift依旧热情高涨。”

这类问题待到Swift成熟之时就会迎刃而解了。Swift更新太快,还不稳定,给推广带来了阻碍,所以诸多开发者更愿意再等一段时间。Scott Logic软件开发公司的技术总监Colin Eberhardt说,Swift频繁更新使他不得不频繁调整自己的代码。他说:“做产品代码的,肯定不愿意用Swift。”目前苹果还不愿回应这个问题。

目前为止Objective-C仍然比Swift更广为应用,但如果Swift继续发展下去,代替前者也不是不可能。一旦Swift稳定了,成熟了,苹果也许会选择只留其一,将Swift定为iOS应用唯一编程语言。也许未来几年内还不至于到这一步,但Wenderlich认为:“开发者们很可能纷纷转而使用Swift,那时Objective-C将退出人们的视线。”
(文/张新慧 责编/唐小引)
  • 大小: 15.2 KB
  • 大小: 27.6 KB
  • 大小: 46.6 KB
  • 大小: 107.6 KB
0
0
评论 共 1 条 请登录后发表评论
1 楼 qin1985 2015-06-09 21:45
把开发者当小白鼠么,apple再这么傲娇,迟早衰落

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 高性能、小尺寸,TDK新系列µPOL:trade_mark:DC-DC转换器面世

    新系列?POL?电源解决方案,以更高性能、尺寸、易于使用性和简化集成,开创了“电源管理解决方案的新时代”。... 该系列没有使用传统的分离集成电路和电感器的方法, 而是将IC 和电感器集成在一个紧凑的模

  • Swift与Objective-C:重新认识苹果的编程语言(1)

    Swift绝不是那种“今年年底之前将正式推出”类型的公告内容。就在同一天,iBooks商店当中上架了一份长达550页的Swift语言开发指南。开发人员们同时还能够体验Xcode 6 beta测试版,它允许我们利用这款新语言进行应用...

  • USSU Unlimited:无人值守系统软件更新程序无限制-开源

    USSU Unlimited可帮助您管理和保持标准Windows应用程序为最新。 它使您可以自己添加应用程序。 使用它来升级已安装的... Windows网络部署/管理将于2013年第三季度面世。在Windows XP,Vista,7、8和2008R2上受支持。

  • swift-网络-URLSession学习

    URLSession 在 2013年随着 iOS7 的发布一起面世的,苹果对它的定位是作为 NSURLConnection 的替代者,在 iOS9 之后苹果官方已经移除了 NSURLConnection,我们使用最广泛的第三方框架:AFNetworking、SDWebImage 的...

  • Apple前工程师WarrenMoore:Swift中Metal使用初体验

    其实,自Metal面世以来,我们对它的了解也仅限于官方的一些宣传介绍,真正的用法与独特之处却知之甚少。而这次,从WarrenMoore介绍中,我们选取了其中的重点部分,转化成文字与大家分享关于Metal的重要信息。...

  • 商业级Linux-Wind River Linux 4面世

    风河系统公司(Wind River)是的嵌入式软件与服务商,也是业界提供面向行业市场的嵌入式软件平台的厂商。它所提供的嵌入式软件平台包括集成化的实时操作系统、开发工具和技术。于2009年06月以8.84亿美元被INTEL收购...

  • 通信与网络中的松下USB On-The-Go收发器LSI即将面世

    松下电子(Matsushita Electric)日前开发出符合USB On-The-Go(OTG)规格的收发器LSI——AN32045A,将于2006年1月下旬开始供应样品。该收发器LSI采用28引脚QFN封装,外形尺寸为4.2mm×5.2mm×0.8mm,耗电量约为280mW。 ...

  • FastJ-Engine:基于Java的2D游戏引擎。 已停产

    尽管这是我维护公共资源库的第一个工作,也是我的第一个公共游戏引擎,但我不喜欢它的发展方向。 并不是没有可能,但是我觉得有必要从一个扎实的想法开始,即我要为游戏引擎创建什么,而不是一头扎进。 因此,我将...

  • wsl-windows-toolbar-launcher:将linux GUI应用程序菜单添加到Windows工具栏

    WSL Windows工具栏启动器此脚本将为基础的WSL安装创建Windows工具栏启动器,可用于通过标准Windows工具栏直接从Windows启动Linux本机应用程序,如下所示: 这特别酷,因为WSL 2即将面世,它将带来前所未有的性能和...

  • lcd灯的落幕?反射液晶显示器已面世

    RLCDs的正确照明是非常重要的,因为它能克服一些传统的显示照明技术根本无法克服的问题。

  • 面世超过一年,英特尔傲腾的表现如何?

    【IT168 评论】世界已加速步入数字时代,数据的重要性达到了前所未有的高峰,而且随着科技的发展,也会变得越发重要。获取洞察、创新应用、探索新的商业模式,数据将成为驱动企业进步与转型的核心引擎。 随着...

  • SmartCoffee:一张价值1000字的图片-开源

    软件即服务 (SaaS) 2D 网络摄像头手势控制即将面世..... 如果生活是一场游戏,那就公平竞争吧! 在我 40 周年纪念之际:正式宣布公开发布开源项目“SmartCoffee?” 在 Google Code for Education 中。 这是一个自 ...

  • MethaneKit::game_die:DirectX 12和Metal之上的跨平台C ++ 17 meta-API使现代3D图形变得简单(Vulkan即将面世)

    MethaneKit::game_die:DirectX 12和Metal之上的跨平台C ++ 17 meta-API使现代3D图形变得简单(Vulkan即将面世)

  • Objective-C 2.0编程

    然而,这种编程语言直到70年代晚期才开始得到广泛的流行和支持,这是因为,在此之前,C编译器还不能在贝尔实验室之外进行商业应用。最初, 这种日渐增长的流行趋势也部分得益于UNIX操作系统的普及,此时UNIX操作系统...

  • AirBrowse:坏下载链接!!! AirBrowse即将面世!!-开源

    一个免费,快速且高度可定制的浏览器,应增强和简化您的浏览需求。

  • iOS - 老生常谈内存管理:导读

    这段时间通过以下资料学习了 Objective-C 的内存管理: 《Objective-C 高级编程:iOS 与 OS X 多线程和内存管理》书籍 高级内存管理编程指南:Advanced Memory Management Programming Guide 过渡到 ARC 发行说明:...

  • traildb-java:TrailDB的Java绑定

    通过将jar添加到类路径并将java.library.path设置为目标文件来编译并运行该示例。 javac -cp native/linux/target/lib/traildbJava.jar examples/Example.java java -Djava.library.path=`pwd`/native/linux/target...

  • Swift最酷炫的七大功能

    本文作者AndrewWagner是一名资深的iOS和Web开发者,在Swift面世之后,他花费了许多的时间来研究Swift,在文章中,他不仅分享了Swift语言中让iOS和OSX开发者颇为兴奋的部分,还将其与Ruby、C++、Objective-C语言进行...

  • 基于pytorch+ResNet50的眼部疾病图片分类源码+文档说明.zip

    详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;详情请查看资源内容中使用说明;

  • 基于yolov5的鸟窝目标检测源码+模型.zip

    YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

Global site tag (gtag.js) - Google Analytics