百科问答小站 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或apk应用? 
  一款代码质量好的iOS应用,其崩溃率应该在多少之下? 
  互联网行业会被培训机构毁掉吗? 
  为什么苹果在各个方面都要另立门户? 
  如何评价苹果 4 月 27 日凌晨发布的 iOS 14.5 正式版,有哪些具体的更新内容和亮点? 
  如何看待 Swift 之父 Chris Lattner 离职 Apple,去了特斯拉? 
  有 C 语言基础,选择 C#、C++、Java、Swift 中的哪一个进一步学习更合适? 
  用Objective-C或C#开发iOS程序各有什么优点或缺点? 
  Apple 未来会让 Swift 替代 Objective-C 吗,需要多长时间成为主流? 
  既然引用计数在做 GC 时有性能问题,为什么智能指针会广泛应用它? 

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





© 2024-12-23 - tinynew.org. All Rights Reserved.
© 2024-12-23 - tinynew.org. 保留所有权利