0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

苹果WWDC推出了一个对于开发者非常重要的框架:SwiftUI

DPVg_AI_era 来源:lq 2019-06-23 10:01 次阅读

SwiftUI是为Apple平台创建用户界面的现代化框架,以前所未有的速度创建漂亮、动态的应用程序。那么,SwiftUI解决了哪些痛点?带来哪些好处?代码风格如何?敬请阅读本文。

刚刚结束的苹果WWDC推出了一个对于开发者非常重要的框架:SwiftUI。

SwiftUI是一个非常方便快速的构建UI的框架,与最新Xcode设计工具无缝协作,可为所有苹果设备构建UI。开发者通过SwiftUI,利用Swift语法就能够完成代码和设计的同步。

Swift是苹果最新的开发语言,有人呼吁谷歌取代TensorFlowPython。目前在TOIBE排名18位:

在RedMond排名11

SwiftUI还提供对动态类型、暗黑模式、本地化和可访问性的自动支持。

SwiftUI都更新了什么?

此次更新主要有5点:

声明式:更加易读的代码。这意味着编写代码时候,我们说出需要的东西,而不需要考虑如何实现

自动化:这意味着我们以前必须手工完成的许多事情,现在可以让SwiftUI自动完成

组合:构建小模块,然后通过将这些小的功能模块组合起来完成更复杂的任务

一致性:这意味着Swift和Objective-C之间不会再看到奇怪的错误,或者非常旧的API与新API的混合

简洁:可以节省10%-20%的代码量

如果你刚刚接触SwiftUI,刚开始你可能需要适应一下UIKit的独特风格,一旦你适应了,接下来的过程就一马平川了。

SwiftUI解决了哪些问题?

虽然Storyboards和XIB很有用,但并不是所有人都喜欢。比如在使用源码控制时就很麻烦,会导致代码和可视化布局之间移动变得非常困难;使用动作和outlets时过于依赖flaky系统的连接。

而SwiftUI通过4种方式,解决了上述问题:

用一个新的声明式UI结构,定义了的布局的外观和工作方式

更新UI预览会自动生成新的Swift代码,反之,更改Swift代码也会更新UI预览

Swift中的任何绑定例如有效的outlets和操作,都会在编译时进行检查,因此在运行时不会出现UI失败的风险

虽然背后使用来自UIKit和AppKit的控件,但SwiftUI凌驾于二者之上,能够有效地使底层UI框架成为一个实现细节,不需要我们特别去关心

SwiftUI带来了哪些好处?

让Xcode for iPad更上一层楼

开发者对Interface Builder的抱怨不是一天两天了,它大大增加了分解视图块以及从视图控制器(view controller)使用视图的工作量,导致出现体积臃肿的视图控制器,编辑起来也如同噩梦。

此前,无论什么尺寸屏幕的iPad,总是很难将Interface Builder的大小放到iOS上。而拥有更简单,更快速,更安全的SwiftUI为开发人员实现真正的平***立性迈出了一大步。

人人都能编程

SwiftUI继承了Swift的理念:每个人都可以编程。现在,一个全新的用户界面系统诞生,有助于避免新开发人员遇到的大量问题。

尽可能的依赖工具

通过消除源码控制的痛点、消除对UIKit的严重依赖、消除Interface Builder可能遇到的一些连接混淆,苹果希望开发者更多的使用Swift,尽可能的依赖工具而不是纠结于一些不必要的事情。

感受一下SwiftUI的代码风格

Github一个repo整理了在WWDC 2019发布的SwiftUI布局框架的一些官方示例:

SwiftUI Essentials

创建和组合视图:

创建列表和导航栏:

处理用户输入:

Drawing and Animation

绘图路径和形状:

动画视图和过渡

App Design and Layout

复杂界面组合:

使用 UIControls:

Framework Integration

使用 UIKit:

使用SwiftUI之前要注意的事情

首先,SwiftUI目前只支持10.15 beta以及更新的macOS系统,当然10.15 beta已经是目前最新了。

其次一些可能出现的小问题也是需要注意的。比如,它只支持Swift,你不能在Obj-C里使用SwiftUI;SwiftUI目前还不是很成熟,正在从事iOS开发的程序员可能更应该继续使用Obj-C,直到SwiftUI足够成熟。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 苹果
    +关注

    关注

    61

    文章

    23669

    浏览量

    191594
  • 框架
    +关注

    关注

    0

    文章

    297

    浏览量

    17044
  • 可视化
    +关注

    关注

    1

    文章

    1018

    浏览量

    20551

