语言选择:Swift VS Object-C

Object-C从2010年开始随着iOS开发热潮开始火热起来,到目前为止一直还是主力开发语言。
Swift从2014年6月问世,到现在接近两年,目前在国外已经占一半的份额了,在国内,一些激进一点的公司也已经全面转向Swift。

Swift的优势

  • 从语言上讲,Swift 比 Objective-C 更简单,它的 语法 更清楚,简洁,功能也更强大,很多程序员看到了真是爱不释手。

  • 完成同样的功能Swift代码比OC更简洁高效,开发效率更高。Swift就是为了简化OC的开发才发明出来的,汇集了几乎所有流行语言的优势,用更高效更少更清晰更简洁的代码来完成以前同样的工作。

  • Swift运行速度不低于OC,调用的相同的底层。而Apple公布的资料Swift还要更快,估计是编译器也做了更强的优化。

  • 只是一个 .swift 文件,没有头文件和实现文件。

  • Swift不仅会排挤掉Objective-C,而且还会取代在Apple平台中做嵌入式开发的C语言。

  • 因为 Swift 中的 ARC 在过程式的和面向对象的代码中都能起作用,它也就不再需要程序员进行心理上的上下文切换了, 即使是他们在编写要触及底层API的代码时也不需要 -- 这在目前版本的 Objective-C 中就是一个实实在在的问题。

  • Objective-C 代码中一直令人很困扰的问题就是缺乏对命名空间的正式支持, Swift 提供了隐含的命名空间,允许相同的代码文件存在于多个项目,而不会造成构建失败。

  • Swift 支持动态库。Swift vs. Objective-C:未来看好 Swift 的十个理由

  • Swift3.0将简化API的调用方式,更Swift化。可以推论,今后会出现只适用Swift的框架。擁抱 Swift 吧,Objective-C 已經是過去式

Object-C的优势

  • 从语言环境,就是说相关资料教程和网络讨论来看,OC经过多年积淀自然是资料更多。

  • 现在 Swift 还没有很好地解决好跟 C 和 C++ 混编的问题。很多项目,底层核心库会采用 C/C++,界面和大部分逻辑采用 Swift 编写,但还需要 Objective-C 作为粘合层,用于在底层和界面层之间相互调用穿透。

  • runtime动态特性给编程带来很多方便,Swift需要添加dynamic关键字兼容Object-C才能获得动态特性,并且要求类都继承自NSObject。

其他

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,367评论 4 61
  • 策略模式 是什么? 策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比...
    JohnnyB0Y阅读 475评论 0 0
  • 本书出版于1776年,所以很多人读不下去,即使有再多的人说这是一本经济学界的《圣经》,也是有些人看不下去,非经济学...
    伏帖圆舞曲阅读 1,648评论 0 0
  • 1 一:编号31 by 杰克逊·波洛克 一幅没有名字,只有编号的画,无疑表达了作者的一种自我态度,这只是画家一系列...
    时光妍习社阅读 131评论 0 1

友情链接更多精彩内容