需要确认注册邮箱后才能开通博客,立即确认我的邮箱
文章 搜索 高级搜索 ?3? ?3?
  • 滤波器new!
  • LED驱动 new!
  • 新能源 new!
  • PLL
  • PCIE协议
  • 可穿戴
  • LSI
  • FCI
文章 论坛 博客 小组 研讨会
EDN China>EDN论坛>消费电子设计专区>Swift语言到底是啥?苹果公司为什么引入Swift?
?
大家在做什么...
楼主 问题:

Swift语言到底是啥?苹果公司为什么引入Swift?

发布时间:2014-6-9 下午4:57

作者: HAREKI

等级: 精英级工程师

积分: 6510分

发帖数: 131次

网站总积分: 6515分

6679分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
u=4045209820,3277629780&fm=11&gp=0.jpg
苹果Swift语言到底是啥?

苹果发布的Swift语言成为本届苹果全球开发者大会上的一大亮点。听说发布仅一天,有关该语言的电子书就被下载了37万次以上。为什么这套新的编程语言这么受欢迎?

Swift语言是供iOS和OS X应用编程的新编程语言,苹果公司宣称Swift在各个方面优于常用的Objective-C语言,不会有多复杂的符号和表达式。同时,Swift更加快速、便利、高效、安全。而且会与Object-C相兼容。

这套语言最大的特色功能是Xcode Playgrounds功能,可以实现代码效果的实时预览。即在屏幕左侧输入代码时,在右侧屏幕实时演示出代码执行效果。那么这套语言对于开发者来说,究竟有怎样的意义?为什么会受到开发者的欢迎?

一、Swift降低了开发者的使用门槛

Swift语言非常契合本届WWDC的slogan:Write the code,change the world。(写代码,改变世界)。

Swift这个新的语言集中了很多其它高级语言的影子,集成了他们的优点。它和Go、Ruby、Python等语言都有些神似。并且它的语法更加接近自然语言,使得编程的过程变得更加简单。这些变化进一步降低了苹果平台上App开发门槛,延续苹果一贯主张的用App来解决一切问题。这将是苹果生态链中重要的一个环节。

随Swift的推出的新版集成开发环境Xcode已经完全支持使用Swift。Xcode所附带的在线文档中也在原有的Objective-C内容的旁边放上了Swift的说明,可见苹果是多么重视Swift的发展。这也正好印证了前面提到的,苹果在降低自己生态链中最总要一环的门槛,这会使得苹果自身的竞争力进一步加强。

二、Swift语言还有不完善之处

目前看来,Swift还不够完善,比如支持的复杂数据结构比较有限,可以使用的第三方库也较少。但是它的出现,代表着接近自然语言语法的编程方法正在快速的发展,让大家看见一个美好的未来:每个希望编写App的人都可以很容易上手,并快速开发出相当不错的App。

当然,Swift也会带来许多局限性,如跨平台等问题等:和Objective-C一样,基于LLVM编译器的它目前是无法在Android、Windows Phone上工作。所以目前对跨平台的App开发者来说,它肯定不会是首选。并且,从逆向工程的角度来看,Swift和Objective-C共享运行时函数,让它看起来更像一个Objective-C优雅的包装。

三、是一次编程语言的革新

Swift语言中的Playground功能是一大亮点。Playground的实时编译和显示结果使得编程变得更加平民化和有趣。并且这种创新的交互式编程方法很可能会被延展到教育领域。说不定哪天大学里面枯燥乏味的语言和算法课程就被这种直观的形式所颠覆。

总体来说,Swift的前景是美好的。Swift的语法相当简单。综合了很多优秀计算机语言的优点。随着Swift语言的逐渐成熟,会赢得更多开发者的支持。
th.jpg

以下七个问题,涉及Swift的优点、缺点,以及Objective-C的结局。知名软件工程师山姆-索菲斯的答案中有些会有点骇人、令人震惊,或许还有几丝伤感。(索菲斯曾创作《Litely》、《Hipstamatic》、《Bible》等应用程序。)

1、为什么开发人员会去学习另一种语言?

苹 果Swift语言的主要目标,是简单易学、使用便捷高效。苹果并不是强迫所有人都去学习新的语言。过去,每当他们带来一些巨大的技术变革(就像是自动引用 计数,Automatic Reference Counting),他们都会给开发人员留上点时间,让人们继续沿袭老的方式怀旧,直到有一天,他们自己就想要拥抱新技术。

不过抛弃习惯的一切,转去学习一些全新的东西绝非易事。对于很多开发者来说,Objective-C就是他们的生计、饭碗。抛弃我们过去几年已经习以为常的工具,乍听起来十分困难。不过,苹果却总有办法将人们引向预设的方向。

苹果这次的杀手锏就是“速度”。Swift使用十分便捷,这本身就是一场巨大的胜利。新的语法也非常棒。“我认为Objective-C的开发者,很快就会喜欢上Swift。”

2、Objective C效率不够高?

Objective C是一款非常伟大的语言,它甚至比网络还要年长。不过这个已为苹果贡献多时的编程语言,想要上手却并不容易,对那些编程菜鸟来说更是如此。“学习难”的主 要原因在于,Objective C看起来和其他的C系语言大相径庭。它最让人头疼的原因就在于,它是“盖在C语言上的薄薄一层”。

