百科问答小站 logo
百科问答小站 font logo



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

  

user avatar   ai-dai-yun-shi 网友的相关建议: 
      

这题我会,作为一个初级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来学习编程还是很不错的,它简洁易懂,不失趣味。

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




  

相关话题

  如何面试 iOS 工程师? 
  如何成为 ios开发高手? 对ios程序员有哪些要求? 
  如何用代码画出一只齿轮? 
  高斯模糊的原理是什么,怎样在界面中实现? 
  有没有公司代发布iOS或apk应用? 
  为什么苹果在各个方面都要另立门户? 
  既然引用计数在做 GC 时有性能问题,为什么智能指针会广泛应用它? 
  WWDC2020新发布iPhone ios或者iPad ios支持应用双开么? 
  为什么不做个苹果插件可以使在播放视频时把下面字幕遮盖住? 
  有多少人通过在 App Store 上卖 App 做到月入四千元? 

前一个讨论
战锤 40k 里正常的 SM 是怎么被腐化的?
下一个讨论
30 万的丰田大众为什么做不出奔驰宝马的高级感?





© 2025-05-28 - tinynew.org. All Rights Reserved.
© 2025-05-28 - tinynew.org. 保留所有权利