语言选择: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。

其他

    原文作者:老章888
    原文地址: https://www.jianshu.com/p/796d2416fdb5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