SwiftUI值得开发者如此欣喜。0 W: N+ ~; |8 z- e- y* ^" Q

. m( W; H2 ?; j8 R: v% o" f4 H0 E9 m( r/ @/ }
6 月份是苹果用户和开发者社群非常活跃的时期,苹果几大新系统在 WWDC 发布后,果粉们都会纷纷讨论 iOS 13,iPadOS 和 macOS M1 等的新亮点,并发表自己的评价。而对于开发者来说,新的生态环境给他们带来的最大惊喜是什么呢?答案非常一致。从新面孔的苹果奖学金获得者到已经数度参加 WWDC 的资深开发者,对于“你看到的最激动人心的事情是什么?”这个问题,回答无疑都是看到了 SwiftUI 的发布。
, ?+ _% J, W, m3 ?3 S最好的工具
3 H. U% O$ S( o( H1 B* j为什么 SwiftUI 对于开发者那么重要呢?原因其实很简单,因为新的 SwiftUI 框架利用了苹果自定义创建的 Swift 语言的特性,使开发人员更容易、更快地构建更好的用户界面代码,同时错误会更少,也能创造更多的功能。
; s5 n, I& C- i1 O$ C& O也就是说,我们将可以把更少的精力花在创建常规交互元素的应用上,从而可以减少代码调试和维护的次数,以及使用如下功能:自动适应 iOS 和 macOS 的深色模式、支持新平台功能的催化剂项目(Project Catalyst)、先进的可访问性、动态类型、允许用户调整大小的文本、多语种的广泛本地化、优美流畅的动画、洁净的苹果 UI 和导航。
) n2 S, e1 h2 d! T8 g( Q2 k( V( H5 r

& P( p) D8 |  B& m* h9 {# I. cSwiftUI 让苹果开发者专注于打造自己的原创内容,同时可开发出更统一、更强大、外观更现代的软件,影响将是巨大的。8 ^' T9 a7 G: A5 C! J' C' Q  h
苹果在 WWDC14 上推出了新的 Swift 编程语言,该语言借鉴了多种流行语言的思想,形成了苹果所希望的「一种工业质量的编程语言同样应该具有表现力和趣味性」。因为创造 Swift 的初衷就是为了简洁、易于理解和调试,不仅对于 Java 和 c# 开发人员来说上手非常简单,而对于新程序员来说学习该代码通常比学习 Objective C 更容易。' \% t# S5 |; d4 e6 ?
在 WWDC16 上,苹果公司将为 iPad 推出了一款名为 Swift Playgrounds 的应用程序,旨在让学生和初学者更容易地掌握 Swift 学习编程的技能。苹果还发起了「人人都能编程」(Everyone Can Code)倡议,将操场推广为学习编程的工具,并发布了为期一年的 Swift 软件开发课程,名为「用 Swift 开发 App」(App development with Swift)。+ M/ l5 N1 \3 L+ u9 ?/ T

7 |! O! i9 A& j) x9 }0 m
* h" M% h" V0 i/ L) nSwift 代码可为 macOS 创建 AppKit 项目,也可用于为 iPhone、iPad、Apple TV 和 Apple Watch 创建 UIKit 应用。在此之前,这些开发 API 是需要在 Swift 代码产生前构建,而现在新的 SwiftUI 可以直接搞定上述这些工作,大大简化该过程,加快跨平台 App 的用户界面布局工作。" M6 X' v; @' [6 k0 N
交互独特性
: l# M$ K& b3 _' X5 a, n: |* \, e" RSwiftUI 的目的是创造一种让开发人员「学习一次,就能在任何地方编写出合适代码」的工具。与 Swift 本身一样,SwiftUI 也是可视化的,允许程序员对 UI 进行布局,然后以适合于每种设备的方式调整 UI 在多个平台上的外观和工作方式。* |( `$ U8 z  v7 J- Z0 L
虽然 Android、Java 和 Windows 10 都追求一个理想的代码,但 SwiftUI 遵循苹果独特的思维方式,那就是可以让每个产品的 OS 都能符合特定交互方式。例如,Apple Watch 不仅仅是你手腕上的一个小 iPhone,它运行的 watchOS 交互被设计为简短和便于查看式,用户的手势很简单,所呈现的数据简短而有意义,它通过数字表冠提供了独特的输入机制,这在可穿戴设备上很有意义,但在平板电脑或台式电脑上就不一样了。
1 i6 l% P' r# s1 X5 q$ E今年,苹果进一步扩大了 iPhone 和 iPad 在 OS 层面的差异性。新的 iPadOS 交互风格将明显不同于手持 iPhone 或 iPod touch,它将支持应用程序的拖放交互、屏幕分割和滑动功能。类似地,Mac 用户通常是固定坐着使用,屏幕更大,并附带物理键盘和鼠标,更容易处理与重叠窗口、多个空格、甚至可以跨多个显示器扩展屏幕。& @( q4 p( R8 P- L

/ g% z9 @9 @5 B# p- \9 t# J+ i: b) t5 _* m% M; D
苹果还宣布了 Project Catalyst 的跨平台并行计划,使现有的 iPad 应用能够适应 Mac 电脑的本地工作,并充分利用其复杂的交互模式。SwiftUI 提供了一种构建 UI 代码的替代方案,可以重用 UI 代码,并对其进行调整,以快速地创建跨苹果平台运行的应用。
3 l7 u9 P% [) e: k图形化语言
! p7 a; P' y. r5 ]: m* b从最初的麦金塔电脑问世以来,苹果一直致力于使用动画来强化用户界面的想法,增强用户体验,并开创了可访问性的先河,而且通过为有视觉、听觉或运动障碍的人提供输入数据和理解响应的新方法,确保任何人都可以使用它的计算工具。包括先进的本地化工作,也给不同地域使用苹果产品的人带来优秀体验。
: T2 T+ b& N3 w' L. K然而,这些特性都需要第三方开发人员进行大量工作,以确保他们的 App 具有与原生系统相同的动画、可访问和本地化特性。通过 SwiftUI,苹果正在帮助开发人员尽可能轻松地支持这些功能。在许多情况下,SwiftUI 会自动完成这些工作。4 Z6 F" W: \& @) D% f5 M+ I, R8 p7 S
. c; V9 p/ i" Z9 b7 S! S9 t/ |, A
( q7 a# a- K2 V: v& m
使用 SwiftUI 的可视化语法,开发人员只需声明他们的用户界面应该做什么,在编写上类似于 web 上的 JavaScript,这有助于创建简单、易于阅读、易于维护的代码。SwiftUI 的可视化风格还支持复杂的动画,可以通过从现成的效果集合中进行选择,并轻松地将其添加到控件中,系统就能自动处理所有需要显示平滑的 UI 动画了。* ]% [7 {# h6 J& x( R1 v+ g
在设计画布上,图形化编辑与编辑器中的代码同步。当你键入代码时,代码会立即显示在图形预览中。Xcode 会立即重新编译更改,并将其插入到应用程序的运行版本中,该版本在任何时候都是可见和可编辑的。% j4 f9 G1 U8 x' T
你还可以创建多个 SwiftUI 视图预览,以显示示例数据,并配置用户可能设置的变体,如深色模式、较大的动态类型字体或外语本地化,预览还可以在任何虚拟设备和任何方向上显示 UI。
4 \$ T- V# g& B% G2 y+ W苹果还为开发者们创造了一系列教程演示如何构建一个 SwiftUI iPhone 应用程序,并一步一步解释如何创建一个新的 Xcode 项目、文本布局和视图使用栈,如何自定义图像视图,如何使用 UIKit SwiftUI 视图,如何构建列表和导航,如何处理用户输入,如何画出路径和形状,如何实现动画视图和转换,然后如何组成更复杂的接口,如何连接 UI 控件和 UIKit 的界面。
! K# g7 M7 K! `3 I& c8 Q) a$ Z2 [9 b
% F: \6 W2 e4 H7 n3 e) C" r
体验大优化6 T* D* ^+ ~) w2 S8 r* X
那么 SwiftUI 将为用户做些什么呢?目前,SwiftUI 代码只适用于苹果的新操作系统:macOS Catalina M1、iOS 13、iPadOS 13、tvOS 13 和 watchOS 6。这意味着普通用户要到 9 月左右才能看到 SwiftUI 的应用程序,而且,由于 App 的开发一般需要提前做系统适配,所以我们看到 SwiftUI 设计的应用问世可能需要一些时间。1 y5 ^% Z. p" |6 p& L2 S' L+ G

* y* [+ ?- J; g. t6 K然而,正如 Swift 帮助苹果开发者变得更有效率一样,SwiftUI 也是苹果创造更熟练、更有能力的程序员的长期策略。这不仅有助于提高 App 质量,还应该有助于让 iOS 开发者更容易地将他们的工作带到苹果平台上。正如「催化剂」项目承诺将帮助将 iPad 应用程序引入 Mac电 脑一样,SwiftUI 也将使 iOS 应用更容易被移植到 iPad、Apple TV 和 Apple Watch 并进行适当的优化,与各自的平台原生完成配套,以提供尽可能最好的体验。
1 @! `8 \1 c) T/ H! WSwiftUI 还承诺将改善应用的外观,使开发人员更容易整合流畅的动画,更好地支持全局本地化,支持深色模式和动态文本,以及帮助残疾用户的辅助功能等等。SwiftUI 在改进苹果开发平台方面的自动特性也暗示了未来的功能:苹果对其框架进行改进,第三方 App 则可以免费继承这些框架。7 Q) n# w+ W0 j  }" V+ \

7 J" y. R+ w4 P3 j3 O5 r1 j6 y! i
此外,SwiftUI 和 Swift 还可以让更多的用户更容易进入到编程领域,包括那些对创作 App 有想法但缺乏相关编程技能的人。通过使其开发工具更容易被学习和使用,苹果可以继续在全球范围内扩展开发者基础,为他们提供最好的平台来展示和销售作品,当然这也是广大苹果用户们喜闻乐见的成果。- k' M; c# g, y5 A6 Y# y
0 i8 A5 [, `, N: d- p
  欢迎关注苹果园网官方微信:苹果园网(zixunyun) 汇聚最新Apple动态,精选最热科技资讯。
菁菁苹果园提供技术支持,有任何问题可随时联系微信coolgps 或者 QQ41360481.

已有 0 个人发表评论

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

加入VIP会员
快速回复 返回列表 客服中心





快速回复 返回顶部 返回列表