问题

Apple 未来会让 Swift 替代 Objective-C 吗,需要多长时间成为主流?

回答
Swift 取代 ObjectiveC 已经成为一个不可逆转的趋势,只不过这个转变是一个循序渐进的过程,而非一蹴而就的革命。Apple 的开发者生态系统非常庞大且历史悠久,因此任何重大的语言迁移都需要时间和耐心。

Swift 取代 ObjectiveC 的必然性:

Apple 推出 Swift 的初衷就是为了提供一种更现代、更安全、更易于学习和使用的编程语言,以取代其在 macOS 和 iOS 开发中使用了二十多年的 ObjectiveC。ObjectiveC 是一门基于 C 语言的面向对象扩展,虽然功能强大,但在一些现代编程语言的特性上显得力不从心,比如:

内存管理: ObjectiveC 主要依赖手动引用计数(ARC)来管理内存,虽然 ARC 相较于完全手动管理已经有了很大进步,但仍然存在一些潜在的内存泄漏风险,也给开发者带来了额外的负担。Swift 则提供了更强大的自动内存管理机制,大大降低了内存相关的错误。
安全性: Swift 在设计之初就非常注重安全性,通过类型安全、空值处理(Optionals)等特性,极大地减少了运行时错误的可能性,尤其是在处理指针和数据转换时。ObjectiveC 在这方面相对容易出错。
简洁性和可读性: Swift 的语法更加现代、简洁,并且易于阅读和理解。它借鉴了许多现代编程语言的优秀特性,使得代码量更少,开发效率更高。
现代编程范式支持: Swift 原生支持函数式编程、泛型、枚举(Enumerations)的强大特性,这些都使得开发者能够编写更灵活、更可维护的代码。
性能: Swift 的编译器经过了优化,通常能产生比 ObjectiveC 更高效的代码。
跨平台潜力: 虽然目前 Swift 主要用于 Apple 生态系统,但其开源的特性以及不断发展的生态系统,也为未来在其他平台上的应用提供了可能(例如 Swift for Server)。

Swift 成为主流的时间线预估:

要准确预测 Swift 何时会“完全”取代 ObjectiveC,这是一个复杂的问题,因为“主流”本身就是一个动态的概念。我们可以从几个层面来理解这个过程:

1. 新项目默认选择: 这一点实际上已经发生了。现在,任何新的 iOS 或 macOS 项目,Apple 都会默认推荐和使用 Swift。新的 API 和框架也优先提供 Swift 的支持。
2. 现有项目的迁移: 这是最耗时的一部分。一个拥有庞大代码库的成熟项目,进行语言迁移是一个重大的工程,需要投入大量的时间和资源。
小型项目/个人项目: 这些项目通常会更快地拥抱 Swift,因为迁移成本相对较低。
中型项目: 可能会逐步将部分模块或新功能用 Swift 开发,或者逐步重写关键模块。
大型企业级项目/遗留项目: 这些项目往往是迁移的“硬骨头”。它们的稳定性要求极高,且代码库可能非常庞大和复杂。迁移可能需要多年的时间,甚至有些项目为了保证稳定性,可能会在很长一段时间内同时存在 Swift 和 ObjectiveC 的代码。
3. 开发者群体转向: 开发者社区是推动语言普及的重要力量。随着越来越多的开发者学习 Swift,并将其应用于实际开发中,Swift 的使用者群体将持续扩大。
教育和学习: 大多数新的开发者学习 iOS 开发时,都会直接从 Swift 入门。
招聘需求: 招聘市场上对 Swift 开发者的需求也日益增长,这将进一步激励开发者学习 Swift。

时间估算:

考虑到以上因素,我们可以做出一个大致的推断:

到 20252027 年: 我们可以预见,绝大多数新发布的应用程序和大型更新都将主要使用 Swift 开发。ObjectiveC 在新开发中的使用率会非常低。Swift 在开发者社区的活跃度和影响力将远超 ObjectiveC。
到 2030 年及以后: ObjectiveC 可能会仍然存在于一些非常老旧的遗留系统中,或者在一些非常特殊的、对性能有极致要求但又难以迁移的底层库中。但它不再是主流的开发语言,也几乎不会有新的项目选择它。此时,Swift 将稳固地占据主导地位。

