翻译自wwdc-2025-whats-new-for-the-apple-community

The WWDC25 week has come to a close, marked by its central theme: Cross-Platform Consistency. The announcement of their new design system, Liquid Glass, is undoubtedly what most people will be talking about, alongside the version number for all platforms matching the year, but what we might miss when focusing on this shining update is all the work that made it possible and how it has reflected on the evolution of the platforms, leading us to this moment.WWDC25周已经落下帷幕,其核心主题是:跨平台一致性。宣布的全新设计系统Liquid Glass无疑将成为大多数人讨论的焦点,此外所有平台的版本号都与年份一致,但当我们关注这个闪亮的更新时,可能会忽略所有使其成为可能的工作,以及它如何反映平台的演变,带领我们走到这一步。

There are many updates to the foundational frameworks that app developers use to bring their apps to life and they are spread across the over 100 videos made available through the developer portal.许多基础框架都进行了更新,应用开发者用来赋予应用生命的基础架构,这些更新散布在开发者门户提供的超过100个视频中。

阅读全文 »

参考链接

Kuikly - 组件

Pager

Pager为Kuikly页面的入口类,类似iOS UI中的VC, Pager也有类似VC的生命周期:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 已创建
override fun created() {
super.created()

}

// 页面在屏幕上可见
override fun pageDidAppear() {
super.pageDidAppear()

}

// 页面在屏幕上消失
override fun pageDidDisappear() {
super.pageDidDisappear()

}

// 页面即将消失
override fun pageWillDestroy() {
super.pageWillDestroy()

}
阅读全文 »

Kuikly是基于Kotlin MultiPlatform(KMP)构建的跨端开发框架, 支持Android、iOS、HarmonyOS和H5/小程序等多个平台, 据 PCG 开发团队的报告, Kuikly 可以提升团队 85%的开发效率.
这里记录一些我自己使用 Kuikly 遇到的一些坑, 希望后面能少点踩坑吧.

阅读全文 »

SDWebImage 是iOS 开发最流行的异步图片加载框架, 其中的缓存模块 SDImageCache 有一个很精巧的设计弱引用缓存, 源码参考

1
@property (nonatomic, strong, nonnull) NSMapTable<KeyType, ObjectType> *weakCache; // strong-weak cache

在我们的项目中引入了这个小修改, 整体的缓存命中率有1%左右的提升,

是否开启 内存缓存命中率 磁盘缓存命中率 下载命中率
开启弱引用缓存 67.99% 21.36% 10.67%
不开启弱引用缓存 66.76% 21.99% 11.25%
阅读全文 »

在 GitHub 上确实有不少优秀且实用的 iOS 图片编辑相关的开源项目和 Demo。这些项目覆盖了基础编辑(裁剪、旋转、调整)、滤镜应用、涂鸦、贴纸添加、高级特效等功能。以下是一些值得关注的项目,适合学习和集成:


🛠 一、功能较全的图片编辑框架

  1. TOCropViewController

  2. YPImagePicker

阅读全文 »

最近遇到一个问题, 需要定位到 TableView 的某一行, 历史代码是使用

1
- (CGRect)rectForRowAtIndexPath:(NSIndexPath *)indexPath;

获取到对应的cell 在 TableView 上的位置, 然后再根据业务做了一些简单的计算, 最后使用

1
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;

跳转到最终的位置.

但是由于这个业务比较复杂, 为了性能, 开启了预估行高(estimatedHeightForRowAtIndexPath), 实际上, TableViewCell 的高度也根据业务各不一样, 预估值也与实际情况出入较大, 导致上面的 setContentOffset 跳到了不正确的行高.

阅读全文 »

团队协作培养

团队融入

  • 信任建立
    • 主动引荐新人认识团队
    • 通过日常接触(饭搭子 / 散步/ 运动健身)、非正式交流(咖啡 / 奶茶)消除心理屏障,
      • 工作生活上的经验分享
      • 需求进度卡点交流
  • 合理授权
    • 鼓励新人独立负责任务 (了解新人是什么样的类型)
      • 爱学习的人可以减少干扰, 以答疑为主, 引导独立思考并发表观点
      • 偏懒惰的人需要积极引导, 必要时可以请上级出面帮忙给点压力
    • 导师适时把关,避免亲力亲为。
阅读全文 »

原文地址

知其然,然后知其所以然。本文主要是对学习赛博活佛Andrej Karpathy 7个小时教学视频的总结和拓展阅读笔记,推荐去看原视频,很精彩,链接在文末。从最常用的聊天应用过程分析开始,引入对话过程原理浅析,再到LLM训练过程;再结合当前主流的应用形式,在得知最新用法的同时,加深对LLM的理解;再谈谈AI的最新重大进展MCP;以及作为JAVAer,在Java领域有哪些前沿能力去整合LLM。

最后再罗列一下在公司内部一些AI平台、工具。最好的学习方法是带着问题去寻找答案,以费曼学习法为标准,产出可教学的资料。本文是个人所学梳理和所想记录,作为AI的小白,个人知识有限,难免有所错误、疏漏,请及时纠偏、不吝赐教,感谢。

阅读全文 »