百行代码变十行,苹果SwiftUI可视化编程让开发者感叹完美。

苹果开发者大会WWDC 2019于北京时间今天凌晨开幕。在这次发布会上,除了“史上最丑的Mac主机”和iPadOS的首次亮相,我们终于可以和饱受诟病的iTunes说再见了。对于开发者来说,新发布的SwiftUI可能是最吸引人的功能。在Craig Federighi的演示中,我们可以轻松地将前端代码从一百行减少到十多行。Swift是苹果在2014年发布的新开发语言。它可以在macOS和iOS平台上与Objective-C*一起运行,用于构建基于Apple平台的应用。Swift的设计考虑到了安全性,以避免各种常见的编程错误。近年来,这种编程语言的热度迅速上升,甚至有人呼吁让它取代Python成为TensorFlow支持的语言。
“取代Python”不是说说而已。今年4月,谷歌在GitHub上开放了Swift for TensorFlow项目。既然Swift语言有这样的潜力,难道我们不应该给它增加更多的特性来帮助它吗?如今,苹果已经为Switf前端编程插上了翅膀。其最新的SwiftUI是一个基于Swift语言的创新且极其简单的用户界面解决方案,可以被各种平台上的应用程序用来创建精致的用户界面。SwiftUI使用一套统一的工具和API为任何苹果设备创建用户界面。通过定义一个易于读写的声明式Swift语法,SwiftUI可以顺利地用Xcode工具完成设计工作。SwiftUI自动支持动态类型、黑暗模式、本地化和可访问性,这意味着开发人员编写的SwiftUI代码的第一行是他们编写过的最强大的UI代码。
官方教程:https://developer.apple.com/tutorials/swiftui/官方文档:https://developer.apple.com/documentation/swiftui/SwiftUI? swift ui的特点是什么使用声明式语法,所以我们可以简单的声明用户界面的风格。例如,开发人员可以声明一个需要由一串文本输入框组成的组件,然后定义每个输入框的字体对齐方式、字体样式和字体颜色。这些代码比以前更容易理解、更省时、更易于维护。这种声明式方法甚至允许使用复杂的功能,比如动画。给任何控件添加动画只需要几行代码,就可以使用容易调用的特效。运行时,SwifthUI会自行控制创建流畅动作的所有步骤,并能解决程序冲突,保证app的稳定运行。动画变得如此简单,以至于我们可以发现让应用程序更加敏捷的方法。您只能定义一次布局。开发人员只需要定义视图中的内容和布局。SwiftUI知道什么时候需要改变,可以随时更新视图以匹配设计。
建立可重用的组件,将小而简单的视图组合起来,形成更大更复杂的界面。视图可以在苹果设备和平台上的任何地方共享。
简化动画构造以创建流畅的动画效果就像声明一个简单的方法一样简单。SwiftUI可以在需要的时候自动计算和渲染。
Xcode 11是一款设计工具,内置了非常直观的新设计工具。我们可以通过SwiftUI使用拖拽等简单操作来搭建界面。当我们设计面板时,我们编辑的所有内容都与左边编辑器的代码完全同步。当我们修改预览时,可以实时生成相应的代码,也就是说,我们为预览修改的内容可以实时反映在代码中。Xcode会立即重新编译您的更改,并将其插入应用程序的运行版本。因此,在整个开发中,预览可视化和代码可编辑性能同时支持和交互。
如上图,SwiftUI的代码和预览部分可以实时交互。总的来说,这个新工具有以下三个特点:拖放:只需在Canvas上拖放控件,就可以在用户界面上排列各种组件。打开独立的检查器,选择字体、颜色、对齐方式和其他设计选项,我们可以通过光标轻松地重新排列控件。这些可视化编辑器也可以在代码编辑器中使用,所以我们可以使用检查器来挖掘每个控件的不同选项,即使是在界面的手动编程部分。我们可以从库中拖放控件,并将它们放在设计面板或代码面板中。动态替换:Swift编译器和运行时可以完全嵌入Xcode,所以我们的APP会一直构建和运行。我们看到的预览界面不是用户界面的近似,它是我们的实时app。Xcode会通过“动态替换”在实时APP中交换编辑过的代码,这是Swift中的新功能。预览:现在,我们可以创建任何SwiftUI视图的一个或多个预览,以获取样本数据,并配置用户可以看到的几乎所有内容,如大字体、定位或“黑暗模式”。预览也可以在任何设备上以任何方向显示我们的用户界面。GitHub包管理也要支持SwiftGitHub有很多开源项目,但是需要其他的包管理工具来做包,所以GitHub希望直接根据源代码发布公有或者私有的包。在苹果发布SwiftUI的同时,Github在5月提出的Github Package Registry将进一步支持Swift包。此前,它已经支持一些熟悉的工具,如JavaScript(npm)和Java(Maven)。软件包使开发人员更容易在不同项目和Swift社区之间共享工具和源代码。Swift Package Manager是一个跨平台的工具,用于构建、运行、测试和打包您的Swift代码,现已在Github中开源。包装信息已写入Swift,这使我们能够更好地管理Swift中的目标、申报产品和管理相关的环境依赖。Swift包管理器和Github包列表之间的协作可以帮助开发者更容易地发布他们自己的Swift项目。对于移动开发者来说,拥有更高效的生产力工具也非常重要。随着Swift生态环境的成长,GitHub开发者非常兴奋能与苹果团队合作完成Swift开发工具流。Swift包管理项目上线后,我们可以更方便地构建和调用不同的开源作业。
参考链接:
https://developer . apple . com/xcode/swift ui/https://github . com/apple/swift https://github . blog/2019-06-03-github-package-registry-will-support-swift-packages/

其他教程

新冠疫苗可以寄到美国(新冠疫苗能寄到美国吗)

2022-9-2 8:34:27

其他教程

ps如何制作逼真效果图(ps如何制作逼真胶片的效果)

2022-9-2 8:36:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索