现在ios开发还用objective c吗

我做 iOS 开发也有好多年了,目前也还在写代码。我自己是 OC 为主,用 Swift 开发过一些页面,但是用的少。聊聊我的个人看法,欢迎交流讨论。

先说我个人的结论:

不使用 Swift,要么是开发者在这块经验较少,要么是所参与项目中不适合使用,这项技能也就弱化了。

下面从项目、团队(个人)以及语言的稳定性方便分析下


项目

新项目:

新的项目没有“历史”负担,如果是有 Swift 开发经验的个人或者团队,一般会考虑使用新语言开发。但也不是一拍脑袋就用的,也要综合评估。看项目的体量、核心组件库支持情况、团队成员经验等。

老项目:

因为老项目基本都是 OC 开发的,有些项目随着时间已经迭代 N 多版本了,项目变的错综复杂、庞大牵一发而动全身的感觉,这种项目在版本迭代、维护还是会以 OC 为主。

混合开发:

目前有不少公司、团队在这样做。我之前所在公司也这样。

比如核心的页面、功能使用 OC,一些不重要的页面会用 Swift 开发,让团队开发人员学习使用,提高大家的实战经验。这个更多的是从技术角度考虑的。

当然这个也和上面的老项目类似,要评估后才会做决策是否使用新语言。

项目兼容性:

有些项目中,会引用较多的第三方开源库或者核心库也是用第三方的,那么要看这些开源库是否支持 Swift,有些老的开源库(只有 OC 版本)但是刚好是你需要的,你要考虑。

团队

要考虑开发团队是否都有 Swift 经验或者有核心开发人员有较为丰富的开发经验。

如果团队成员缺少新语言经验,在项目开发时,考虑项目的计划、风险,一般都会选择更“稳妥” OC 开发语言。

有些不错的以技术为核心的公司团队,会组织开发者学习新语言,也会适当的在项目中使用。提高团队的“战斗力”。

个人

近几年的新入行开发者中,学习和使用 Swift 的已经多起来了。因为是从 0 基础学习的,基本会选择 Swift 语言。

还有就是苹果官方也在推荐使用 Swift,从学习资料、开发工具都在支持,所以对新入行开发者影响较大。

而那些老 iOS 开发者,还是以 OC 为主,因为 OC 经验更多,同时也在学习和尝试 Swift,但在某些情况下还是会优先选择 OC,但也有做混合开发的。这个要看具体的项目、计划等,进行综合评估。

语言的稳定性

Swift 毕竟是一个新语言,虽然经过了这么多年的迭代,但也是处于变化阶段,而且每次大版本都会有较大的变化,这个在开发以及维护上,是会有一定成本的。包括学习成本。当你在项目中遇到这种问题就够头大的了。

比如:你的项目中使用 Swift 某一个版本,在下一次 Swift 更新后,你的项目中就需要针对这块做处理,可以理解为给项目带来了额外的开发成本。

再比如:你的项目中使用了一个第三方开源库,因为是第三方的,所以你自己是不可控的,如果这个库在某个 Swift 版本兼容出问题了怎么办?相对来说,OC 已经不会变化了,这种风险基本没有了。


最后:

回到你的问题:

“最近招ios开发,发现还是使用oc开发语言为主,少用使用swift为主的,目前是2020年,是什么原因让大家不使用swift呢?”

不同的公司和团队,招聘时也是针对当前项目来选人的

比如:某家公司的项目都是 OC 开发的项目,那么在招聘时的要求就是“精通 OC,而了解或者可以使用 Swift 开发,这属于加分项。

再比如:某家公司的项目是纯 Swift 的,那么在招聘时的要求就肯定是“精通 Swift,了解或者可以使用 OC 开发,这就属于加分项了。

现在的互联网大厂(像鹅厂、阿里、头条等),大部分项目都是老项目,所以开发还是以 OC 为主。这些大厂的 app 都属于超级 app 了,光是 iOS 开发团队都是百人级别的,像底层组件的开发、支持可能是另外一个部门,也都是 OC 为主。所以在选择某个语言时,考虑的会非常多。即使是新项目,也会考虑时间成本,如果已经有完整的组件库,而且都是 OC的,你说会使用哪个语言开发新产品呢?

除非 Swift 有什么特别牛的特性,会给终端用户带来多大的使用体验提升、给产品带来更低的成本或者更高的收益,否则为什么要更换一个更有“成本”的开发语言呢?带来的是更多的不确定的风险,相信很多公司、团队都会有所考虑的。

而一些创业公司或团队,用 Swift 的会比较多,因为历史包袱少,也就倾向于选择新东西了。所以在招聘时也会优先考虑选择开发者的 Swift 经验。但如果这个团队是以 OC 为主(开发人员都是 OC 经验为主),那么就优先找 OC 经验的开发人员了。

新事物都是要有一个学习、适应以及进化的过程的,不论是这个事物本身要改进,使用的人也一样。现在 GitHub 上主流的开源库也都已经支持 Swift,也有新的库只有 Swift 版本,说明大家是在拥抱新事物的。

但是理想和现实是不同的,在现实的项目、团队中,是否使用新语言,真的是要综合评估的,不是说新的都好,也不是说老的一定对。而且作为技术负责人,是要做好这些评估的。

针对实际的“环境”,选择合适的开发语言。能够高效的开发、缩短开发周期、提高项目质量和稳定性、降低开发和维护成本,能快速上线,才是硬道理。

