加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

现在是弃Objective-C从Swift的最好时机?

发布时间:2016-07-26 13:14:03 所属栏目:语言 来源:51CTO
导读:各位亲爱的iOS与OS X应用程序开发人员,如今正是将编程阵地转移至更为亲民、功能更为全面的Swift的最佳时机。

开发者需要同时提交应用程序及其对应库,而二者都利用开发证书进行了数字签名,从而确保其完整性(听起来美国安全局又能有所作为了)。这意味着Swift语言甚至能够以高于iOS的速度得到更新,而这也正是现代编程语言的一项重要要求。指向库的所有变更都能够被包含在App Store当中应用程序的最新更新包内,而且整个过程的实现可谓非常简单。

直到Swift与iOS 8面世之前,iOS系统一直无法支持动态库机制——然而在桌面端,Mac早就已经开始对动态库提供支持。动态库存在于应用程序执行文件外部,但却会在用户从App Store获取应用程序时以绑定方式被一同下载。由于这部分内容会被载入到内存当中,因此其降低了应用程序的初始大小,而且这些外部代码只会在被使用时才得到接入。

在Apple Watch平台之上,这种在移动应用程序或者嵌入式应用当中实现延后载入的能力可以提高呈现在用户使用过程中的性能表现。而这正是iOS生态系统的一大独特之处,即使用体验更为灵敏快捷。苹果公司一直专注于让应用程序在运行过程中仅仅载入所需的资产与资源,而如今经过编译的接入代码也被纳入了这一范畴。这种运行过程中即时载入的方式能够降低应用程序的初始等待时间,并保证其直到需要被显示在屏幕上时才真正被载入。

动态库支持能力的出现令Swift成为一款能够以前所未有的速度实现变更与改进的编程语言。用户不必再等等iOS的版本更新,即可即时享受到苹果在Swift当中添加的任何性能提升或者可靠性改善效果。

9. Swift Playgrounds鼓励程序员采取交互式编码方式

Swift全新引入的Playgrounds正是经验丰富的开发人员们的最大福音。Playgrounds的诞生受到了苹果公司前任员工Brett Victor的启发。Playgrounds能够帮助程序员实时测试一种新算法或者图形例程——例如包含五到二十行代码——而且无需创建出整套iPhone应用程序。

苹果公司还为Playgrounds添加了内联代码执行能力,从而帮助程序员在创建一条代码片段或者编写一种算法的同时,从开发环境处获得效果反馈。这一反馈循环能够大大提高代码的编写效率,因为从传统角度讲,程序员需要用想法的方式来估计当前代码的运行效果——而有了Playgrounds,一直皆以可视化方式进行。编程是一种迭代式过程,而其中任何可以减少或者用于补充创建流程的机制都能让程序员们更具生产效率,并把他们的精力解放出来用于处理更为重要的问题——而非专注于解决传统编译器强加给程序员的那些恼人的细节调整工作。

备注:根据我个人在教授新人程序员时的感受,Playgrounds的实际效果对于刚入门的新手而言其实不像经验丰富的老鸟们那么突出。单纯在Swift Playgrounds当中显示出某条变量的运行效果并不能帮助新人们理解这部分代码到底是需要浮点变量还是整数变量——是的,如果打算开发一款能够记住用户上一次Facebook新闻内容访问位置的应用,这种变量类型的需求将非常显著。对新手们来说,关于“为什么”的问题只能在实现运行中的iPhone应用里找到答案——而不是Playgrounds上的片段运行效果。

10. Swift代表着我们能够参与并对其产生影响的未来

Objective-C在相当长的一段时间里仍将继续存在,但其已经不会再迎来任何重大改变,而这完全是因为Swift的出台。Swift中的一部分功能可能会被迁移到Objective-C当中,但Objective-C脱胎于C语言的血统就注定了它也只能吸收这么一丁点新鲜血液。

Swift语言则给开发社区带来了一种直接的途径,允许我们每位参与者对其作出影响,并利用最终成果创建应用程序、嵌入式系统(如果苹果未来发布嵌入式框架许可并向第三方提供芯片架构授权的话)以及像Apple Watch这样的设备。

苹果公司专注于提供最出色的消费者使用体验,并正在着手构建那些真正值得认真关注的功能特性。随着Swift 1.2版本在Xcode 6.3中的发布,苹果方面已经修正了苹果bug报告所收集到的数千个已知bug。负责支持Swift发展与演进的技术团队对该语言的命运非常关注,他们期待着观察Swift如何实现更出色的支持效果、从而帮助开发社区打造出优秀的应用程序及系统成果。

Swift:更加平易近人且功能更为齐备的语言选项

前面提到的一系列变更让Swift得以凌驾于Objective-C之上,同时彻底摆脱了后者作为衍生型语言所残留的大量固症顽疾。苹果公司并不会放弃Cocoa,因为其正是创建出苹果产品特殊使用体验的核心API及代码库。相反,他们会推出功能齐全的校验机制,并使Cocoa能够轻松与其它可以支持Force Touch或者Taptic Feedback(即力度感应与力反馈)等功能的新型API实现交互。

过去的许多传统设定从设计思路上看,完全是为了保障编译器设计方案的易用性。Swift则将注意力集中在了摒弃传统编码实践当中那些容易令人神经紧张的糟粕,从而帮助应用程序开发人员更轻松地完成工作。随着现代编译器方案的不断改进,我们将能够利用更少代码表达出更多信息。

有了Swift语言,程序员们需要维护的代码文件只相当于原先的一半、不必以手动方式进行代码同步、产生标点错误的可能性也变得更低——这将保证他们将更多时间花在真正具有意义的高质量代码编写上。在Swift当中,代码现在能够实现自我记录并提供更多可选类型:编译时安全机制会返回某个值或者无值,这恰恰是异步操作、网络故障、无效用户输入内容或者数据验证错误等多发问题的根源。在Swift当中,ARC在C语言式过程代码与采用苹果Cocoa框架的面向对象代码之间得到了统一。

开发人员会发现,他们在Swift中需要编写的代码量更少,而且能够借助各类现代语言特性支持自己让代码行内容变得更为可靠。Swift自身在不断演变的同时,将始终保证苹果生态系统站在编程发展潮流的前沿,而这都要归功于iOS与Swift当中提供的动态库支持能力。与家庭自动化、设备以及社交服务相集成的开源项目、第三方SDK以及框架等都将更轻松地实现对接,而无需忍受由此带来的额外构建时间。Swift在一部分算法测试中几乎拥有可以与C++相媲美的速度表现,而最新发布的Xcode 6.3与Swift 1.2版本则标志着苹果将进一步推动这一性能优化步伐。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读