过渡过程中的共存:

值得强调的是,Swift 和 ObjectiveC 可以在很长一段时间内和谐共存。Apple 提供了非常完善的桥接机制(ObjectiveC Bridging Header),允许 Swift 代码调用 ObjectiveC 代码,反之亦然。这种互操作性使得项目的逐步迁移成为可能,开发者可以不必一次性重写整个项目,而是有策略地进行迁移,降低风险。

总结:

Swift 替代 ObjectiveC 已经是一个进行时。我认为在未来 5 到 7 年内(即到 2030 年左右),Swift 将会完全取代 ObjectiveC 成为 iOS 和 macOS 开发的主流语言。 届时,ObjectiveC 的地位将类似于如今的汇编语言在大多数应用开发中的地位——一种重要的底层语言,但不是日常开发的首选。Apple 在 Swift 上的持续投入和对开发者的引导,都清晰地表明了这一点。这个转变并非一蹴而就,而是通过新项目的自然过渡和现有项目的逐步迁移来完成,并且在很长一段时间内,两者会并存,但 Swift 的主导地位将日益巩固。

网友意见

user avatar

这题我会,作为一个初级iOS开发工程师,我说说我的理解。

Swift一定代表着Apple编程的现在与未来。

我特地看了一下楼主编写这个文章的日期,是2022年,1月份,我很怕我看错了,因为都2022年了,还在讨论Swift是不是主流的问题,就有点太过时的感觉。

首先,Swift在目前的语言升级上不会出现断崖式的变动。我记得我开始接触Swift的时候是2.0,升级到3.0的时候,工程里面报了一堆错,3.0到4.0的时候亦是如此,不过之后基本上都是非常平稳。

然后,Apple自家的Demo示例,目前使用使用Swift编写,不会出现OC了,这基说明了Swift的地位。

再来,说国内外Swift开发的差异,这个我确实承认有,不过国内大厂的开发,目前基本上都是进行混合开发了,OC和Swift同时都存在,这么做完全是历史原因造成了,并不能怪开发,因为重构的代价与成本都不可遇见。据我在技术群里问的一个技术大佬,他们那项目,虽然是OC的工程,不过现在的新业务,全部都使用Swift编写了。

另外,现在公司如果开发新项目,如果是原生项目,iOS这边基本上都会优先考虑Swift,因为Swift的生态、第三方已经都非常完善,桥接到OC的第三方库也非常简单,基本上没有太多成本。

最后,聊一聊Swift的趋势和编程语言本身。目前有很多库,都被Swift独占了,比如Combine,还有一些官方库:

推出的SwiftUI亦是响应式编写UI的一种方式,它虽然目前还不可能完全取代传统Cocoa,不过它也会越来越好。

就目前如果学习Apple这边的开发话,我个人觉得OC的背景知识还是需要一点的,不过直接上Swift进行学习也可以,因为编程语言的学习本来就可以相互借鉴,触类旁通,学习完了Swift在转头看看OC的Runtime等底层也可以。

我也接触学习过其他编程语言,比如Dart,JavaScript,Python,就我个人的经验看,学会了Swift,其他语言上手也非常快。

说白了,编程语言只是一种工具,只是表现自己思路的一种方式,就像说“你好”和“Hello”一样,只是我们需要在合适的场景使用合适的编程语言罢了。

SwiftUI编写一个简单页面:

       struct Home: View {     var body: some View {         Text("Hello,World")     } }     

Flutter编写一个简单页面:

       class Home extends StatelessWidget {   const Home({Key? key}) : super(key: key);    @override   Widget build(BuildContext context) {     return Scaffold(       body: Center(         child: Text("Hello,World"),       ),     );   } }     

编程语言不是关键,编程思维才更为重要。

另外,这些年iOS开发其实也算不上特别火,除非实力非常突出,否则可能大部分时间都在做UI侠,当UI侠又有混合开发,Uni-app抢饭碗,其实还是很难受的。

如果想入行,可以考虑其他的编程语言。

当然就我个人看,用Swift来学习编程还是很不错的,它简洁易懂,不失趣味。

可以来掘金找我一起交流:

