APP下载
报价宝  ›  科技  › 

开发者眼中的SwiftUI:它为我和使用者带来了什么?_程式码

报价宝 来源:baojiabao.com 发布时间:2019-10-11 17:53:00 11月15日更新
报价宝综合消息开发者眼中的SwiftUI:它为我和使用者带来了什么?_程式码

6 月份是苹果使用者和开发者社群非常活跃的时期,苹果几大新系统在 WWDC 释出后,果粉们都会纷纷讨论 iOS 13,iPadOS 和 macOS 10.15 等的新亮点,并发表自己的评价。而对于开发者来说,新的生态环境给他们带来的最大惊喜是什么呢?答案非常一致。从新面孔的苹果奖学金获得者到已经数度参加 WWDC 的资深开发者,对于“你看到的最激动人心的事情是什么?”这个问题,回答无疑都是看到了 SwiftUI 的释出。

最好的工具

为什么 SwiftUI 对于开发者那么重要呢?原因其实很简单,因为新的 SwiftUI 框架利用了苹果自定义建立的 Swift 语言的特性,使开发人员更容易、更快地构建更好的使用者界面程式码,同时错误会更少,也能创造更多的功能。

也就是说,我们将可以把更少的精力花在建立常规互动元素的应用上,从而可以减少程式码除错和维护的次数,以及使用如下功能:自动适应 iOS 和 macOS 的深色模式、支援新平台功能的催化剂专案(Project Catalyst)、先进的可访问性、动态型别、允许使用者调整大小的文字、多语种的广泛本地化、优美流畅的动画、洁净的苹果 UI 和导航。

SwiftUI 让苹果开发者专注于打造自己的原创内容,同时可开发出更统一、更强大、外观更现代的软件,影响将是巨大的。

苹果在 WWDC14 上推出了新的 Swift 程式语言,该语言借鉴了多种流行语言的思想,形成了苹果所希望的“一种工业质量的程式语言同样应该具有表现力和趣味性”。因为创造 Swift 的初衷就是为了简洁、易于理解和除错,不仅对于 Java 和 c# 开发人员来说上手非常简单,而对于新程序员来说学习该程式码通常比学习 Objective C 更容易。

在 WWDC16 上,苹果公司将为 iPad 推出了一款名为 Swift Playgrounds 的应用程序,旨在让学生和初学者更容易地掌握 Swift 学习程式设计的技能。苹果还发起了“人人都能程式设计”(Everyone Can Code)倡议,将操场推广为学习程式设计的工具,并发布了为期一年的 Swift 软件开发课程,名为“用 Swift 开发 App”(App development with Swift)。

Swift 程式码可为 macOS 建立 AppKit 专案,也可用于为 iPhone、iPad、Apple TV 和 Apple Watch 建立 UIKit 应用。在此之前,这些开发 API 是需要在 Swift 程式码产生前构建,而现在新的 SwiftUI 可以直接搞定上述这些工作,大大简化该过程,加快跨平台 App 的使用者界面布局工作。

互动独特性

SwiftUI 的目的是创造一种让开发人员“学习一次,就能在任何地方编写出合适程式码”的工具。与 Swift 本身一样,SwiftUI 也是视觉化的,允许程序员对 UI 进行布局,然后以适合于每种装置的方式调整 UI 在多个平台上的外观和工作方式。

虽然 Android、Java 和 Windows 10 都追求一个理想的程式码,但 SwiftUI 遵循苹果独特的思维方式,那就是可以让每个产品的 OS 都能符合特定互动方式。例如,Apple Watch 不仅仅是你手腕上的一个小 iPhone,它执行的 watchOS 互动被设计为简短和便于检视式,使用者的手势很简单,所呈现的资料简短而有意义,它通过数字表冠提供了独特的输入机制,这在可穿戴装置上很有意义,但在平板电脑或台式电脑上就不一样了。

今年,苹果进一步扩大了 iPhone 和 iPad 在 OS 层面的差异性。新的 iPadOS 互动风格将明显不同于手持 iPhone 或 iPod touch,它将支援应用程序的拖放互动、屏幕分割和滑动功能。类似地,Mac 使用者通常是固定坐着使用,屏幕更大,并附带物理键盘和鼠标,更容易处理与重叠视窗、多个空格、甚至可以跨多个显示器扩充套件屏幕。

