4万字《腾讯云技术实践精选集 2021》发布,点击下载 了解详情
写点什么

苹果发布全新 SwiftUI 框架:一次编码,五端通用

  • 2019 年 6 月 04 日
  • 本文字数:1535 字

    阅读完需:约 5 分钟

苹果发布全新SwiftUI框架:一次编码,五端通用

在今天的 WWDC2019 上,Apple 推出了一个全新的 SwiftUI 框架,这是一个现代化的 UI 界面编码结构,它是从头开始构建的,以利用 Swift,让开发者感到惊讶。新框架使用声明性范例,让开发者用更少的代码编写相同的 UI。另外,SwiftUI 在 Xcode 中启用实时 UI 编程环境,实时看到编码的页面效果。最令人开发者尖叫的是,实现一次编码,可适应五端 Apple 产品平台。


应用更完美,代码更少

SwiftUI 是一种非常简单的创新方法,可以利用 Swift 的强大能力在所有苹果设备平台上构建用户界面。通过 SwiftUI,开发者仅使用一组工具和 API 就能为所有苹果设备构建用户界面。SwiftUI 使用易于阅读和编写的声明式 Swift 语法,可与新的 Xcode 设计工具无缝协作,使你的代码和设计完美同步。SwiftUI 自动支持动态类型、黑暗模式、本地化和可访问性,你的 SwiftUI 代码将成为你写过的最强大的 UI 代码。



声明式语法

SwiftUI 使用声明式语法,开发者可以简单地声明你的用户界面要做的事情。例如,你可以声明你要加入一个包含文本字段的项目列表,然后描述每个字段的对齐方式、字体和颜色。你的代码将比以前更简洁易读,节省你的时间并简化维护工作。



这种声明式风格甚至适用于像动画这样的复杂概念。只需几行代码就能轻松将动画添加到几乎任何控件中,并为其选择一系列现成效果。在运行时,系统会处理创建平滑移动所需的所有步骤,甚至可以处理中断以保持应用稳定。现在加入动画变得如此简单,你就能寻找新的方法让应用变得更加生动有趣。


如果你想了解更多前端动态,参与更多前端技术交流,可以加入我们的“前端技术交流群“,社群内会经常讨论前端相关的技术、分享免费学习资料,我们也会邀请前端专家进行社群分享、直播、公开课等活动。如果你感兴趣,欢迎添加社群管理员微信 GeekUni004,回复“前端群”申请入群。


设计工具

Xcode 11 提供了新的直观易用的设计工具,现在使用 SwiftUI 构建界面就像拖放一样简单自如。当你在设计画布中工作时,你编辑的所有内容都与相邻编辑器中的代码完全同步。键入代码时会即时显示预览效果,对该预览所做的任何更改都会立即反映在代码中。Xcode 会实时重新编译你的更改,并将其插入到应用的运行版本中,始终可见且可编辑。



拖放:只需拖动画布上的控件即可在用户界面中排列组件。单击打开检查器以选择字体、颜色、对齐方式和其他设计选项,并使用光标轻松重新排列控件。其中一些可视化编辑器也可以在代码编辑器中使用,因此就算你更喜欢手写部分界面代码,也可以使用检查器为每个控件发现新的修改器。你还可以从库中拖动控件并将其拖放到设计画布上或直接放在代码上。


动态替换:Swift 编译器和运行时完全嵌入到 Xcode 中,因此你的应用将不断构建并运行。你看到的设计画布不仅仅是用户界面的模拟——它就是应用的实时效果。Xcode 可以直接在你的实时应用中使用“动态替换”交换编辑过的代码,这是 Swift 中的一项新功能。


预览:现在你可以为任何 SwiftUI 视图创建一个或多个预览,以获取示例数据并配置几乎所有用户可能看到的内容,诸如大字体、本地化或黑暗模式。预览还可以显示你的 UI 在任何设备和任何方向上的效果。


原生支持所有苹果设备平台

SwiftUI 基于苹果数十年来创建世界上最直观,最具创新的用户界面的经验打造。苹果生态系统上所有用户喜爱的内容,例如控件和平台专属体验等,都会在你的代码中优雅呈现出来。


SwiftUI 是真正的原生代码,因此你的应用程序可以通过少量代码和交互式设计画布直接访问每个平台的成熟技术。



上手体验

这里有一系列教程和文档,提供手把手指导和深度教学:


SwiftUI 教程:https://developer.apple.com/tutorials/swiftui/


SwiftUI 文档:https://developer.apple.com/documentation/swiftui/


查看英文原文:https://developer.apple.com/xcode/swiftui/



2019 年 6 月 04 日 13:0926306

评论 3 条评论

发布
用户头像
前端开发要GG了?
2019 年 06 月 11 日 11:30
回复
用户头像
移动前端的福音啊
2019 年 06 月 05 日 10:56
回复
没有更多了
发现更多内容

redis,memcached,nginx网络组件

赖猫

nginx redis memcached 网络组件

Druid 查询返回引擎版本困惑的地方

HoneyMoose

2021春招面试,mysql自增主键最大值

策划Java工程师

Java 程序员 面试 后端

揭开进程的概念、状态、通信的迷雾。看完瞬间豁然开朗

Linux服务器开发

线程 网络编程 Linux服务器开发 Linux后台开发 进程管理

程序员专属的搜索主页

杜少雄

搜索技巧 搜索引擎;

开发者必备神器,你真的会用吗?

Jackpop

毕业总结

请弄脏我的身体

架构实战营

北鲲云超算平台如何提高高性能计算在云环境下的可行性?

北鲲云

【翻译】数据包的旅程 - 关键角色

luojiahu

交换机 路由器 OSI模型 ARP协议

软件测试---基础知识

刘帅强

软件测试

想要跳槽拿高薪,却没有大型性能调优经验怎么办?淘宝架构师手把手带你前进

Java架构师迁哥

「SQL数据分析系列」13. 索引和约束

数据与智能

sql 分布式

外包学生管理系统的架构设计

架构0期-Bingo

阿里面试官把以往的Java面试题全部总结在这份《Java10W字面试复盘笔记》里面了

Java 程序员 架构 面试 计算机

26岁!月薪38k,全靠这份GitHub百万下载的阿里P5-P9知识核心手册

Crud的程序员

Java 编程 架构

各国纷纷推出数字货币,数字货币发展正当其时

CECBC

Fil行情:什么时候投资fil合适?

区块链 分布式存储 IPFS fil fil行情

程序员有哪些不可或缺的效率神器?

Jackpop

开发

Text classification with TensorFlow Hub: Movie reviews

毛显新

tensorflow

网络安全现状,一个黑客真实的收入

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞分析

Drools 入门

LeifChen

drools 规则引擎 8月日更 业务规则

音视频详细学习路线和权威资料

hanaper

音视频 ffmpeg 语音识别 语音合成 图形图像处理

区块链产业政策红利加速释放

CECBC

Introduction to the Keras Tuner

毛显新

tensorflow

体验设计工具:18格窗口

石云升

用户体验 7月日更 体验设计

牛客网爆火!面试命中率高达 90% 的阿里 10W 字面试笔记已被疯传

Java 程序员 架构 面试 计算机

Tensorflow日常随笔(一)

毛显新

tensorflow

熬夜整理的c/c++万字总结(一)

C语言与CPP编程

c c++

Java磁盘文件IO

文件I/O

等待结果

IT蜗壳-Tango

7月日更

操作系统--虚拟内存

en

苹果发布全新SwiftUI框架:一次编码,五端通用-InfoQ