肘子的 Swift 周报 #033 | 改善社区活跃度,仅更新论坛还不够

肘子的话

欢迎访问 weekly.fatbobman.com 订阅本周报的中英文电子邮件版本。你也可以直接访问我的博客 [肘子的 Swift 记事本]

苹果公司最近对 开发者论坛 进行了一次显著的设计更新。新版本不仅提供了更为优雅的视觉设计,还对论坛分类进行了合理化调整,每个分类和标签都增加了RSS链接,使开发者能更及时地获取到自己关注领域的信息。

长期以来,作为苹果官方的平台,这一论坛的活跃度并未达到预期。尽管苹果在近年尝试通过引入积分系统等方式提升活跃度,但效果有限。对许多开发者而言,该论坛并非进行技术交流的首选。人气不足、分类过于细致、缺乏独特的社区氛围、激励机制不够吸引人------这些因素都限制了论坛的发展。更为重要的是,作为官方论坛,苹果工程师的参与度这一本应是其最大优势的特点,并未得到充分展现。

在论坛的新版本中,苹果工程师的身份通过统一的标识( 头像上的苹果标志 ) ,替代了之前通过签名来表明身份的方式。然而,这种以部门身份进行回答的做法,无形中增加了工程师与开发者之间的距离,使得交流缺乏个人化和情感交流,这并非塑造友好论坛氛围的良策。

尽管苹果近年来努力加强与开发者社区的联系,成效仍未达到预期。这可能与公司长期形成的文化和气质有关,要想实现根本性的变革确实需要时间。

2022年11月,苹果公司出人意料地举办了一次"Ask Apple"活动,这为开发者提供了一个在 WWDC 之外直接与苹果工程师交流的难得机会。我期待这种活动能够成为每年的固定项目。未来,希望它不仅仅局限于问答形式,而能真正成为双向交流的桥梁,从"Ask Apple"进化到"Talk Apple"。这将不只是为开发者解答疑问,更是一个让官方洞察开发者思维和建议的重要平台。

在当今硬件能力和软件平台日趋同质化的背景下,保持一个具有独特气质且活跃的开发者社区显得尤为关键。总的来说,苹果对开发者论坛所做的更新是值得肯定的。然而,要真正创建一个更具互动性的环境,苹果公司与开发者社区都需要加大投入和努力。

前一期内容全部周报列表

原创

写在 WWDC 2024 之前:回顾 2019 至 2023 年间 SwiftUI 的关键升级及其影响

Fatbobman( 东坡肘子 )

当人们久别重逢时,常会对朋友的变化感到惊讶;而那些日复一日陪伴在我们身边的人,他们的变化往往容易被我们忽视。在这篇文章中,我将梳理从首个版本起那些给我留下深刻印象的 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

在本文中,Christian Tietze 通过一系列实际示例和代码片段,详细介绍了如何利用 Swift 的 Result Builders 构建一个声明式文本插入 API。此外,作者还分享了在使用 Result Builders 过程中的经验教训和个人建议,尤其是关于如何简化并具体化复杂概念以解决问题的策略。

Build your next website in Swift ( 用 Swift 构建你的下一个网站 )

Paul Hudson

两个月前,Paul Hudson 创建了 Ignite 开源项目,这是一个允许开发者使用类似于 SwiftUI 的声明式代码构建静态网站的工具。在本文中,Paul 探讨了如何使用 Swift 的结果构建器(Result Builders)来编写更智能、更安全的 HTML 代码,这也是该项目中一个很重要的组成部分。此外,Ignite 还提供了一系列丰富的组件,开发者可以通过访问 Ignite Demo 网站,直观查看这些组件的实际效果。

MVVM: An architectural coding pattern to structure SwiftUI Views ( MVVM:用于构建 SwiftUI 视图的架构编码模式 )

Antoine van der Lee

由于 SwiftUI 的声明式编程范式和数据流管理方式与传统的 MVVM 实现有所不同,使得许多开发者对于 MVVM 是否适用于 SwiftUI 感到疑惑。在这篇文章中,Antoine van der Lee 探讨了如何以适合 SwiftUI 的方式实施 MVVM 架构模式来构建视图。此外,他还讨论了过度工程的问题,探究何时适宜采用 MVVM,以及如何根据项目的规模和复杂度进行适当调整。Antoine 建议开发者从小规模项目开始,并根据实际需求调整架构,以确保代码的可维护性和一致性。

Discovering app features with TipKit ( 使用 TipKit 发现应用功能 )

Majid Jabrayilov

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

Jeremy Gale 在这篇文章中探讨了 UIKit 开发者在学习 SwiftUI 时面临的独特挑战。他指出,对于那些熟练的 UIKit 开发者来说,摒弃长期形成的编程习惯和思维方式以完全适应 SwiftUI 的声明式和响应式编程模型,可能比新手更为困难。文章详细分析了从 UIKit 转向 SwiftUI 时常见的误区,并通过具体的代码重构示例展示了如何提升 SwiftUI 代码的可读性和维护性。

Hate to say I told you so ( 不想说我早就告诉过你 )

Ian Betteridge

当前,许多基于 AI 的搜索引擎通常会直接提供答案,而不是引导用户访问答案的来源。最近,Google 在其 I/O 大会上宣布,将在搜索页面上增加 AI 概览。Ian Betteridge 指出,在许多情况下,对话式界面通常优于简单的文本搜索。但从长远来看,这对内容提供者极为不利。他在本文中建议,内容提供者应构建直接的观众群,并专注于与读者之间的直接关系,而非通过大型平台作为中介。这可能意味着采用订阅模式,或者专注于特定细分的 B2B 市场或建立社区,而不仅仅是提供答案。

往期内容

THANK YOU

如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞 并将其 转发 给更多的朋友。

欢迎访问 weekly.fatbobman.com 订阅本周报的中英文电子邮件版本。

相关推荐
Swift社区2 天前
Swift LeetCode 246 题解:中心对称数(Strobogrammatic Number)
开发语言·leetcode·swift
iOS阿玮2 天前
苹果 iOS 19 曝光,你的iPhone 还能再战一年?
app·apple
Lexiaoyao202 天前
SwiftUI 字体系统详解
swiftui·swift
YungFan2 天前
Swift 6.1 新特性
swift
光阴独白3 天前
Apple Login for JavaScript
前端·apple
1024小神3 天前
theos工具来编译xcode的swiftUI项目为ipa文件
macos·swiftui·xcode
Invisible_He4 天前
iOS自定义collection view的page size(width/height)分页效果
ui·ios·swift·collection
无知的前端4 天前
iOS性能优化:OC和Swift实战指南
ios·性能优化·swift
iOS阿玮4 天前
都2025年,你竟然还敢买iOS的源码?
前端·app·apple
JQShan4 天前
为什么 Swift 的反射像个“玩具”?聊聊 Mirror 背后的设计哲学
面试·swift·设计