苹果还宣布了 Project Catalyst 的跨平台并行计划,使现有的 iPad 应用能够适应 Mac 电脑的本地工作,并充分利用其复杂的互动模式。SwiftUI 提供了一种构建 UI 程式码的替代方案,可以重用 UI 程式码,并对其进行调整,以快速地建立跨苹果平台执行的应用。

图形化语言

从最初的麦金塔电脑问世以来,苹果一直致力于使用动画来强化使用者界面的想法,增强使用者体验,并开创了可访问性的先河,而且通过为有视觉、听觉或运动障碍的人提供输入资料和理解响应的新方法,确保任何人都可以使用它的计算工具。包括先进的本地化工作,也给不同地域使用苹果产品的人带来优秀体验。

然而,这些特性都需要第三方开发人员进行大量工作,以确保他们的 App 具有与原生系统相同的动画、可访问和本地化特性。通过 SwiftUI,苹果正在帮助开发人员尽可能轻松地支援这些功能。在许多情况下,SwiftUI 会自动完成这些工作。

使用 SwiftUI 的视觉化语法,开发人员只需宣告他们的使用者界面应该做什么,在编写上类似于 web 上的 Java,这有助于建立简单、易于阅读、易于维护的程式码。SwiftUI 的视觉化风格还支援复杂的动画,可以通过从现成的效果集合中进行选择,并轻松地将其新增到控制元件中,系统就能自动处理所有需要显示平滑的 UI 动画了。

在设计划布上,图形化编辑与编辑器中的程式码同步。当你键入程式码时,程式码会立即显示在图形预览中。Xcode 会立即重新编译更改,并将其插入到应用程序的执行版本中,该版本在任何时候都是可见和可编辑的。

你还可以建立多个 SwiftUI 检视预览,以显示示例资料,并配置使用者可能设定的变体,如深色模式、较大的动态型别字型或外语本地化,预览还可以在任何虚拟装置和任何方向上显示 UI。

苹果还为开发者们创造了一系列教程演示如何构建一个 SwiftUI iPhone 应用程序,并一步一步解释如何建立一个新的 Xcode 专案、文字布局和检视使用栈,如何自定义影象检视,如何使用 UIKit SwiftUI 检视,如何构建列表和导航,如何处理使用者输入,如何画出路径和形状,如何实现动画检视和转换,然后如何组成更复杂的界面,如何连线 UI 控制元件和 UIKit 的界面。

体验大优化

那么 SwiftUI 将为使用者做些什么呢?目前,SwiftUI 程式码只适用于苹果的新操作系统:macOS Catalina 10.15、iOS 13、iPadOS 13、tvOS 13 和 watchOS 6。这意味着普通使用者要到 9 月左右才能看到 SwiftUI 的应用程序,而且,由于 App 的开发一般需要提前做系统适配,所以我们看到 SwiftUI 设计的应用问世可能需要一些时间。

然而,正如 Swift 帮助苹果开发者变得更有效率一样,SwiftUI 也是苹果创造更熟练、更有能力的程序员的长期策略。这不仅有助于提高 App 质量,还应该有助于让 iOS 开发者更容易地将他们的工作带到苹果平台上。正如“催化剂”专案承诺将帮助将 iPad 应用程序引入 Mac电 脑一样,SwiftUI 也将使 iOS 应用更容易被移植到 iPad、Apple TV 和 Apple Watch 并进行适当的优化,与各自的平台原生完成配套,以提供尽可能最好的体验。

SwiftUI 还承诺将改善应用的外观,使开发人员更容易整合流畅的动画,更好地支援全域性本地化,支援深色模式和动态文字,以及帮助残疾使用者的辅助功能等等。SwiftUI 在改进苹果开发平台方面的自动特性也暗示了未来的功能:苹果对其框架进行改进,第三方 App 则可以免费继承这些框架。

此外,SwiftUI 和 Swift 还可以让更多的使用者更容易进入到程式设计领域,包括那些对创作 App 有想法但缺乏相关程式设计技能的人。通过使其开发工具更容易被学习和使用,苹果可以继续在全球范围内扩充套件开发者基础,为他们提供最好的平台来展示和销售作品,当然这也是广大苹果使用者们喜闻乐见的成果。

阅读全文

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 数码相机价格 笔记本价格 笔记本电脑价格 小米手机价格