相信 Swift 会在未来完全取代 OC,但短时间内还是不会的。

作为开发者,不断的学习、更新自己的知识库,关注新事物的发展是必不可少的额,虽然不能在公司项目中使用,但可以应用在自己的个人项目中作为学习和实践的方式,扩展自己的技术能力。

最后,“适合”的才是最好的!

我来分享一下我碰到的情况。新项目开始,项目组进来五个人,技术水平参差不齐,但是项目要求swift为主。大家都表示不会swift,我说没关系给大家一周时间来学习。一周后,只有一个人表示愿意继续学习swift,其他人纷纷质疑为什么要使用swift,觉得oc就非常好用。由于项目时间紧急,好嘛,那我就让你们几个继续oc。

一个项目做下来,发现了他们为什么还在坚守oc的原因。

整个app项目分两个端开发,使用oc对应框架架构好基础后交给不愿意使用swift的几位开发。开发一周后发现了大问题。

1. 没有使用自动布局。知识体系还停留在iOS6.0之前,最高iOS11了。顺便问了问各个版本的新特性,要么是不清楚,要么是很模糊。

2. 各种低系统版本不兼容的API漫天飞舞。经常就是有的手机上正常,在低端机上就崩溃,还觉得莫名其妙的找到我,说基础架构有问题。

3. 内存管理MRC直接表示不懂。只用arc,不需要懂mrc。

这里只列举几点,其他的不想再吐槽了。从这几点就能看出这个开发人员为什么还停留在oc,是学习能力的问题!还没把oc摸清楚就直接不持续学习了,还有时间学swift?

在这次项目后来各种问题层出不穷,汲取教训后,就不会swift的开发人员直接不要。让你们继续坚挺oc吧。

原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/8202.html

(0)
上一篇 2023-03-06 下午12:59
下一篇 2023-03-06 下午1:07

相关推荐

  • 想考12月份的商务英语中级,有什么资料推荐的或者有什么建议

    复习BEC中级的大概过程 口语: 一定要找对Partner。而且据我所知,从2006年下半年开始,你的搭档通常就是和你一起报名的人,所以最好是英语水平跟你差不多,而且住的比较近,这…

    培训问答 2022-07-26
  • 粉底哪家好,法汀妮粉底

    跟大家介绍一下我的爱用粉底液们,今年出的粉底液保湿、光泽、雾面一手包办,许多品牌都结合了保养品精华深受市场好评,让皮肤每天都能像水煮蛋一样嫩。 我的肤质是属于混和偏干,最近作息不太…

    培训问答 2023-06-21
  • 乐高积木培训班有用吗(乐高积木培训班的好处)

    一类是主题玩具类,比如City城市系列、得宝Duplo系列、星球大战系列、火车系列等,这些系列的玩具,每一个盒子都有一个确定的主题和搭建手册,孩子们只需要根据手册来拼搭就好; 另一…

    培训问答 2022-12-27
  • 新东方英语学校,为什么一些老师教英语不用新东方英语的培训模式来教呢

    比较好解释,主要有以下几点: 事业单位和私立机构的区别 因为学校是属于事业单位性质,所以学校的特点就是步调必须统一,使用的教材都是统一的,上课的方式也是统一的,而且公立学校当中,因…

    培训问答 2022-04-12
  • 工业设计的前景如何

    工业设计是最近几年比较热门的一个专业。笔者目前工业设计博士在读,坐标荷兰。本科、硕士和博士阶段分别就读于不同的高校,这里不谈大道理,仅从自己身边的同学谈起,讨论下工业设计的考研、就…

    培训问答 2023-05-29
  • 一个优秀的家具导购应该拥有哪些优点呢

    1.能够读懂目标消费者心里需求,思维方式与目标客户同频。 我们在终端店面经常遇到这样一种情况,那就是主流家具卖场的行业主流品牌门店销售人员的“气质”与门店产品所定位的目标客户群不匹…

    培训问答 2023-05-06
  • 捞拌汁的配方是什么

    现卤现捞卤水是经过改良之后的油辣卤,相比油卤多了几味火锅类香料和香辣卤油泡卤的程序,下面给大家介绍的是纯天然油辣卤的制作,所以川菜世家的程序与使用添加剂的不同,请看仔细,不要乱喷。…

    培训问答 2022-10-01
  • 你四级过了吗?打算再考一次吗

    不久,4级考试的成绩已经可以查询了,很多同学在看到通过之后应该是非常的高兴,但是也有一部分同学没有过。对于大学生来讲四级英语到底是一个什么样的概念?需不需要坚持把考过?我觉得应该从…

    培训问答 2023-03-26
  • 松鼠ai智适应教育打地基模式是什么样的

    松鼠AI推出打地基的学习模式,是基于知识空间理论和追根溯源学习理论等。 我们首先来看一下,孩子的分数为什么会波动,会忽上忽下? 根据知识空间理论,每一个孩子大脑里面都有一个知识宇宙…

    培训问答 2023-01-09
  • 教你学会与人沟通

    推荐10个让人很舒服的沟通技巧: 1. 赞美行为而非个人 举例来说,如果对方是厨师,千万不要说:你真是了不起的厨师。他心里知道有更多厨师比他还优秀。但如果你告诉他,你一星期有一半的…

    培训问答 2023-03-10