Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 SwiftUI 有关的一些问答进行了整理,并添加了一点个人见解。本文为上篇。
iOS 15 在几个月前的 2021 年 9 月发布。在本文中,我分析了 iOS 15 的内置应用程序 :
Swift作为Apple推出的新编程语言,旨在简化iOS和OS X应用的开发过程。它被描述为“Objective-C without the C”,意味着它在保持Objective-C核心功能的同时,提供了更简洁、更现代的语法2。这使得学习Swift成为iOS开发者或计划成为iOS开发者的首要任务2。
编译 | 核子可乐、Tina SwiftUI 很好,但是苹果对它投资不足。 在 2019 年的 WWDC 大会上,苹果推出了一个全新的 SwiftUI 框架,这是一个现代化的 UI 界面编码结构,它是基于 Swift从头开始构建的。新框架使用声明性范例,让开发者用更少的代码编写相同的 UI。 SwiftUI 的愿景是降低开发 iOS 门槛,吸引更多开发者、丰富 iOS 的业态。并且 SwiftUI 可以“实现一次编码,可适应五端 Apple 产品平台”, 包括watchOS、tvOS、macOS 等,
Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 SwiftUI 有关的一些问答进行了整理,并添加了一点个人见解。本文为下篇。
前言 本期是 Swift 编辑组自主整理周报的第八期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 Swift 周报在 GitHub 开源[1],欢迎提交 issue,投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。 风起雨坠袭大地,叶落冬来又一年。Swift社区,和你同风雨,与你共未来!👊👊👊 周报精选 新闻和社区:苹果发布最新声明!将工人健康放在首位,iPhone 14 Pro 收获需等待更长时间。 提案:Swift 论坛讨论人气最高的提案 Swift 论坛
苹果软件工程高级副总裁Craig Federighi表示,“新应用程序开发技术使开发人员能够更快,更轻松,更有趣地开发应用程序,这代表着在所有苹果平台上创建应用程序的未来。”
经常有朋友咨询,学习 SwiftUI 的最佳路径是什么?考虑到每个人的技术背景、学习能力、工作经验均不一样,因此很难说哪种学习方式或哪些资料是适合他本人的。不过随着这个问题被反复提起,最终还是想尝试整理一些资料给对 SwiftUI 感兴趣的朋友。本文将介绍一些对学习者技术基础要求较低( 甚至可以零基础 )的教程。
这种声明式的方式甚至允许使用复杂的功能,如动画(animation)。只需要几行代码,即可添加动画在任何控件上,并且可以使用易于调用的特效。在运行时,SwifthUI 会自行控制创建流畅动作的所有步骤,并且可以解决程序冲突,保证 app 稳定运行。动画特效变得如此容易,我们可以发掘使 app 更加灵动的方式。
在我之前关于苹果在 iOS 14 中使用了 Swift 和 SwiftUI 的文章中,我统计了 iOS 中使用 Swift 和 SwiftUI 的内置应用程序的数量。一些读者问我是否可以提供一个百分比而不是一个绝对数字。
本期是 Swift 编辑组自主整理周报的第三期,每个模块还在调整磨合期。各位读者如果有好的提议,欢迎在文末留言。
随着 Swift 5.5 引入了 async/await 特性,苹果也为 SwiftUI 添加了 task 视图修饰器,以方便开发者在视图中使用基于 async/await 的异步代码。本文将对 task 视图修饰器的特点、用法、注意事项等内容做以介绍,并提供了将其移植到老版本 SwiftUI 的方法。
苹果开发者大会 WWDC 2019 在北京时间今天凌晨开幕。在这场大会上除了「史上最难看 Mac 主机」、首次出现的iPadOS以外,我们还终于可以对饱受诟病的iTunes说再见了。而对于开发者来说,新发布的 SwiftUI 可能是最吸引人的特性,在 苹果公司软件工程高级副总裁Craig Federighi的演示中,我们可以轻松地把一百行的前端代码缩减到十几行。
几个月前,“摸鱼周报” 在完成了 100 期后正式落下帷幕。作为内容推荐板块的编辑,刚结束的一段时间里,我感到非常轻松和愉快,不再需要每周准备稿件。然而,过了一段时间,我发现当我从记忆中寻找技术线索时,那些我仔细筛选、阅读并推荐的文章给我留下了深刻的印象。停刊后,虽然我每天也在阅读不少文章和博客,但印象没有之前担任编辑时那么深刻。因此,我决定重新创建一个电子周报,除了分享优秀的作品和信息,个人也能在收集和整理的过程中有所收获。
最近,我一直在忙于重构自己的博客网站,这不仅是一个更新项目,更是一个学习新编程语言和现代 Web 开发工具框架的机会。作为一个双语博客,我计划在首页添加一个简单的逻辑,根据访客的浏览器语言设置自动跳转到相应语言的页面。在测试过程中,我发现不同浏览器对系统语言列表的处理方式各不相同,这在前端开发中是一个常见的挑战。尽管大多数情况下,HTML、CSS 和 JavaScript 的标准在不同浏览器上表现一致,但仍有些微差异。
Swift 是苹果于 2014 年发布的全新开发语言,可与 Objective-C* 共同运行于 macOS 和 iOS 平台,用于搭建基于苹果平台的应用程序。Swift 的设计以安全为出发点,以避免各种常见的编程错误类别。近年来,这种编程语言的热度上升很快,甚至有人呼吁用它来代替 Python,作为 TensorFlow 支持的语言。
本期是 Swift 编辑组自主整理周报的第九期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。
1976 年 4 月 11 日,苹果公司迈出了重要一步,Steve Wozniak 设计的 Apple I 型电脑问世。尽管仅是一块需要用户自行添加键盘和显示器的电路板,但历史意义却极为重大,这款产品奠定了苹果公司的市场地位。
SwiftUI 和 Core Data 之间相差将近十年 —— SwiftUI 随着 iOS 13 面世而 Core Data 则是 iPhoneOS 3 的产物;很久以前,它还没有被称为 iOS,因为 iPad 尚未发布。尽管时间相距遥远,Apple 还是投入了大量工作以确保这两种强大的技术能够完美地相互配合使用,这意味着 Core Data 就像始终以这种方式设计一样,已集成到 SwiftUI 中。
本文是笔者参加 2023 年 4 月 20 日 “SwiftUI 技术沙龙( 北京站 )” 活动的分享内容。基于记忆整理而成。有关本次活动的情况,可以参阅 我在北京参加 SwiftUI 技术沙龙[1] 一文。
作者简介 Derek Yang,携程资深研发经理,专注于iOS开发&跨端技术研究,热衷于新技术探索。 一、前言 2020年9月苹果发布了iOS 14.0,相较之前有了很大的功能改观,很重要的一点是用户可以更加个性化的定义自己的桌面,Widget就是这项功能的主角。 近期接到一项产品需求,需要实现若干机票业务相关的Widget,此文总结该需求开发上线过程中的踩坑填坑经验。 Widget俗称小组件,是苹果推出的众多App Extension中的一款。因此在介绍Widget之前,需要先了解App Extensi
在 iOS 14 正式版发布之前我写了一篇博文《iOS开发之WidgetKit》,iOS 14 正式版发布以后,经测试,Apple 改变了 Widget 的 API,所以本文进行一个补充说明(在前文的基础上做了修改,尤其是代码部分)。
已迈入第三个年头的SwiftUI相较诞生初始已经提供了更多的原生功能,但仍有大量的事情是无法直接通过原生SwiftUI代码来完成的。在相当长的时间中开发者仍需在SwiftUI中依赖UIKit(AppKit)代码。好在,SwiftUI为开发者提供了便捷的方式将UIKit(AppKit)视图(或控制器)包装成SwiftUI视图。
你已经在 iOS 应用程序上工作了一段时间,你认为你很聪明。 你以为你已经做到了,嗯?
升级到 Xcode15 后,运行小组件,会出现WIDGET_BACKGROUND_API_ADOPTION_PROMPT的提示
本文来自TME腾讯音乐娱乐-酷我音乐团队,迈腾大队长投稿,本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本文章对您能有帮助,您可以使用关注此公众号,感谢支持.
苹果在WWWDC 2022上推出了SwiftUI图表,这使得在SwiftUI视图中创建图表变得异常简单。图表是以丰富的格式呈现可视化数据的一种很好的方式,而且易于理解。本文展示了如何用比以前从头开始创建同样的折线图少得多的代码轻松创建折线图。此外,自定义图表的外观和感觉以及使图表中的信息易于访问也是非常容易的。
通过 Style 改变组件的外观或行为是 SwiftUI 提供的一项非常强大的功能。本文将介绍如何通过创建符合 ButtonStyle 或 PrimitiveButtonStyle 协议的实现,自定义 Button 的外观以及交互行为。
赶在 2021 年底,苹果终于发布了 Swift Playgrounds 4,作为近年来最具革命性意义的版本,Swift Playgrounds 4 提供了在 iPad 上开发可发行 app 的能力。本文将对 Swift Playgrounds 4 的新功能做以介绍,并探讨将其作为开发工具的可行性。
iOS 14 Apple 推出了 WidgetKit,Widget 就像一个迷你版的 App,可以快速访问它所提供的信息—比如天气、日历事件、笔记等。Widget 还可以充当“快捷方式”,点击它会立即跳转到 App 的指定位置。
SwiftUI是一个非常方便快速的构建UI的框架,与最新Xcode设计工具无缝协作,可为所有苹果设备构建UI。开发者通过SwiftUI,利用Swift语法就能够完成代码和设计的同步。
经过几个月对 SwiftData 的研究,我最近才在项目中正式采用了它。然而,我发现与使用 Core Data 相比,编写代码的效率有所下降。这并非因为 SwiftData 难以使用,实际上,尽管 SwiftData 是在 Core Data 的基础上发展而来,但要想正确地使用和深入理解它,我必须放弃许多我以前掌握的 Core Data 经验,尝试采用与 SwiftData 设计哲学更为契合的编程逻辑,这个过程中我不得不几次重新开始。
最近时常有朋友反映,尽管 SwiftUI 的布局系统学习门槛很低,但当真正面对要求较高的设计需求时,好像又无从下手。SwiftUI 真的具备创建复杂用户界面的能力吗?本文将通过用多种手段完成同一需求的方式,展示 SwiftUI 布局系统的强大与灵活,并通过这些示例让开发者对 SwiftUI 的布局逻辑有更多的认识和理解。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
使用 swift 的枚举和结构体实现数据生成,通过 viewModel 整合数据用于展示(交互暂时未做,因此不涉及 MVVM 设计模式中的数据绑定)。
SwiftUI的环境使我们可以使用来自外部的值,这对于读取Core Data上下文或视图的展示模式等很有用。但是我们也可以将自定义对象发送到环境中,并在以后将它们读出来,这使我们可以在复杂的应用程序中更轻松地共享数据。
打算用几篇文章介绍一下 TCA (The Composable Architecture[1]),这是一种看起来非常契合 SwiftUI 的架构方式。
App Store 一直以来都是 iPhone 生态的最重要一环,在初代 iPhone 商店,因为 App 比较少,当时就有 Top 25 榜单:
JetBrains 提供了 Kotlin Multiplatform 的首个稳定版本,支持跨 iOS、Android、桌面、Web 和服务器进行代码共享——尽管用于共享用户界面(UI)代码的部分,Compose Multiplatform,仅适用于 Android 和桌面。
在这篇文章中,我们将探讨几个在 SwiftUI 开发中经常使用且至关重要的属性包装器。本文旨在提供对这些属性包装器的主要功能和使用注意事项的概述,而非详尽的使用指南。
本文是笔者参加 2023 年 4 月 20 日 “SwiftUI 技术沙龙( 北京站 )” 活动的分享内容。基于记忆整理而成。有关本次活动的情况,可以参阅 我在北京参加 SwiftUI 技术沙龙 一文。
本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接,以及如何自定义打开 URL 前后的行为等。
WWDC 2023 正在如火如荼地进行。苹果不仅带来了全新形态的硬件产品,还推出了几个相当震撼的新框架。本文将聊聊我对本届 WWDC 中 SwiftUI 5.0 和 SwiftData 的初步印象。
在 2023 年 6 月 6 日的 WWDC 23 上 Apple 推出了 Xcode 15,相比较 Xcode 14,它有如下变化。
在主工程里创建附属小组件:Xcode -> File -> New -> Target -> iOS -> Widget Extension:
对于在苹果生产的各种设备上实现用户界面来说,苹果在几年前推出SwiftUI是一个很大的进步。从一开始,我们就喜欢Combine提供的声明式的、以代码为中心的方法和反应式编程模型。但我们注意到,在苹果提供的XCUITest自动化框架下,仍需使用模型-视图-视图模型(MVVM)模式编写大量的视图测试,并不是非常合理。这个缺陷已经被ViewInspector所弥补。最后一个障碍是所需的最低操作系统版本。在发布时,只有最新版本的iOS和macOS可以运行用SwiftUI编写的应用程序,但由于苹果的定期更新,SwiftUI应用程序现在几乎可以在所有接受安全更新的macOS和iOS版本上运行。
领取专属 10元无门槛券
手把手带您无忧上云