首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SwiftUI会不会慢慢取代UIKit?

SwiftUI 是一种用于开发 iOS、macOS、watchOS 和 tvOS 应用程序的新框架,它使用了声明式编程风格,使得开发者可以更加关注应用程序的外观和逻辑,而不是 UI 组件的底层实现。

SwiftUI 的确具有一些优势,例如它的语法简洁、易于学习、易于维护,同时它也提供了更高的性能和更好的用户体验。但是,UIKit 仍然是 iOS 开发的主流框架,它在许多应用程序中都已经被广泛使用,因此 SwiftUI 并不会立即取代 UIKit。

相反,SwiftUI 和 UIKit 可以并列存在,同时发挥各自的优势。SwiftUI 可以用于开发新的应用程序,而 UIKit 可以继续用于已有的应用程序。随着时间的推移,开发者可以逐渐迁移到 SwiftUI,以获得更好的性能和更好的用户体验。

总之,SwiftUI 不会立即取代 UIKit,而是与 UIKit 并列存在,同时发挥各自的优势。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SwiftUI中使用UIKit视图

在相当长的时间中开发者仍需在SwiftUI中依赖UIKit(AppKit)代码。好在,SwiftUI为开发者提供了便捷的方式将UIKit(AppKit)视图(或控制器)包装成SwiftUI视图。...本文将通过对UITextField的包装来讲解以下几点: •如何在SwiftUI中使用UIKit视图•如何让你的UIKit包装视图具有SwiftUI风格•在SwiftUI使用UIKit视图需要注意的地方...将UIKit视图包装成SwiftUI的视图时,我们需要了解两者生命周期之间的不同,不要强行试图找到完全对应的方法,要从SwiftUI的角度来思考如何调用UIKit视图。...image-20210823091321562 查看源代码 避免滥用UIKit包装 尽管在SwiftUI中使用UIKit或AppKit并不麻烦,但是当你打算包装一个UIKit控件时(尤其是已有SwiftUI...希望本文能对你学习和了解如何将UIKit组件导入SwiftUI提供一点帮助。

8.1K20

苹果全新UI框架来了!可视化编程,自动化减少20%代码量

Swift是苹果最新的开发语言,有人呼吁谷歌取代TensorFlow的Python。目前在TOIBE排名18位: ? 在RedMond排名11 ?...UIKit的独特风格,一旦你适应了,接下来的过程就一马平川了。...outlets和操作,都会在编译时进行检查,因此在运行时不会出现UI失败的风险 虽然背后使用来自UIKit和AppKit的控件,但SwiftUI凌驾于二者之上,能够有效地使底层UI框架成为一个实现细节,...尽可能的依赖工具 通过消除源码控制的痛点、消除对UIKit的严重依赖、消除Interface Builder可能遇到的一些连接混淆,苹果希望开发者更多的使用Swift,尽可能的依赖工具而不是纠结于一些不必要的事情...Framework Integration 使用 UIKit: ?

5.3K20

从用SwiftUI搭建项目说起

将整个原有的苹果平台差异部分抽象为 App 和 Scene 部分,可以看到Swift5.1之后在完全无需引入UIKit 的情况下我们就创建了一个多平台的App工程,代码也从原本的基于 UI/NS HostViewController...搭建这样一个场景构建一个基本的应用,包括登录和数据处理以及iOS常见控件在SwiftUI中的一些具体的使用,这个项目会随着学习进度慢慢的把所有的内容都基本的补齐,下面是最基本的导航+标签的git效果。...View ---- 我自己觉得,要想从UIKit转换到SwiftUI,需要我们最先转变的概念就是 Controller -> View 的一个改变,在使用SiwftUI写UI的过程中,基本上是不在需要我们向...UIkit那样去创建Controller来管理View,在SwiftUI中最常见的就是View。...在UIKit中我们的导航、标签都是通过控制器来管理,但是在SwiftUI中他们分别是通过NavigationView+TabView管理的,我们得在认识上有一个基本的转变,从Controller到View

4.4K20

拔刺 | 以后的5G技术会不会取代wifi?

今日拔刺: 1、以后的5G技术会不会取代wifi? 2、麒麟970和骁龙835有何差别? 3、如何和人工智能结婚,应不应该受到法律保护?...本文 | 2268字 阅读时间 | 6分钟 以后的5G技术会不会取代wifi? 这个问题的答案很简单,就两个字——不能,下面让我们来从几个角度来分析一下原因。...高昂的费用 假设5G技术取代wifi,那么就必须推出无限流量的套餐,否则费用会远远大于宽带的使用的费用,更何况目前宽带的价格一年比一年低,谁也不会去选择更贵的5G。...再有个极端的例子就是地下室,wifi网络可以将路由器通过有线连接放入地下室产生信号,但是5G网络是不可能覆盖到所有大楼的地下室的,单就这一个弊端,5G也无法取代wifi。...综上所属,5G是不可能取代wifi的,甚至未来的6G、7G。只要是移动网络就不会有取代wifi的可能。 麒麟970和骁龙835有何差别?

33920

SwiftUI - 百行代码变十行,Swift再创辉煌

// 为什么需要 SwiftUI // 下面是来自王巍对UIKit的诟病 UIKit 提供的是一套符合直觉的,基于控制流的命令式的编程方式。...不过,不管是从使用的便利性还是稳定性来说,UIKit 都面临着巨大的挑战。我个人勉强也能算是 iOS开发的“老司机”了,但是掉到 UIKit 的坑里这件事,也几乎还是我每天的日常。...UIKit的基本思想要求 View Controller 承担绝大部分职责,它需要协调 model,view 以及用户交互。...不仅是用户代码,UIKit本身内部也经常受困于可变状态,各种奇怪的 bug 也频频出现。...SwiftUI 支持的设备要求版本较高,将在7月份开启公测,官方介绍如下: iOS 13.0+ Beta macOS 10.15+ Beta UIKit for Mac 13.0+ Beta tvOS

3K40

SwiftUI - 百行代码变十行,Swift再创辉煌

下面来一张牛逼哄哄的SwiftUI效果图,给大家打打牙祭 [1240] 初体验:左边加大括号21行,右边出现一些类似SB的东西,布局UI,设置属性貌似都可以完成 SwiftUI 的特点是什么 SwiftUI...为什么需要 SwiftUI 下面是来自王巍对UIKit的诟病 UIKit 提供的是一套符合直觉的,基于控制流的命令式的编程方式。...不过,不管是从使用的便利性还是稳定性来说,UIKit 都面临着巨大的挑战。我个人勉强也能算是 iOS开发的“老司机”了,但是掉到 UIKit 的坑里这件事,也几乎还是我每天的日常。...UIKit的基本思想要求 View Controller 承担绝大部分职责,它需要协调 model,view 以及用户交互。...不仅是用户代码,UIKit本身内部也经常受困于可变状态,各种奇怪的 bug 也频频出现。

2.3K30

为什么SwiftUI的视图使用结构体?

如果您曾经为UIKit或AppKit(Apple的iOS和macOS原始用户界面框架)编程,您会知道它们使用类而非结构体来构造视图。...我之所以说性能因素,是因为很多人认为这是SwiftUI使用结构体的主要原因,而实际上这只是更大范围的一部分。...在UIKit中,每个视图都来自一个名为UIView的类,该类具有许多属性和方法:背景色,确定其放置方式的约束,用于将其内容呈现到其中的图层等等。...在UIKit中,UIStackView是一种非渲染视图类型,旨在简化布局,但这意味着即使它因为继承的原因具有背景色,也​​从未真正使用过。...1000个SwiftUI视图甚至100,000个SwiftUI视图也是如此。他们是如此之快,以至于不再值得考虑。

3.1K10

全新Swift从入门到进阶实战探探iOS APP

SwiftUI框架在iOS应用开发中的具体应用案例是什么?SwiftUI框架在iOS应用开发中的具体应用案例可以从其与UIKit框架的比较中得到一些启示。...SwiftUI自2019年引入以来,作为UIKit的继承者,主要被用于创建应用程序视图18。这表明SwiftUI不仅适用于传统的用户界面设计,还特别适合于需要大量数据收集和填写文本字段的应用程序。...虽然本问题询问的是如何使用Swift和UIKit,但SwiftUI作为Swift的扩展,提供了更现代、更简洁的方式来构建用户界面。...开发者可以考虑将SwiftUI与Swift结合使用,以利用其声明式编程的优势,同时保持对UIKit的熟悉度。考虑到Swift和UIKit的广泛使用,开发者应该深入理解这两个框架的工作原理和最佳实践。...虽然这些工具主要用于SwiftUI项目,但它们提供的代码质量和性能分析功能对于任何使用Swift和UIKit的项目都是有益的。

13810

自定义XCode的SwiftUI View模版(.xctemplate制作)

关于自定义XCode内UIKit相关的文件模板,网上已有很多的教程,这里来介绍下对于SwiftUI View的自定义模板创建。...一、分析创建模板 1.下图为我们创建模板的展示,iOS下Source还是User Interface,User Interface下SwiftUI View还是我自定义的PSCustomScreen...二、实现自定义SwiftUI View模板 根据图一,我们知道SwiftUI View模板属于iOS下的User Interface,所以我们自定义的SwiftUI View模板也放到iOS下的User...FILEBASENAME.swift'文件 image.png image.png d.粘贴到我们桌面的View.xctemplate文件内 e.修改FILEBASENAME.swift里的内容 原本的因为是UIView,是UIKit...框架,所以import UIKit,然后内容是class相关的 image.png 我们是SwiftUI,需要import SwiftUI,然后内容是struct相关,具体如下 image.png

16720

Airbnb 的三阶段 SwiftUI 迁移实践

第二步是构建基础设施,实现基于 UIKit 的 Epoxy 视图和 SwiftUI 视图之间的双向桥接。桥接的实现细节可以在原文中找到。...简单地说,桥接是基于 UIHostingViewController(将 SwiftUI 层次结构嵌入到视图控制器)和 UIViewRepresentable(将 UIKit 视图集成到 SwiftUI...Airbnb 工程师做出的另一个决定是将 Epoxy 的单向数据流应用到 SwiftUI,将 ObservableOject 作为状态类的基础,在每次状态变化时触发 SwiftUI 重新渲染。...他们的新 SwiftUI 实现需要能够很好地适应他们的快照测试方法。...Bodayle 解释说,与 UIKit 实现相比,现在的代码量大约减少到原来的六分之一,而且没有出现与 SwiftUI 响应性相关的性能损失,除了实例化 UIHostingController 时的一点开销

18410

解析SwiftUI布局细节(一)

前言 ---- 在前面的文章中谈了谈对SwiftUI的基本的认识,以及用我们最常见的TB+NA的方式搭建了一个很基本的场景来帮助认识了一下SwiftUI,具体的文章可以在SwiftUI分类部分查找...,这篇我准备在写UI的时候从SwiftUI角度我们具体的应该怎样去做,或者说是用SwiftUI我们该从什么角度去解析一个页面。...以前我们用UIKit写一个列表页的时候我们的步骤可能是下面这样的: 1、创建视图控制器 2、大概解析一下UI,该创建头部的创建头部视图,该写CollectionViewCell或者...的重点是对UI的处理,所以我们的重点就单纯说说UI部分,那大家可以这样想,我们用SwiftUI做的时候该怎样去开始呢,用SwiftUI做的时候流程还会和我们使用UIKit处理的时候还一样吗?...{ self.endEditing() } } 这样我相信就基本把这个比较重要的@ViewBuilder给说清楚了,这个VStack或者HStack也就应该慢慢的再理解了

2.2K10

AttributedString——不仅仅让文字更漂亮

: •将UIKit或AppKit控件包装成SwiftUI控件,在其中显示NSAttributedString•通过代码将NSAttributedString转换成对应的SwiftUI布局代码•使用SwiftUI...AttributedString同时提供了SwiftUIUIKit、AppKit三种框架的可用属性。UIKit或AppKit的控件同样可以渲染AttributedString(需经过转换)。...目前支持的属性明显少于uiKit和appKit。估计待日后SwiftUI提供更多的显示支持后会逐步补上其他暂不支持的属性。•uiKit可以在UIKit下被渲染的属性。...attributedString.inlinePresentationIntent = .stronglyEmphasized //相当于 bold •swiftUIuiKit和appKit三个Scope...为了方便自定义属性集被用于需要指定Scope的场合,在自定义Scope中推荐嵌套入需要的系统框架Scope(swiftUIuiKit、appKit)。

3.8K40
领券