肘子的话
苹果公司最近对 开发者论坛 进行了一次显著的设计更新。新版本不仅提供了更为优雅的视觉设计,还对论坛分类进行了合理化调整,每个分类和标签都增加了RSS链接,使开发者能更及时地获取到自己关注领域的信息。
长期以来,作为苹果官方的平台,这一论坛的活跃度并未达到预期。尽管苹果在近年尝试通过引入积分系统等方式提升活跃度,但效果有限。对许多开发者而言,该论坛并非进行技术交流的首选。人气不足、分类过于细致、缺乏独特的社区氛围、激励机制不够吸引人——这些因素都限制了论坛的发展。更为重要的是,作为官方论坛,苹果工程师的参与度这一本应是其最大优势的特点,并未得到充分展现。
在论坛的新版本中,苹果工程师的身份通过统一的标识( 头像上的苹果标志 ) ,替代了之前通过签名来表明身份的方式。然而,这种以部门身份进行回答的做法,无形中增加了工程师与开发者之间的距离,使得交流缺乏个人化和情感交流,这并非塑造友好论坛氛围的良策。
尽管苹果近年来努力加强与开发者社区的联系,成效仍未达到预期。这可能与公司长期形成的文化和气质有关,要想实现根本性的变革确实需要时间。
2022年11月,苹果公司出人意料地举办了一次“Ask Apple”活动,这为开发者提供了一个在 WWDC 之外直接与苹果工程师交流的难得机会。我期待这种活动能够成为每年的固定项目。未来,希望它不仅仅局限于问答形式,而能真正成为双向交流的桥梁,从“Ask Apple”进化到“Talk Apple”。这将不只是为开发者解答疑问,更是一个让官方洞察开发者思维和建议的重要平台。
在当今硬件能力和软件平台日趋同质化的背景下,保持一个具有独特气质且活跃的开发者社区显得尤为关键。总的来说,苹果对开发者论坛所做的更新是值得肯定的。然而,要真正创建一个更具互动性的环境,苹果公司与开发者社区都需要加大投入和努力。
原创
写在 WWDC 2024 之前:回顾 2019 至 2023 年间 SwiftUI 的关键升级及其影响
当人们久别重逢时,常会对朋友的变化感到惊讶;而那些日复一日陪伴在我们身边的人,他们的变化往往容易被我们忽视。在这篇文章中,我将梳理从首个版本起那些给我留下深刻印象的 SwiftUI 关键更新及其影响。这不仅是对 SwiftUI 从诞生到逐渐成熟过程的回顾,也是一次对它所蕴含活力的新的认识。
每个 SwiftUI 的更新版本都带来了众多新功能和新特性。在本文中,我将主要讨论那些对我个人影响深远的变化,并探讨与 SwiftUI 以及苹果生态系统密切相关的其他框架和功能的演变,展示它们如何共同塑造了我们今天所使用的平台。
近期推荐
Swift 语言中的 Result Builders 功能,极大地增强了其构建领域特定语言(DSL)的能力。在接下来的两篇文章中,作者们展示了如何利用 Result Builders 来开发适用于不同领域的 DSL,同时分享了构建这些功能时的实用经验和深入见解。
Declarative Text Kit: Inserting Strings and Lines With a Result Builder ( 声明式 Text Kit:使用结果构建器插入字符串和行 )
在本文中,Christian Tietze 通过一系列实际示例和代码片段,详细介绍了如何利用 Swift 的 Result Builders 构建一个声明式文本插入 API。此外,作者还分享了在使用 Result Builders 过程中的经验教训和个人建议,尤其是关于如何简化并具体化复杂概念以解决问题的策略。
Build your next website in Swift ( 用 Swift 构建你的下一个网站 )
两个月前,Paul Hudson 创建了 Ignite 开源项目,这是一个允许开发者使用类似于 SwiftUI 的声明式代码构建静态网站的工具。在本文中,Paul 探讨了如何使用 Swift 的结果构建器(Result Builders)来编写更智能、更安全的 HTML 代码,这也是该项目中一个很重要的组成部分。此外,Ignite 还提供了一系列丰富的组件,开发者可以通过访问 Ignite Demo 网站,直观查看这些组件的实际效果。
MVVM: An architectural coding pattern to structure SwiftUI Views ( MVVM:用于构建 SwiftUI 视图的架构编码模式 )
由于 SwiftUI 的声明式编程范式和数据流管理方式与传统的 MVVM 实现有所不同,使得许多开发者对于 MVVM 是否适用于 SwiftUI 感到疑惑。在这篇文章中,Antoine van der Lee 探讨了如何以适合 SwiftUI 的方式实施 MVVM 架构模式来构建视图。此外,他还讨论了过度工程的问题,探究何时适宜采用 MVVM,以及如何根据项目的规模和复杂度进行适当调整。Antoine 建议开发者从小规模项目开始,并根据实际需求调整架构,以确保代码的可维护性和一致性。
Discovering app features with TipKit ( 使用 TipKit 发现应用功能 )
TipKit 是苹果公司在 2023 年 WWDC 上推出的新框架,旨在帮助开发者在应用程序中轻松展示提示信息。该框架适用于介绍新功能、揭示隐藏选项或指导用户更快完成任务等多种场景。它支持苹果生态系统中的各种设备,包括 iPhone、iPad、Mac、Apple Watch 和 Apple TV。Majid Jabrayilov 正在通过一系列文章深入讲解 TipKit 的各种使用方法,目前已发布的包括《基础篇》、《规则篇》和《自定义篇》。
Avoid These Common Errors When Switching from UIKit to SwiftUI ( 从 UIKit 切换到 SwiftUI 时应避免的常见错误 )
Jeremy Gale 在这篇文章中探讨了 UIKit 开发者在学习 SwiftUI 时面临的独特挑战。他指出,对于那些熟练的 UIKit 开发者来说,摒弃长期形成的编程习惯和思维方式以完全适应 SwiftUI 的声明式和响应式编程模型,可能比新手更为困难。文章详细分析了从 UIKit 转向 SwiftUI 时常见的误区,并通过具体的代码重构示例展示了如何提升 SwiftUI 代码的可读性和维护性。
Hate to say I told you so ( 不想说我早就告诉过你 )
当前,许多基于 AI 的搜索引擎通常会直接提供答案,而不是引导用户访问答案的来源。最近,Google 在其 I/O 大会上宣布,将在搜索页面上增加 AI 概览。Ian Betteridge 指出,在许多情况下,对话式界面通常优于简单的文本搜索。但从长远来看,这对内容提供者极为不利。他在本文中建议,内容提供者应构建直接的观众群,并专注于与读者之间的直接关系,而非通过大型平台作为中介。这可能意味着采用订阅模式,或者专注于特定细分的 B2B 市场或建立社区,而不仅仅是提供答案。