oc引导现在由什么组织开发_采用原生技术开发一款iOS app,应该选择Objective-C还是Swift呢...

采用原生技术开发一款iOS app,那么就会面临开发语言的选择,Objective-C VS Swift。

年龄的比较

Objective-c这门语言年龄偏大,它是上个世纪80年代初开发的,而Swift年龄偏小,由苹果公司于2014年发布,现在才5、6岁,不过它现在越来越受开发者的喜欢

在编程语言排行榜中的比较

b245fd8616c0cbe5a397128b6fa0a0f1.png

从上图我们可以看出Swift的排名比Objective-C靠前,由此可见Swift非常受开发者的喜欢

性能的比较

影响性能的主要原因有内存分配、方法调度等。Objective-C是一门动态语言,它采用的是动态调度,采用的方法是objc_msgSend,调用的时候会去class instance保存的hash table里去查找,由于OC的动态性,实例对象类型要推迟到运行时才能确定具体的类型,所以OC的动态调度是一个比较耗时的过程。Swift支持静态调度和动态调度,静态调度在编译时就已经选择好了,动态调度类似于OC,需要运行时去查找,Swift采用的是V-Table的方式,类似于OC的hash table,不过由于Swift是一门类型安全的语言,所以在编译的时候我们当前对象的类型,V-Table中有哪些方法。所以,Swift的动态调度性能比 OC的动态调度快。

代码安全

Swift是一门类型安全和运行安全的语言。类型安全是指程序员在书写代码的时候就必须明确具体类型,不能把一个Float类型的值赋值给Int类型的变量,任何类型不匹配都会报错,不像OC不会报错。这样可以帮助程序员尽早发现潜在的问题。我们用Xcode静态分析工具检查OC项目时,会发现一堆类型不匹配的警告。Swift会保证变量在使用前就是已经初始化。

文件维护

Swift创建一个类只需要一个文件,后缀名是.swift, OC创建一个类,需要两个文件(.h和.m文件)。OC开发的项目需要维护的文件更多。

学习成本

Swift是一门简单易懂的语言,易于阅读和编写,相比之下,OC是一种复杂的语言,编写OC代码需要使用@和中括号,维护难度比Swift大。

通过上述对比,我们可以认识到Swift是苹果开发的旗帜,虽然Swift简单易学,但是达到熟练的程度也是需要花费一定时间的。所以,在选择开发语言的时候,还是要结合自身团队的实际情况。

希望大家能够发表一下自己的看法,大家共同学习和进步!谢谢大家!

2513680e347d6f243f20562fa7e37e97.png
2398f274722b6c2b57fbf2f30401f834.png
722a7a22b4a64976a3048aec1208bfa0.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值