在C这样的底层语言基础上创建的东西,很难做到易学、高效。你需要通过C语言去做很多的事情——这显然并不简单。苹果并不需要一个新的语言,不过他们还是积极地去做了一些新的、巨大的尝试。

3、着手学Swift要用多久?容易么?

Swift 才刚刚破壳而出,现在来讲,这一问题的答案还很难说。“在尝试了几个小时之后,我把自己的ObjectiveC程序改用Swift编写,进展非常不错。起 初,我真的感到很沮丧。不过,当我妥协之后,接受了学习过程中可能会让人有些别扭,Swift的文档反而就变得更容易阅读,遇到问题的时候也能迎刃而 解。”

Swift最出色的一大亮点在于:摆脱了C的束缚,Swift语言十分便捷。

想把Objective C介绍给那些没有编程基础的人非常困难。你必须去解释所有的例外规则,然后再从头开始深入讲解计算机科学话题。Swift跳过了这一切,只是简简单单去编码就OK。

4、Swift从哪里汲取灵感?

Swift从多种编程语言中获得灵感。我在用它编码的时候,会想起JavaScript、Go、Ruby以及其他一些语言。Objective C岁数比较大。Swift是一个非常可喜的变化,它拥有从很多现代编程语言延伸出的灵感。

5、Swift的目标是?

苹果Swift的目标,是让任何人都能够快速学习,高效编码。“我觉得,他们可能希望用几年的时间完全淘汰掉Objective C。”简单易学大有裨益,也会吸引更多的开发者会来到苹果的平台。

6、Swift vs 微软、谷歌语言?

“用Swift的时候,我的眼前总会浮现出谷歌Go语言。Go拥有很好的并发功能,很欣喜能看到苹果汲取了Go的一些特点。微软C#语言也十分简洁。不过,现在才仅仅是苹果新语言的开始。

7、Swift可以省下两、三行代码?

当 然可以。相比Objective C,Swift算得上是极致简洁。很多内容写在一行,却仍然简单易读。当然,用Objective C也能实现不少功能,但是内容会很长,而且不方便阅读。有些新的东西,用Objective C编写起来会让人十分头疼,但是用Swift却是种快乐的享受。

“才与Swift接触短短一天的时间,又开始用Objective C去写代码了。不过,我已经开始想念起了Swift。”

分享到:? 新浪微博 ?? 微信 ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
qq空间 ?? 腾讯微博 ?? 人人网 ?? 百度搜藏 ??
?
???标签: 苹果 swift wwdc
引用 回复 收藏 推荐到小组 ( 1) ( 0) 关注

EDN China电子设计技术EMI 很低的高压充电泵
第1楼

回复主题:Swift语言到底是啥?苹果公司为什么引入Swift?

发布时间:2014-6-10 下午6:09

作者: jwdxu2009

等级: 优秀技术总监

积分: 4571分

发帖数: 1585次

网站总积分: 5095分

9184分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
苹果Swift的目标,是让任何人都能够快速学习,高效编码。“我觉得,他们可能希望用几年的时间完全淘汰掉Objective C。”简单易学大有裨益,也会吸引更多的开发者会来到苹果的平台。-苹果了不起
引用 回复
( 0) ( 0)


EDN China电子设计技术入门级发烧友都在问:平衡耳机接口到底好在哪?
第2楼 回复主题:Swift语言到底是啥?苹果公司为什么引入Swift? 发布时间:2014-6-16 下午3:13

作者: zpan

等级: 初学者

积分: 106分

发帖数: 4次

网站总积分: 109分

203分

发送消息

加为好友

查看用户的所有发言

查看用户的个人主页

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
能革新吗?拭目以待!
引用 回复
( 0) ( 0)


EDN China电子设计技术虚拟现实中是如何做到六自由度跟踪的?
第3楼 回复主题:Swift语言到底是啥?苹果公司为什么引入Swift? 发布时间:2014-6-17 下午1:11

作者:山西省忻州市的游客

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件
苹果就是不同于中国的公司。中国的公司只吹牛,不做实事
引用 回复
( 0) ( 0)


快速回复 高级回复
用户名:?
美国的游客?????? (您将以游客身份发表,请登陆 | 注册) ?
标题: * 标题还可以输入80
评论: * 你还可以输入30000
验证码: ?*?
分享: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回消费电子设计 | 返回专业技术交流区
本论坛仅陈述专家或个人观点,并不代表EDN China 电子技术设计互动社区网站立场。
积分排行榜
彩云 [殿堂级工程师]
mzlr [殿堂级工程师]
特权同学 [殿堂级工程师]
敬请关注EDNC官方微信“edn-china"

每月定期向您递送电子元器件规格书网中的最新元器件数据手册下载、库存信息及技术参数更新。请点击订阅:

2016我的工程师社区
EDN官方QQ群???更多QQ群
  • EDN-深圳 8366025
  • 菜农Cortex-M0技术交流 12047788
  • EDN-哈尔滨 75642591
  • EDN-上海 15156661
  • EDN-广州 57660943
  • EDN-桂林 48813559
  • EDN-武汉 25150805
  • EDN-模拟电路 2837145
  • EDN-通讯 30548292
  • EDN-综合 57490949

促进EDN网友交流合作,方便EDN网友学习沟通

有问题请反馈