BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

苹果发布新的编程语言Swift

| 作者 郭蕾 关注 9 他的粉丝 发布于 2014年6月4日. 估计阅读时间: 4 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

在6月3日凌晨举行的WWDC 2014大会上,苹果发布了新的编程语言Swift。Swift是一门基于C和Objective-C的编程语言,它被设计用于开发iOS和OS X的应用程序。Swift采用了安全的编程模式并添加了新的主流功能使编程变得更加灵活、简单、有趣。Swift沿用了Objective-C的命名参数和动态对象模型,并提供了对Cocoa和Cocoa Touch框架的支持。另外,Swift采用了与Objective-C一样的编辑和运行环境LLVM,因此它可以兼容Objective-C,开发者也可以在开发过程中无缝切换。

Swift支持代码实时预览(Swift Playground),开发者在左侧输入代码的同时即可在右侧实时预览代码执行结果。这也就是说Swift代码可以被实时编译并输出(同Objective-C,Swift会被LLVM编译为Native Code后运行),开发人员可以拥有更加流畅的编程体验。

据官方介绍,Swift的运行速度飞快。比如在对复杂对象排序这一功能点上,它的运行速度均快于Python和Objective-C。另外,Swift 允许开发者通过非常少的代码来实现更多的内容。在发布会上,苹果演示了如何通过一行简单的Swift代码来完成了一个完整图片列表加载的过程。

Swift汲取了众多语言的优点,它在保证性能的同时,又不失灵活。下面是Swift语言的一些亮点:

  • 整合了闭包与函数指针
  • 元组以及多返回值
  • 兼容Objective-C
  • 支持代码实时预览
  • 支持函数式编程
  • 协议和扩展

Swift的发布在社区中引起了热烈讨论,以下是一些来自社区的观点:

来自Kayac的王巍认为Swift是无数工程师和语言设计天才的努力的成果,吸收了众多语言的精华,是一门先进的编程语言。相比Objective-C,Swift更加简单和易学,并且Swift可以和原来的Objective-C或者C系的代码混用(注意:不同于Objective-C和C++或者C 在同一个.mm 文件中的混编,Swift文件不能和Objective-C 代码写在同一个文件中,需要将两种代码分开),所以这门语言应该值得开发者学习和使用。另外,按照苹果开发者社区的一贯的跟进速度,在不久的将来,Apple 很可能会果断放弃对Objective-C的支持,而全面转向Swift。

来自Google的peng_gong认为,Swift有很多新特性,它吸收了大量其它编程语言中的元素,比如C#中的属性、可空值语法和泛型,Java的枚举类型,Objective-C的协议和扩展,Haskell风格的区间声明语法,Python风格的当前实例引用语法,大杂烩的好处就是任何其它编程语言的开发者都不会觉得Swift陌生。Swift简单且交互性极强的编程环境可以吸引更多的开发者来开发iOS和OS X的应用程序。

旧金山的Web开发者Kevin Ingersoll认为,对于Web开发者来说Swift 的学习难度要比Objective-C低很多,以前他曾经想写App,但是Objective-C的学习障碍令他望而却步,现在这个障碍消失了。

资深 Objective-C 开发者Mike则对Swift 的推出感到烦恼。因为他喜欢 Objective-C,不想学习新的语言。对于他来说,Swift相比Objective-C的优势尚不明朗。他对Swift 的第一印象是为了创新而创新,他害怕新老开发者会在是否要使用Swift这个问题上造成分歧(老的坚持Objective-C,新的用Swift)。

苹果同时发布了支持Swift的Xcode 6 Beta版本,读者可以登录苹果开发者中心下载 Xcode 6 Beta。更多关于Swift语言的介绍读者可以阅读Swift开发指南。另外,FullStack在其GitHub上提供了Swift版本的Flappy Bird,读者可以参考学习。欢迎读者在评论中与我交流Swift语言相关问题。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

新语言 by 宋 琨

新语言,不太了解,请问这种语言主要应用在哪些方面。

Re: 新语言 by Guo Gary

替代Objective-C,开发IOS OSX应用!

看来得学习Swift了 by Li Seijin

苹果称他们还会继续支持Objective-C,所以暂时还不用考虑切换,不过长久来看还是得学习Swift,Swift距离成熟也还需要一段时间吧?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT