首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Texture 生产实践全景:从 Pinterest 到 Apollo,Showcase 页面收录的 36 款应用都在用 Texture 做什么
📅 2026/9/26 6:46:45
✍️ 爱科研究院
👁 阅读 3,247
移动开发UI组件【免费下载链接】TextureSmooth asynchronous user interfaces for iOS apps.项目地址https://gitcode.com/gh_mirrors/te/Texture点击查看免费下载Texture前身 AsyncDisplayKit是一套构建于 UIKit 之上的 iOS 异步渲染框架其核心承诺是即使最复杂的用户界面也能保持流畅与响应。本文以仓库 docs/showcase.md官网 Showcase 页面为骨架完整梳理官方收录的生产级应用清单并结合仓库源码剖析这些应用背后实际调用的核心能力——节点体系、容器、布局引擎、智能预加载与批量抓取。读完本文你将掌握哪些公司在用 Texture、它们分别用 Texture 解决了什么问题以及如何借助仓库内的示例工程快速复现同类的信息流场景。一、Showcase 页面的定位官方收录的生产环境使用名单docs/showcase.md是 Texture 官方站点中的 Showcase展示墙页面页面标题即Whos using Texture?开篇说明其目的If youre curious to see what can be accomplished with Texture, check out these apps.如果你想了解 Texture 能达成什么样的效果请看这些应用。该页面以九行三列的网格表格组织收录了36 款在 App Store 上架的 iOS 应用每一款都带有 App Store 链接、应用图标部分条目还附带了对应的工程实践博客或技术分享链接。这些应用覆盖了社交、新闻、电商、音乐、出行、教育、健康、开发者工具等多个品类是了解 Texture 在生产环境真实形态的第一手名单。需要说明的事实边界这些应用内部的具体工程细节如 Pinterest 的迁移步骤、Buffer 的滚动优化数据由各团队在页面附带的工程博客中披露本文仅以仓库内可验证的源码与文档为依据对页面收录的名单和 Texture 对应能力做逐一对应不引用页面之外的推测性性能数据。二、完整应用清单官方 Showcase 收录的全部 36 款应用以下清单完整继承自 docs/showcase.md按页面原有顺序整理并标注页面附带的公开信息奖项、工程博客主题。序号应用品类依据公开信息归纳Showcase 页面附带信息1Pinterest图片灵感社交附工程博客Re-architecting Pinterests iOS appPinterest 工程团队2Buffer社交媒体排程附博客Smooth Scrolling in Buffer for iOS: How (and Why) We Implemented AsyncDisplayKit与分享Texture: What, Why and How3Auxy音乐创作2016 Apple Design Award Winner苹果设计奖得主4NYT纽约时报新闻资讯—5NFL体育赛事—6Yahoo综合门户/即时通讯—7Kwaver Music音乐创作—8This is Money财经资讯—9JSwipe交友—10Peloton Cycle健身/直播—11即刻兴趣社区—12Tripstr旅行—13Fyuse3D 照片—14ClassDojo教育附博客Powering Class Story With Texture15GitBucket开发者工具—16Roposo时尚社交—17Mishu视频社交—18InstaBuy电商—19Eniro本地搜索—20Kayako客服支持—21Yep社交—22HakkerJobs开发者资讯Hacker News 客户端—23TraceMe粉丝社区—24Pairs交友—25Sorted: Master Your Day效率/日程—26Vingle社区内容附博客Improvement feed performance with Texture27Blendle新闻聚合—28MensXP男性时尚内容—29iDiva女性时尚内容—30Waplog交友—31Apollo for Reddit开发者工具/社区客户端—32Wishpoke社交—33Bluebird社交—34App in the Air差旅/航班管理—35Longwalks对话社交—36Remix by Buffer视频创作—从名单构成可以观察到一个明显规律绝大多数上榜应用的核心界面都是内容流Feed形态——图片密集型社交、新闻、电商、视频列表。这正是 Texture 设计之初要解决的场景让长列表滚动时保持 60fps、不丢帧。三、这些应用实际用到的是 Texture 的哪些核心能力Showcase 页面本身只列名单不给技术细节但仓库源码与文档可以反向印证这些应用所依赖的核心能力全部可在本仓库中找到对应实现。3.1 节点体系ASDisplayNode把昂贵的 UI 操作移出主线程README.md 与 docs/_docs/getting-started.md 明确说明Texture 的基本单元是nodeASDisplayNode.h 是UIView进而CALayer之上的抽象。与只能在主线程使用的 View 不同Node 是线程安全的——你可以在后台线程并行地实例化并配置整棵节点层级树。iOS 要达到 60fps主线程每一帧只有 16 毫秒预算扣除系统开销后通常不足 10 毫秒。Texture 让图片解码、文字排版与渲染、布局等昂贵操作全部离开主线程把主线程留给用户交互。名单中 Pinterest瀑布流图片墙、NYT长文排版、ApolloReddit 长列表这类应用正是这一能力的典型受益者。仓库中 ASDisplayNode.h 的类注释也直接写明AnASDisplayNodeis an abstraction overUIViewandCALayerthat allows you to perform calculations about a view hierarchy off the main thread允许在非主线程完成视图层级的计算。3.2 节点容器Node ContainersUIKit 与 Texture 的集成点getting-started 强调把 node 直接塞进现有 view 层级会导致渲染闪烁正确做法是使用节点容器类如ASTableNode、ASCollectionNode、ASPagerNode。容器负责告知内部节点当前的界面状态interface state以便数据加载与渲染尽可能高效它们就是UIKit 与 Texture 之间的集成点。以官方 Instagram 风格示例 ASDKgram 为例其 PhotoFeedNodeController.m 展示了典型写法在-init可能发生在后台线程中创建ASTableNode并设置 dataSource/delegate在保证主线程调用的-loadView中再配置涉及 UIKit 的属性。示例代码中的注释也明确提示init 常发生在非主线程因此绝不能访问 node 的 view 或创建手势识别器。3.3 布局引擎Layout Engine基于 CSS FlexBox 的声明式布局getting-started 将布局引擎描述为最强大也最独特的特性之一它基于 CSS FlexBox 模型通过为每个节点提供ASLayoutSpec实现声明式的尺寸与子节点布局异步测量与布局也因此成为可能。对应实现位于 Source/Layout 目录包含ASStackLayoutSpec、ASInsetLayoutSpec、ASRatioLayoutSpec、ASAbsoluteLayoutSpec等布局规范类。Vingle 等以内容排版为主的应用其 feed 性能优化实践页面附带的工程博客标题正是围绕这套布局能力展开的。3.4 智能预加载与批量抓取长列表体验的关键智能预加载文档 说明 Texture 会根据滚动方向提前加载数据与渲染内容批量抓取 API 则提供滚动到底部自动加载下一页的能力。ASDKgram 示例同样给出了这两者的完整实现批量抓取在 PhotoFeedNodeController.m 中实现tableNode:willBeginBatchFetchWithContext:调用[context beginBatchFetching]并异步加载下一页数据加载完成后通过[context completeBatchFetching:YES]通知容器预加载阈值同一文件 第 51 行 通过self.tableNode.leadingScreensForBatching 2.5将默认的 2.0 屏提前加载阈值上调为 2.5 屏该常量定义于同文件第 17 行以适配其图片流场景。3.5 网络图片节点图片密集场景的默认答案Showcase 名单中的图片密集型应用几乎都离不开异步图片加载。仓库提供了 ASNetworkImageNode.h、ASMultiplexImageNode.h多图渐进加载、ASImageNode.h 以及基于 PINRemoteImage 的 ASPINRemoteImageDownloader图片解码默认在后台线程完成——这正是内容流应用保持流畅的另一个关键支点。四、页面附带的工程实践文章说明了什么Showcase 页面为四款应用附带了工程实践资料本文仅转述其标题信息具体内容见页面中的原文链接PinterestRe-architecting Pinterests iOS app——Pinterest 曾用 Texture 重写其 iOS 应用README 顶部也以Coming from AsyncDisplayKit?说明 Texture 是 AsyncDisplayKit 的新家页面背景可追溯到 Pinterest 工程团队接管该项目BufferSmooth Scrolling in Buffer for iOS及技术分享Texture: What, Why and How——围绕滚动流畅度与集成路径展开ClassDojoPowering Class Story With Texture——Class Story班级动态流场景的实践VingleImprovement feed performance with Texture——直接以 feed 性能优化为主题。这些材料共同印证了一个结论Showcase 收录的应用在工程上的共同诉求是长内容流的高性能渲染这与仓库内docs/目录所承载的节点、容器、布局、预加载、批量抓取五大主题一一对应可对照 nav_docs.yml 的文档导航结构Core Concepts / Layout / Conveniences / Optimizations / Node Containers / Nodes。五、在仓库中复现这些生产场景如果希望亲手体验这些上榜应用背后的技术栈仓库 examples 目录提供了多组可直接运行的示例工程每个工程目录下都有 Podfile执行pod install即可搭建依赖ASDKgramObjCInstagram 风格照片流完整覆盖ASTableNode、ASCellNodeBlock后台线程创建 cell、批量抓取、尾部加载节点TailLoadingNode是理解内容流场景的最佳起点ASCollectionViewObjCASCollectionView带 header/footer 补充节点、批量 API、ASDelegateProxyASDKTubeObjC视频流样例CatDealsCollectionViewObjCASCollectionViewASRangeTuningParameters预加载调参 占位图 ASLayoutSpecKittensObjC经典的简单表格流示例适合入门。六、如何让你的应用也出现在 Showcase 中页面末尾给出了明确的收录规则如果你用 Texture 构建了应用官方欢迎它出现在展示墙上若希望添加自己的应用或出于任何原因不希望应用被展示可通过邮件联系textureframeworkgmail.com。这也是展示墙持续更新、名单不断扩展的渠道。结语Showcase 页面虽是一份名单但它准确反映了 Texture 在生产环境中的真实定位为内容流、图片密集、长列表交互类应用提供主线程解放方案。对照仓库源码名单背后的每一项能力——线程安全的节点、容器化的界面状态管理、FlexBox 式布局引擎、智能预加载与批量抓取——都能在 Source 与 docs/_docs 中找到一一对应的实现与文档。对于正在评估或已开始使用 Texture 的团队这份名单既是行业参考也是一份这些能力都有仓库级证据支撑的信心来源。赞分享移动开发UI组件【免费下载链接】TextureSmooth asynchronous user interfaces for iOS apps.项目地址https://gitcode.com/gh_mirrors/te/Texture点击查看免费下载相关推荐用 impeccable clarify 打磨界面文案从“用户看不懂”到“发生了什么、为什么、下一步做什么”用 impeccable clarify 打磨界面文案从“用户看不懂”到“发生了什么、为什么、下一步做什么” 本文是一份面向 AI Agent 与前端开发者的AI 技能前端CLIdsh-plugin为什么Windows用户都在安装这款安卓应用神器为什么Windows用户都在安装这款安卓应用神器 还在为Windows无法直接运行手机应用而苦恼吗想在大屏幕上畅玩手游却苦于找不到合适的解决方案今天我要为桌面应用开发工具为什么90%的SEO从业者都在使用这款神器为什么90%的SEO从业者都在使用这款神器 每天面对海量的关键词数据你是否感到力不从心在搜索引擎算法的频繁更新中传统的SEO工具已经难以满足现代优化需求前端上一篇Termux-NDK 项目推荐下一篇SQLAlchemy连接池配置高并发场景下的数据库优化终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/26 6:46:45
Kata Containers 中 Cloud Hypervisor TpmConfig 模型详解:在 VM 配置中挂载 TPM 设备
2026/9/26 6:46:45
Remotely Save 插件调试指南:从同步计划导出到控制台日志的完整排查方案
2026/9/26 6:41:44
AI精准控制PPT工作流:指令工程×母版控制×逻辑块拆解
2026/9/26 7:31:47
SpringBoot+Vue+Layui动漫商城管理系统设计与实现解析
2026/9/26 7:31:47
视频智能处理三范式:理解、评估与增强实战指南
2026/9/26 7:31:47
用50个AI Skill构建知识管理生产力系统,重塑智能工作流
2026/9/26 7:31:47
AI视频实时生成工作流重构:35倍提速实战指南
2026/9/26 7:31:47
生成式广告、LLM重排与可微路径规划:多目标对齐与约束优化实战
2026/9/26 7:26:47
PCA+BP+PNN工业故障诊断落地实践
2026/9/26 0:00:44
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
2026/9/26 0:00:44
【愚公系列】《OpenClaw实战指南》018-写作与整理:用 TaoToken 统一 Key 打通 OpenClaw Skill 周报公文流水线
2026/9/26 0:00:44
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
2026/9/25 5:41:44
深入解析Transformer多头注意力机制与工程优化
2026/9/25 5:41:44
OpenClaw 的 Skills 跑学习任务,模型通道改到 TaoToken 通道行不行?
2026/9/25 5:41:44
ChatGPT报错Oops, an error occurred! 全链路排查指南