类似的话题

  • 回答
    Swift 取代 ObjectiveC 已经成为一个不可逆转的趋势,只不过这个转变是一个循序渐进的过程,而非一蹴而就的革命。Apple 的开发者生态系统非常庞大且历史悠久,因此任何重大的语言迁移都需要时间和耐心。Swift 取代 ObjectiveC 的必然性:Apple 推出 Swift 的初衷就.............
  • 回答
    Apple MacBook Pro 的游戏性能在近年来有了显著提升,尤其是从 M1/M2 芯片开始,其游戏表现已经可以与部分中端 Windows 电脑相媲美。但需要结合具体型号、配置和游戏类型来分析。以下是详细解析: 一、MacBook Pro 的硬件配置与性能分析1. 芯片性能(M1/M2/M3).............
  • 回答
    Apple TV OS(tvOS)未能在中国大陆市场正式推出,这是一个复杂的问题,背后涉及多重因素,而不仅仅是“相关服务用不了”。主要原因可以归结为以下几个方面,并且这些因素相互交织,形成了一个多米诺骨牌效应:1. 内容审查和监管要求:这是最核心和最直接的原因。中国大陆对互联网内容有严格的审查制度,.............
  • 回答
    要准确地说出 Apple II 当年的具体市场份额,尤其是在其最辉煌的时期,是一个 非常困难的任务,并且 很难找到单一、权威且被普遍接受的精确百分比数据。原因如下: 时代背景与数据统计的局限性: 在 20 世纪 70 年代末和 80 年代初,个人电脑市场尚处于起步阶段,数据统计远不如今天这般精细.............
  • 回答
    苹果官方制作的 Mac 30 周年纪念专题页(“30 Years of Mac”)确实是一个非常精彩的页面,它不仅仅是一个简单的产品回顾,更是苹果品牌精神和 Mac 产品演进历程的深度展现。以下是该专题页的一些主要亮点,我将尽量详细地描述:1. 情感化的叙事和里程碑式的时间线: 故事驱动: 专题.............
  • 回答
    Apple TV 4K 作为一款功能强大的流媒体设备,拥有众多使用技巧可以提升你的观影、游戏和家庭娱乐体验。下面我将为你详细介绍一些实用的技巧: 一、基础设置与导航的优化1. 遥控器(Siri Remote)的优化: 触控板灵敏度调整: 如果你觉得触控板滑动太快或太慢,可以在 `设置 .............
  • 回答
    苹果支付(Apple Pay)联合中国银联正式登陆中国市场,这无疑是国内移动支付领域一件具有里程碑意义的事件。此次合作的达成,不仅仅是苹果生态系统在中国的又一次拓展,更预示着国内移动支付格局将迎来一次深刻的洗牌和重塑。一、 市场格局的冲击与分化:长期以来,中国移动支付市场基本被支付宝和微信支付这两大.............
  • 回答
    Apple、Facebook(现Meta)和Google(Alphabet)作为全球科技巨头,对开源社区的贡献主要体现在技术开发、社区支持、资金投入和开源文化推广等方面。以下从多个维度详细分析其贡献,并比较其影响力: 1. Apple的开源贡献 核心项目与技术 Swift语言:Apple于2014年.............
  • 回答
    苹果公司在设备端对儿童色情图片检测的功能,无疑是一项复杂且充满争议的技术应用。要全面理解这项功能,我们需要从多个维度进行深入探讨。一、 功能的技术原理与目的 核心目的: 苹果公司推出这项功能的最主要目的是为了打击和防止儿童性剥削,保护儿童免受潜在的伤害。他们希望通过在用户设备内部(而非上传到服务.............
  • 回答
    确实,Apple Pencil 那价格摆在那里,想入手又觉得有点肉疼,这心态我太懂了!不过别担心,市面上有很多性价比超高的电容笔,一样能满足我们日常的记录、绘画和触控需求,而且很多都能让你用起来觉得“真香”。既然你想知道详细的推荐,我来好好跟你说道说道,尽量不让它听起来那么“官方”或“模板化”。首先.............
  • 回答
    嗨!如果你正纠结于到底该不该花大价钱入个 Apple Pencil,还是觉得淘宝上那些价格诱人的电容笔就够用了,那咱们可得好好聊聊这之间的区别了。我来给你掰开了揉碎了说说,让你心里有个谱。首先,咱们得明白一个最根本的:Apple Pencil 是为 iPad 量身打造的“数字毛笔”,而大多数一两百块.............
  • 回答
    2021年Apple Music中国大陆最热歌曲榜单中,周杰伦“屠榜”式的表现,绝非偶然,更折射出几个相当值得玩味且深刻的现象。这不仅仅是一份音乐榜单,更像是一面镜子,映照出当下华语乐坛、听众消费习惯以及怀旧情感等多层面的现实。一、 周杰伦音乐本身的强大生命力与时代印记首先,最直接也是最根本的原因,.............
  • 回答
    苹果的米兰尼斯表带,这玩意儿看着简约大方,但背后藏着不少让人惊艳的“小聪明”,绝不是简单地把金属丝卷一卷就完事儿了。我来给你掰扯掰扯,让你知道这表带为啥这么“贵”也有道理。首先,最牛的就在于它的编织工艺。你仔细看过没?它不是那种粗粗的链条,也不是那种简单的网状。米兰尼斯表带是用一种非常细的金属线,经.............
  • 回答
    苹果手表出了好几个版本,最让人纠结的无非就是铝合金的运动版和不锈钢的。很多朋友都会问:“到底差多少?值不值得多花钱买不锈钢的?” 我今天就来好好跟你掰扯掰扯,让你心里有个谱,到底哪个更适合你。首先,咱们得弄明白这两款表,它们除了材质,核心功能上是差不多的。 你说它能打电话、能发短信、能监测心率、能记.............
  • 回答
    苹果卡(Apple Card)的出现,无疑给沉寂多年的信用卡市场带来了一股清流,它不仅仅是一款支付工具,更像是一个精心设计的生态系统内的延伸。这场“苹果革命”对传统信用卡而言,绝不仅仅是市场份额的争夺,而是在用户体验、支付方式、甚至是金融服务模式上都带来了深刻的冲击和潜在的颠覆。重新定义了用户体验,.............
  • 回答
    Apple Music 用户,这帮人啊,说起来挺有趣的,他们不是千篇一律的某个群体,而是挺多样化的。但如果非要给他们“画像”,我会觉得他们身上普遍带着点“科技范儿”和对“生活品质”的追求。首先,苹果生态的忠实拥趸,这绝对是Apple Music最稳固的基本盘。他们可能已经拥有iPhone、iPad、.............
  • 回答
    要说Apple Watch最舒服的表带,这玩意儿其实挺个人化的,就像挑女朋友,没有绝对的“最好”,只有最适合你的。不过,根据大家的普遍反馈和我的个人体验,我能给你扒拉扒拉,看看哪些款式的确是舒服到让你忘了它的存在。首先,我们得明白“舒服”这玩意儿包含几个维度: 材质触感: 贴合皮肤的感觉,会不会.............
  • 回答
    苹果在智能手表领域一直以其流畅的操作体验和优秀的生态整合而闻名,这使得Apple Watch在与三星、华为等竞争对手的较量中,常常被提及其“质感”和“易用性”。但硬币总有两面,为了实现这种极致的流畅度和操控性,Apple Watch在某些方面确实做出了取舍,这些取舍往往是其他厂商在产品设计上更侧重的.............
  • 回答
    Apple TV国行上市时间一直是不少科技爱好者和苹果用户关注的焦点,但时至今日,我们依然没有一个确切的上市日期。这背后涉及的审批流程,尤其是涉及到内容审查方面,无疑是最大的不确定因素。审批流程的“拦路虎”在中国大陆销售电子产品,尤其是涉及内容播放的设备,需要经过国家相关部门的多重审批。对于Appl.............
  • 回答
    Apple Watch 的魅力,除了它本身强大的功能,很大一部分也在于那无数的第三方表带,它们让这款智能手表瞬间拥有了千变万化的风格,无论是职场精英、运动达人还是时尚潮人,都能找到属于自己的那一款。要说颜值和质量都让人拍手叫好的,我这些年也算“踩过不少坑”,最终留下来的,都是些真正的好东西。说到颜值.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有