当我们分析现实世界的应用特性时,常常会对我们所看到的应用进行泛化。然而,这些泛化对于我们关心的性能和架构特性的真实度有很大的变化。我相信产品的特点和设计约束是这种变化的主要决定因素。基于它们的特点和约束对应用进行分类,可以为每类问题提供更有针对性和影响力的解决方案。

以下,我们将列出一系列的应用原型,这些原型既可以代表今天的网络,也可以预测我们预见开发者根据趋势和平台倡议所做的变化。

应用原型一览

1. 社交网络目的地:

  • 原型: Facebook
  • 特点: 多面向、子应用、无限滚动内容、用户贡献、实时更新、通知
  • 约束: 长时间的会话、大规模、实时更新、嵌入内容造成的资源争夺、SEO

2. 社交媒体应用:

  • 原型: Instagram
  • 特点: 富媒体、无限滚动内容、用户贡献、实时更新、通知
  • 约束: 长时间的会话、实时更新、嵌入内容造成的资源争夺、不可中断的媒体播放、SEO

3. 商店前台:

  • 原型: Amazon
  • 特点: 搜索、支付、可发现性、过滤和排序
  • 约束: 浅到中等的会话深度、小的交互、购物车/结账的高掉出率、SEO

4. 内容网站:

  • 原型: CNN
  • 特点: 可发现性、富媒体、嵌入内容
  • 约束: 浅会话深度、广告和多变量测试造成的资源争夺、SEO

5. 个人信息管理应用:

  • 原型: Gmail
  • 特点: 客户端厚重、无限列表、嵌入内容、丰富的文本编辑
  • 约束: 长时间的会话、敏感且大部分不可缓存的数据、高安全风险

6. 生产力应用:

  • 原型: Google Docs
  • 特点: 客户端厚重、丰富的文本编辑、离线与同步
  • 约束: 长时间的会话和多个并发会话更偏向于客户端实现

7. 媒体播放器:

  • 原型: Spotify
  • 特点: 富媒体、客户端厚重、无限滚动内容
  • 约束: 长时间的会话、用户导航时播放必须继续

8. 图形编辑器:

  • 原型: Figma
  • 特点: 3D渲染&GPU、图像操作
  • 约束: 长会话、对输入和渲染的延迟敏感

9. 媒体编辑器:

  • 原型: Soundtrap
  • 特点: 音频处理、设备集成(如midi,usb)
  • 约束: 长会话、低延迟的DSP、低延迟的媒体录制和播放

10. 工程工具:

  • 原型: Codesandbox
  • 特点: 客户端厚重、多文档接口、存储、离线
  • 约束: 极长的会话长度、低延迟文本输入

11. 沉浸式/AAA游戏:

  • 原型: Stadia
  • 特点: 3D渲染&GPU、P2P、音频处理
  • 约束: 长会话(高交互性)、需要一致或分步的FPS

12. 休闲游戏:

  • 原型: Robostorm
  • 特点: 2D&3D渲染&GPU、P2P、音频处理
  • 约束: 长会话、对输入和渲染的延迟敏感

以上为应用原型分类的概述。通过这些分类,开发者可以根据自己的应用特点和约束,选择最合适的架构和优化策略,从而提高应用的性能和用户体验。


A Student on the way to full stack of Web3.