中文位于文章的下半部分
Weekly Comment
"Yuque(语雀)" is a well-known cloud note service provider in China, positioned as a knowledge base tool, highly favored by IT companies and developers. However, last week Yuque encountered a severe online outage that lasted for a whole 7 hours. Coupled with the founder's departure a few months ago, various speculations circulated on the internet. Eventually, the problem was resolved, and in order to appease public opinion, Yuque offered six months of free membership as compensation to its users.
This incident has raised concerns about cloud services and reignited interest in local storage, which involves saving data and content on local devices rather than solely relying on cloud services.
Recently, my Twitter timeline has been filled with discussions about Local First. Many friends have started transferring their content stored in the cloud to local storage, and some have even completely abandoned cloud services in favor of purely localized applications.
However, cloud services do have their advantages. They provide convenient collaboration and sharing features, enabling team members to access and edit documents in real time. Additionally, cloud services usually have high availability and backup mechanisms to ensure data persistence and reliability.
Regardless of the chosen approach, it is important for personal documents to have multiple backup methods to ensure security. At the same time, when selecting a cloud document service provider, the ease of exporting documents and compatibility with other platforms are also important considerations.
Through this Yuque outage incident, we can see that the Local First concept is gradually gaining popularity and acceptance among users. This also serves as a reminder for cloud service providers to pay more attention to user needs and provide more stable and reliable services to meet different users' requirements for data storage and management.
Previous Issue|Newsletter Archive
If you find this weekly newsletter or my blog helpful, I would greatly appreciate your consideration of making a donation through Patreon, or Buy Me a Coffee.
Originals
Mastering TipKit: Advanced
The essence of TipKit lies not in its external visual effects, but in its internal logical expression. It helps developers describe the rules for generating tips in a declarative manner, while the specific implementation of the tips can be completely customized. We can think of TipKit as a rule engine that determines when to display tips, and how to visualize these rules is up to the developers themselves. In this article, we will discuss some advanced topics related to TipKit, such as how to fully customize the tip view (without using TipView and popoverTip), how to use TipKit in UIKit, and how TipKit can share data between different applications. Finally, we will attempt to answer some questions related to TipKit.
If you are not familiar with the TipKit framework, please read the article Mastering TipKit: Basics.
Recent Selections
The 4th Asian Para Games Hangzhou has just concluded. The resilient and inspiring performances of the disabled athletes on the field deeply touched people's hearts. Their indomitable spirit and fierce determination are truly admirable. As a model for technology companies, Apple has always placed great importance on the user experience of disabled individuals. They have developed numerous assistive features and development frameworks to help developers create more user-friendly and accessible products, continuously striving to create an inclusive technological life for people with disabilities.
A Comprehensive Guide to App Accessibility
Frank L
This is a comprehensive guide article on designing mobile applications with accessibility in mind. The author elaborates on the concept of accessibility, relevant regulations, and the importance of developing accessible applications for users, businesses, and developers. The article also provides practical advice for creating accessible applications and showcases examples of accessibility design through health, chat, and gaming applications. The author emphasizes that accessibility is an integral part of mobile application development and a necessary condition for ensuring technology serves everyone. This guide is of significant value to developers who aspire to create accessible and inclusive applications.
Preparing your App for VoiceOver: use Accessibility Label
Pasquale Vittorosi and Domenico De Luca
This article summarizes the steps to prepare VoiceOver functionality for an application and emphasizes the importance of providing a good accessibility experience for visually impaired users. The article also provides examples of using accessibility labels in SwiftUI and UIKit to help readers better understand how to implement these labels.
Using Core Bluetooth to estimate distance
NameDrop is one of the many highlights features in iOS 17. With NameDrop, you can easily and efficiently share your contact information with people you have just met. Prior to the release of NameDrop, SansanJapan was also developing a similar product. This article explores the basic theory, implementation methods, existing problems, and solutions of using Bluetooth Low Energy (BLE) for distance estimation. It is highly valuable for developers who need to utilize BLE for distance measurement or indoor positioning on the iOS platform.
Swift on Server Tour
Swift on Server refers to the technology of using the Swift programming language on the server side. By utilizing Swift on Server, it is possible to build high-performance and scalable applications. The author has written a series of articles using a Micro Blog Server as an example to explore the world of Swift on Server with the readers. This series is mainly targeted towards beginners and covers not only the implementation of functionality but also many related concepts. The entire series consists of eleven articles, and currently, it has been updated up to the sixth article. You can find the latest update here.
Introduction to Shaders in SwiftUI: Wave Effect
In the latest version, SwiftUI provides deep integration with Metal Shader, allowing developers to manipulate colors, shapes, and more with excellent performance. This article details how to use Metal Shader in SwiftUI to achieve a wave animation effect. The content of the article is detailed and easy to understand, sharing the experience of developing animation effects using SwiftUI and Metal shader, which is very helpful for developers who need to understand this knowledge.
How to Use PHPicker to Access Resources on iOS System without Authorization
狐友靳凯@sohu
PHPicker is a new component introduced in iOS 14. It allows access to all resources in the photo library without requiring user authorization. This article provides a detailed guide on how to correctly use PHPicker to access selected photo resources from users. The key point is that there is no need to obtain authorization in advance, instead, multimedia resources are handled through NSItemProvider. This approach aligns with the system's design intention and improves the user experience.
肘子的话
“语雀”是中国知名的云端笔记服务商,定位为知识库工具,备受IT企业和开发者的喜爱。然而,上周语雀遭遇严重的线上故障,持续了整整 7 个小时。再加上几个月前创始人离职的事件,网络上一度流传各种猜测。最终,问题得到解决,为了平息舆论,语雀向用户提供了六个月的免费会员资格作为补偿。
这次故障事件引发了人们对云端服务的担忧,并重新激起了对本地化存储的兴趣,即将数据和内容保存在本地设备上,而不仅仅依赖于云端服务。
这几天,我的 Twitter 时间线上出现了大量有关 Local First 的讨论。许多朋友开始将保存在云端的内容转存至本地,有些甚至完全放弃了云端服务,转而使用纯本地化的应用。
然而,云端服务并非完全没有优势。云端服务能提供便捷的协作和共享功能,使团队成员能够实时访问和编辑文档。此外,云端服务通常具备高可用性和备份机制,确保数据的持久性和可靠性。
无论采用哪种方式,个人文档都应该有多种备份方式来确保安全。同时,在选择云文档服务商时,文档易导出性和与其他平台的互通性也是重要的考量因素。
通过这次语雀故障事件,我们可以看到 Local First 理念在用户中逐渐普及和接受。这也提醒云端服务提供商们要更加关注用户需求,提供更加稳定可靠的服务,以满足不同用户对数据存储和管理的需求。
PS:在上周的投票中,维持英文标题的选项以微弱的优势获得了胜利。如果你有什么意见或建议,请在评论中反馈。
如果您发现这份周报或我的博客对您有所帮助,可以考虑通过 Patreon, Buy Me a Coffee, 微信 支持我的创作。
原创
掌握 TipKit:进阶
TipKit 的精髓不在于外在的视觉效果,而在于内在的逻辑表达。它帮助开发者以声明的方式描述提示生成的规则,而提示的具体实现完全可以自定义。我们可以把 TipKit 想象成一个判断提示显示需求的规则引擎,至于如何可视化这些规则,则取决于开发者自己。在本文中,我们将讨论一些与 TipKit 相关的进阶问题,例如如何完全自定义 Tip 视图(不使用 TipView 和 popoverTip)、如何在 UIKit 中使用 TipKit,以及 TipKit 如何在不同的应用程序之间共享数据。最后,我们将尝试解答一些与 TipKit 相关的疑惑。
如果你对 TipKit 框架还不太了解,请先阅读 掌握 TipKit:基础 这篇文章。
近期推荐
杭州第4届亚残运会刚刚闭幕。残疾选手们在赛场上顽强拼搏的身影深深打动人心,他们坚毅的精神和顽强的斗志令人肃然起敬。作为科技企业的典范,苹果历来高度重视残障人士的使用体验。他们开发了大量辅助功能和开发框架,帮助开发者打造更贴心、更可访问的产品,持续为残障人群创建无障碍的科技生活。
A Comprehensive Guide to App Accessibility
Frank L
这是一篇全面介绍移动应用无障碍性设计的指南文章。作者详细阐述了无障碍性的概念、相关规定以及开发无障碍应用对用户、企业和开发者的重要意义。文章还提供了许多制作无障碍应用的实用建议,并通过健康、聊天和游戏应用的案例说明了无障碍性设计的实践。作者强调无障碍性是移动应用开发中的重要组成部分,也是确保技术服务于所有人的必要条件。这篇指南对希望开发无障碍和包容性应用的开发者具有重要的参考价值。
Preparing your App for VoiceOver: use Accessibility Label
Pasquale Vittorosi and Domenico De Luca
这篇文章总结了为应用程序准备 VoiceOver 功能的步骤,并强调了为视力有障碍的用户提供良好的可访问性体验的重要性。文章还提供了一些在 SwiftUI 和 UIKit 中使用辅助标签的示例,以帮助读者更好地理解如何实施这些标签。
用 Core Bluetooth 估计距离
NameDrop 是 iOS 17 中的众多亮点功能之一。使用 NameDrop,你可以轻松高效地与刚认识的人分享你的联络资料。在 NameDrop 发布之前,SansanJapan 也在开发类似的产品。本文探讨了使用 Bluetooth Low Energy(BLE)进行距离估计的基本理论、实现方法、存在的问题及解决方案。对于需要在 iOS 平台上利用 BLE 实现距离测量或室内定位的开发者,具有很高的参考价值。
Swift on Server Tour
Swift on Server 是指在服务器端使用 Swift 编程语言的技术。通过使用 Swift on Server,可以构建高性能、可扩展的应用程序。作者将以一个 Micro Blog Server 为示例,撰写了一系列文章,与读者一起探索 Swift on Server 的世界。这个系列主要面向初学者,除了功能实现,还会涉及许多相关概念。全系列共计十一篇文章,目前已更新至第六篇。
Introduction to Shaders in SwiftUI: Wave Effect
在最新版本中,SwiftUI 提供了与 Metal Shader 的深度集成,使开发者能够以卓越的性能操纵颜色、形状等。本文详细介绍了如何在 SwiftUI 中使用 Metal Shader 实现波浪动画效果。全文内容细致易懂,分享了使用 SwiftUI 和 Metal shader 开发动画效果的经验,对需要了解这方面知识的开发者非常有帮助。
如何使用 PHPicker 在 iOS 系统无授权下获取资源
狐友靳凯@搜狐
PHPicker 是 iOS14 开始引入的新组件。它允许无需用户授权即可访问照片库的所有资源。本文详细介绍了如何正确使用 PHPicker 访问用户选择的部分照片资源。其中的关键点是无需事先获取授权,而是通过 NSItemProvider 处理多媒体资源。这种方式更符合系统设计初衷并提高了用户体验。