原文标题:苹果全新UI框架来了!可视化编程,自动化减少20%代码量

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    苹果WWDC24将于6月10日至14日召开

    苹果指出,WWDC规模宏大,是苹果每年最重要开发者盛典之一。届时,开发人员不仅能了解
    的头像 发表于 03-27 13:54 2127次阅读

    鸿蒙系统优缺点,能否作为开发者选择

    开发的岗位需求,尤其在这个大环境不好的情况下,会引出更多岗位。 鸿蒙的开发岗位,不会内卷、薪资高、岗位多。对于开发者非常友好。 新型操作系统
    发表于 02-16 21:00

    您有份OpenHarmony开发者论坛2023年度总结,请查收~

    帮助提问的开发者解决了问题,被提问的开发者采纳。 OpenHarmony 开发者论坛感谢每位在论坛上分享知识、交流想法的开发者,让大家共
    发表于 01-26 17:27

    HarmonyOS SDK,助力开发者打造焕然新的鸿蒙原生应用

    场景推出场景化控件,帮助开发者快速地打造更纯净、更智能、更精致、更易用的鸿蒙原生应用。 提供六大领域,能力丰富完备 HarmonyOS SDK 拥有近 30000 API,覆盖了鸿蒙原生应用
    发表于 01-19 10:31

    欢迎加入飞腾派开发者社区,感谢每开发者

    板紧密地结合在起,为开发者提供了展示和分享自己才华的平台。 基于此次合作,飞腾(广州)技术有限公司给华秋 · 电子发烧友发来了感谢信,这是对此次合作的充分肯定! 来自飞腾派项
    发表于 12-11 16:11

    AI发展下服务器的选择非常重要

    在AI发展下,服务器的选择非常重要。以下是一些选择服务器时需要考虑的因素。
    的头像 发表于 12-07 10:06 213次阅读

    OpenHarmony技术大会 | 编程语言及开发框架分论坛圆满举办:从更新迭代中找寻发展

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 众所周知,编程语言和开发框架是影响应用体验和应用生态的关键要素,持续更新与发展至关重要。从编程语言
    的头像 发表于 11-11 21:15 714次阅读

    移动应用高级语言开发——并发探索

    孵化了移动开发框架Sky,之后又被命名为Flutter,在移动跨平台开发领域大放异彩。Dart的并发目标主要为了赋能
    发表于 08-28 17:08

    面向万物智联的应用框架的思考与探索

    ,从而实现界面的自动更新,而无需开发者手动基于DOM 编程。2.2018年,Google发布的Flutter则是重要的分界点。Flutter融合了Dart语言,是第一个深度融合了语言
    发表于 08-08 17:04

    收购JSR对于增强日本竞争力非常重要

    松野博一表示:“个别投资的判断由jic来做。该事业是产业竞争力的核心——尖端半导体开发和生产能力的核心——半导体材料的核心,因此,为了加强产业竞争力,结构改革和事业重组非常重要。”
    的头像 发表于 06-28 11:17 326次阅读

    苹果Mac产品线大升级,能否带领苹果冲出困境

      今年是wwdc的第34个年头。通过30多年苹果银会议展示了强大的软件及硬件生态系统,推出了苹果公司的未来发展构想,同时开发者
    的头像 发表于 06-07 11:04 197次阅读

    以太网APL为何非常重要

    和FieldComm Group标准框架下共同努力,使以太网APL能够跨工业以太网协议使用,并加速其部署。 以太网APL为何非常重要?以太网APL将通过实现高带宽,以及与现
    的头像 发表于 06-01 03:10 496次阅读
    以太网APL为何<b class='flag-5'>非常重要</b>?

    苹果邀请开发者“码出新宇宙”

    “编码的新世界”的口号是苹果公司今天才开始使用的,这是对新的软件平台的明确暗示。将在wwdc推出的reality pro head set预计将驱动开发者的新软件平台xros。
    的头像 发表于 05-31 10:47 1768次阅读

    面向万物智联的应用框架的思考和探索(中)

    和Android等)的应用开发效率是重要的需求。目前开发者主要还是依赖三方跨平台框架。有些应用开发者
    发表于 05-05 14:41

    # 面向万物智联的应用框架的思考和探索(上)

    的自动更新,而无需开发者手动基于DOM 编程。 2)2018年,Google发布的Flutter则是重要的分界点。Flutter融合了Dart语言,是第一个深度融合了语言的较为完整的
    发表于 05-04 10:48