2020年再看SwiftUI那点事

Swfit语言是Apple公司为了替代Objective-C而发布的新的编程语言。从2014年8月18日公布swift1.0 到 2020年3月24日发布了swift 5.2 经历了 5个大版本,共16个小的版本迭代。从swift5 开始ABI终于稳定了。

同时在2019年WWDC大会上,苹果在压轴环境向大众宣布了基于Swift语言构建的全新UI框架SwiftUI。新的UI框架让众多开发者兴奋不已,生命在于折腾,相信好多开发者都是这样。


Swift UI

一、为什么是SwiftUI?

SwiftUI的跨平台性。SwiftUI 能让开发者通过swift语言的强大功能即可为所有的苹果硬件设备构建用户界面,这是一个很大的提升,当然这里的跨平台指的是苹果的设备。之前写过Mac OS的桌面应用,用到的是AppKit当时和UIKit对比,还是有很大的不同的。不能按照使用UIKit的思维去用AppKit。很明显SwiftUI解决了这个短板。SwiftUI让代码更简洁。在了解过程中看到一个使用UIKit框架编写的100多行代码的界面,用SwiftUI 只用了10几行。这对于开发效率和可阅读性上来说,无疑是一个巨大的进步。


简洁的代码

3. SwiftUI 使用了新的声明UI结构。不可否认Storyboards和XIB很有用,对于快速布局来说非常方便。但是在使用代码控制时会非常的麻烦。个人是不推荐使用storyboard的,至少在团队开发时不推荐,因为很容易因为一个人的小动作会让整个storyboard飘红一片。当然如果是一个人的小项目,那么也还不错。SwiftUI消除了源码控制的痛点,消除了使用interface builder可能遇到的一些连接混淆。 它不布局结构非常清晰易懂。

二、为什么当前不选SwiftUI

SwfitUI发布后,作为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。不过随着时间推移,必然会越来越完善。对于开发者能做的就是持续关注,扩展技术栈,坐等新时代来临。

0

评论0

站点公告

 

AI创作与绘画大师,国内版chatGPT在线版本免费使用哦

点击打开: https://ai.uiya.cn

   
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码