All Posts

了解 Swift 中的数值计算

WWDC20 Session 10217 - Explore numerical computing in Swift Swift Numerics Numerics 是一个 Apple 开源的 Swift 包,通过范型约束,提供更简单的方式,来使用所有标准库里的浮点型进行数值计算。

浅谈 WebRTC NetEQ

WebRTC Native 代码里面有很多值得学习的宝藏,其中一个就是 WebRTC 的 NetEQ 模块。根据 WebRTC 术语表 对 NetEQ 的解释: A dynamic jitter buffer and error concealment algorithm used for concealing the negative effects of network jitter and packet loss. Keeps latency as low as possible while maintaining the highest voice quality. 一种动态抖动缓冲区和错误隐藏(丢包补偿)算法,用于去除网络抖动和数据包丢失的负面影响。在保持最高语音质量的同时,保持尽可能低的延迟。 NetEQ 其实就是音视频处理中的 Jitter Buffer 模块,在 WebRTC 的语音引擎中使用。这个模块很重要,会影响播放时的体验,同时也相当复杂。 本文源码参考 WebRTC Native M78 版本。

如何假装写过 Swift

总结了笔者日常使用 Swift 的一些小 Tips。

WebRTC Native 模块单独编译静态库(iOS)

项目里面用到了 WebRTC 某些模块,以前是源码拷贝集成的。这样不仅需要处理平台的宏(WebRTC Native 跨平台),而且升级版本也会涉及依赖等问题,所以探索了一下怎么用编码编译出可用的静态库。

SwiftUI 初探

十月份参加极光黑客马拉松一天时间写了个简单的 火车票 OCR 应用“票夹”,当时由于时间和熟练程度原因,并没有试下今年 WWDC 刚推出的 SwiftUI 框架。最近抽空用了 SwiftUI + Combine 进行重写,顺便感受了一下这两个新框架的魅力。先说个人感受,SwiftUI 看起来挺美好的,但是目前有 Bug 和完善度不高,比较适合用在不关心设计的 Demo 或者个人功能性项目上。Combine 完成度尚可,但 Xcode 对复杂闭包的自动推断经常失效,比较影响编码体验。

Apple 官方异步编程框架:Swift Combine 应用

WWDC19 Session 721 - Combine in Practice 引言 Combine 是 WWDC2019 推出的异步编程框架,在上篇 文章 中,介绍了 Combine 的基本概念。在这篇文章中,着重介绍一些 Combine 的实际应用。