WWDC20 又为 SwiftUI 发展注入了强大的动力,在 200+ 个 Session 中,至少有 17 个 Session 直接或间接地与 SwiftUI 相关,足见 Apple 对 SwiftUI 的重视程度。
在 2019 年的 WWDC 上,苹果发布了 SwiftUI 框架,在整个苹果开发者社区中引起了轰动。Craig Federighi 在会议上向我们展示了如何使用 SwiftUI 将原本数百行的代码变成几十行。
这不正是每个开发人员想要的东西么?在这篇文章中,我们将讨论 SwiftUI 的独有功能,以及它将如何改变我们的编码方式。
自从发布以来,开发人员就一直在期待 SwiftUI 的各种新功能。诚然,SwiftUI 是一个突破性的 Apple 框架,能帮助我们开发出出色的、功能强大的应用程序。如果你还是一个新手,并且不知道 "SwiftUI 到底是什么",那么答案都在这里。
用苹果自己的话说:
SwiftUI 提供了一种创新的、非常简单的方法,可以借助 Swift 强大能力在所有的 Apple 平台上构建 UI。仅使用一组工具和 API 就可以为任何 Apple 设备构建 UI。SwiftUI 有易于阅读且易于编写的声明式 Swift 语法,可以与新的 Xcode 设计工具无缝协作,以使你的代码和设计完美同步。自动支持动态类型、Dark Mode、本地化和可访问性,这意味着你的第一行 SwiftUI 就已经是你编写过的功能最强大的 UI 代码了。
所以,SwiftUI 打破了 Apple 现有的体系,它是一个新的高级工具包,将改变 iOS 设计、构建应用程序的方式。再次强调一下,SwiftUI 是针对 Apple 所有平台的,即包括 iOS、iPadOS、macOS、watchOS 和 tvOS。
通过使用 Swift 语言,它使 Apple 中的应用程序开发更易上手,且开发得更快。SwiftUI 框架使代码更具可读性,减少了应用开发的时间。它能帮助开发人员以简单且声明式的方式构建用户界面,例如自定义控制、动画和特效。
让我们更进一步,来探索 SwiftUI 的潜力。这个框架提供了一个 Apple 平台经典和独特功能的选项。你可以尽情享用诸如鼠标和触控板的速度、touch bar、Dark Mode、动态类型、本地化等等功能。
SwiftUI 将很快成为 Google Flutter UI 框架的强大竞争动手。
不过,这里还有另一个问题,
答案是"否",SwiftUI 不会取代 UIKit。原因是 Apple 已经让 SwiftUI 与 UIKit 高度兼容。因此,在开发过程中并不需要更改现有代码。另外,在 SwiftUI 中,还可以使用 UIKit 和 Swift 来创建自定义视图。
接下来,我们将更深入在研究 SwiftUI 的功能,以及这些功能如何将各种范式转移到应用程序开发中。
使用 SwiftUI 开发的应用程序将在所有 Apple 的 OS 平台上兼容,但不是支持老版本,同时需要 Xcode 11+。
即使使用 SwiftUI 开发的代码可以在 Apple 所有操作系统上运行,但它是 native 开发。它适应了平台的所有 native 特性和功能,从而可以快速地提供交互式 UI。
SwiftUI 框架可以与诸如 ARKit 和自动语言优化之类的 API 集成在一起,这更加增加了其灵活性。这意味着它将为开发人员和用户带来无缝的 Swift iOS 体验。
Auto Layout 允许开发人员更加灵活支使用 UI,曾经是布局声明的首选方式之一。但是,新的 SwiftUI 并不支持 Auto Layout,而是支持结构化的布局。它的功能几乎与 WatchOS 中的布局处理相同。
声明式语法为 SwiftUI 吸引了数百万的目光。声明式语法意味着以简单易懂的方式来实现 UI。我们可以在应用程序中以声明式的方式定义元素,并设置它们的字体类型、大小、对齐方式、颜色等属性,还可以以简单的几行代码轻松地引入复杂的动画。这种声明式语法使管理和创建 UI 元素变得更加顺畅、一致和轻松。这种易于开发和部署的方式减少了应用程序的总体开发时间。
SwiftUI 用代码替换了 Storyboard。这意味着使用这个框架来制作可重用的视图会更加容易。而 SwiftUI 的方式更加强大,因为开发人员可以决定是使用可视化视图操作还是直接用代码实现。
令人惊讶的是,SwiftUI 允许开发人员选择任何元素,只需从库中拖动各种控件并直接在画布并对其自定义即可。开发人员可以自由地重新排列控件,更改设计、字体、颜色等。通过这种方式,开发人员可以使 UI 与代码完美同步。
Dark Mode 的适配需要一些时间,而 SwiftUI 却是天生支持。SwiftUI 让 UI 在夜间也能友好的显示,从而让用户获取更好的体验。对于那些在晚上不习惯使用明亮主题的开发人员而言,这也是个非常好的消息。
利用 SwiftUI 框架的预览功能,开发人员有机会创建多个设计预览,并将其显示在多种设备和不同的方向上。这是预先体验 App 设计、颜色和其它方面的非常棒的方法。
Xcode 11 集成了 Swift 编译器和运行时。因此,可以实时构建和运行 iOS 应用程序的代码。这意味着 canvas 不是只展示 UI 的大致外观,而是实时展示应用程序及其功能的实际情况。同样,使用 Xcode 的开发人员可以使用动态替换因子直接在实时应用程序中替换代码。
新的 SwiftUI 中的视图非常轻巧,在创建视图时性能损失基本为 0。SwiftUI 的视图以 Swift 结构体的方式进行访问,开发人员可以创建或将其作为值类型参数传递。通过消除过多的内存分配以及一些子类和动态消息的处理,开发人员能从中受益。而 UIView 则不支持此功能。
此外,在显示和布局周期中,可以将参数和修饰符统一为一个实体。对于开发人员而言,可以根据要求来构建特殊用途的视图。
由于拥有诸如 Dark Mode、本地化等强大功能,可以说,SwiftUI 是最适合编码的。借助易于编写的代码,SwiftUI 彻底改变了我们开发 iOS 应用程序的方式。此外,由于它是跨平台兼容的,这意味着开发人员可以在不失去 native 功能的情况下无缝构建应用程序。
SwiftUI 的每一项功能都吸引着开发人员朝着它迅速转变。而谈到颜色,这个框架也不会让你失望。SwiftUI 框架的颜色会根据 dark 和 light 模式自动更改。该框架有标准颜色,如红绿蓝等。
我们希望现在大家都能认同 "SwiftUI 非常强大" 这一观念,并让它与其它语言主流语言竞争时更具竞争力。这个框架的更多潜力尚待探索。
本文由哈喽比特于4年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/MFNKIB8C-zfSG7usvGjXRQ
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。