2020年再看SwiftUI那点事

Swfit语言是Apple公司为了替代Objective-C而发布的新的编程语言。从年8月18日公布swift1.0到年3月24日发布了swift5.2经历了5个大版本,共16个小的版本迭代。从swift5开始ABI终于稳定了。同时在年WWDC大会上,苹果在压轴环境向大众宣布了基于Swift语言构建的全新UI框架SwiftUI。新的UI框架让众多开发者兴奋不已,生命在于折腾,相信好多开发者都是这样。SwiftUI一、为什么是SwiftUI?SwiftUI的跨平台性。SwiftUI能让开发者通过swift语言的强大功能即可为所有的苹果硬件设备构建用户界面,这是一个很大的提升,当然这里的跨平台指的是苹果的设备。之前写过MacOS的桌面应用,用到的是AppKit当时和UIKit对比,还是有很大的不同的。不能按照使用UIKit的思维去用AppKit。很明显SwiftUI解决了这个短板。SwiftUI让代码更简洁。在了解过程中看到一个使用UIKit框架编写的多行代码的界面,用SwiftUI只用了10几行。这对于开发效率和可阅读性上来说,无疑是一个巨大的进步。简洁的代码3.SwiftUI使用了新的声明UI结构。不可否认Storyboards和XIB很有用,对于快速布局来说非常方便。但是在使用代码控制时会非常的麻烦。个人是不推荐使用storyboard的,至少在团队开发时不推荐,因为很容易因为一个人的小动作会让整个storyboard飘红一片。当然如果是一个人的小项目,那么也还不错。SwiftUI消除了源码控制的痛点,消除了使用interfacebuilder可能遇到的一些连接混淆。它不布局结构非常清晰易懂。二、为什么当前不选SwiftUISwfitUI发布后,作为iOS开发者面临的问题就是技术栈的扩展和UI框架的选择问题。就像当初swift刚刚出来时一样,一些新入坑的开发者就在说,终于不用学OC那奇葩的语法了,我是不是直接学Swift就好了?我的回答是NO,新技术刚刚出来,需要时间的沉淀,短时间内很难成为主导。然而实施也是如此,Swift每一个大的版本变动都让一部分人痛不不堪。当然Swift5发布后swift已经稳定。同时这里我依然不建议新手绕开UIKit而直接使用SwiftUI。因为它对于iOS系统是有要求的,需要iOS13.0以上版本才能支持。现在iOS13以下版本的设备仍然不在少数,目前Appstore上的应用时海量的,App用户的使用者才不会关心你用的什么技术。对于这部分使用老系统的用户来说稳定可用才是他们关心的。这也是我不推荐现在不选用SwiftUI的原因。神奇的苹果三、什么时候用SwiftUI既然苹果推出了SwfitUI,那么肯定有它的优势。如果新项目新应用并且不考虑对低版本系统的兼容,那么SwiftUI绝对是一个不错的选择。例如有些OSX的桌面应用,明确的不兼容低版本系统。另外新技术可以不立刻用,但是保持对其观望,可以在学习中熟悉它,以便在几年之后能立刻切换到SwiftUI体系下。四、谷歌和苹果的博弈不知道苹果公司和Google是不是做过什么交易,苹果在一心推广Swift的时候,谷歌突然宣布Kotlin作为Android开发的一级语言。结果发现Kotlin和Swift语法相似度非常的高,时隔多年。在谷歌正在推行Flutter跨平台框架的时候,苹果宣布SwiftUI出台,而二者的结构又是这么的相似。感觉这在下一盘大的棋局。swift和kotlin总结,SwiftUI作为新生框架,它的有点显而易见,然而受历史遗留问题的约束,短时间内还难以完全替代UIKit。不过随着时间推移,必然会越来越完善。对于开发者能做的就是持续


转载请注明:http://www.aierlanlan.com/cyrz/5880.html