想在 iOS App 中实现高性能原生 Markdown 渲染?特别是要替代老旧的 WebView/低效方案、支持 AI 对话流式输出?

180 阅读2分钟

今天推荐一个值得关注的开源项目 ——
👉 MarkdownDisplayView(CocoaPods 上也叫 MarkdownDisplayKit)
仓库地址 中文readme地址

效果展示

正常打开渲染

normal.gif

流式渲染

见原repo中readme

项目概览

MarkdownDisplayView 是由本人 基于 Apple 最新 TextKit 2 构建的 iOS 原生 Markdown 渲染组件,目标是替代老方案,在性能、渲染效果和交互上都有显著提升。

核心特点

  • 极速渲染体验

    • 基于 TextKit 2
    • 支持异步渲染与增量更新
    • 流式渲染(Streaming Rendering)  适配 AI 对话场景,流式渲染部分模块整体流式出现(带有渐变动画)例如公式、图片、表格、自定义视频等。
    • 示例内容18kb文档(理论上不管多大md文档),首屏秒渲染。
  • 全面 Markdown 语法支持

    • 标题、列表、表格、代码块、引用、图片、嵌套模块、LaTeX公式(包括有机化学公式)、目录点击跳转章节、自定义解析以及渲染模块等常规元素都支持 
  • 内置代码高亮

    • 支持 20+ 语言(比如 Swift、Python、JavaScript 等) 
  • 自动目录(TOC)

    • 自动提取标题生成可交互目录 
  • 高度可定制

    • 字体、颜色、间距、主题均可配置
    • 原生支持深色模式(Dark Mode) 
  • 丰富交互能力

    • 支持链接点击、图片预览、目录跳转事件回调

适用场景

适合用于:

  • AI 聊天 / 生成式内容(边输出边渲染)
  • 技术文档阅读器
  • 富文本 IM 消息组件
  • 博客/知识社区内容显示
  • 取代老旧的 WebView 方案,实现原生渲染

技术栈概况

  • 开发语言:Swift 
  • UI 框架:UIKit
  • 核心渲染引擎:TextKit 2
  • Markdown 解析swift-markdown

为什么值得关注?

相比基于 WebView 的渲染方案或 TextKit 1,这个组件:

✅ 性能更好
✅ 原生渲染体验更流畅
✅ 更适合流式输出和即时更新
✅ 更高可定制性,适合深度集成

适合对内容渲染体验有较高要求的场景,特别是在 AI/Chat UI 中的 Markdown 展示部分。集成了iOS系统NatureLanguage可以选择自定义的按字词句去出现等功能。依赖库只有苹果的Markdown解析,使用了KaTeX部分字体资源。

如果你正在做iOS Markdown 渲染、聊天内容展示或 AI 对话界面,这个库值得一试 👍

📎 仓库(中文说明):
[github.com/zjc19891106…]

提前多谢大佬们帮点star