所有文章 > API设计 > API 设计是一门艺术吗?
API 设计是一门艺术吗?

API 设计是一门艺术吗?

从表面上看,编码似乎与绘画、诗歌或歌曲创作等学科没有太多共同之处。 但通过分析性思维与创造力的融合,API 设计与其他创造性活动一样具有艺术性。

在 2024 年奥斯汀 API 峰会上,Apiture 首席 API 官大卫-比萨克(David Biesack)与我们一起探讨了 API 设计的艺术,以及提供引人注目的开发人员体验对不同 API 的采用、持续使用和推广所起的作用。

Biesack 将 API 设计定义为一个翻译过程。 “这是一个从产品团队获取需求的过程。 因此,你正在构建一个新产品,或者你正在添加一个新功能:你必须接受这些需求,理解它们,然后将它们映射到提供这些功能的 API 中,这样人们就可以在这些 API 的基础上构建应用程序。

但是,随着自动化和人工智能驱动的代码生成成为所有技术问题的流行解决方案,我们是否会面临应用程序接口变得陈旧、缺乏艺术性甚至完全崩溃的风险?让我们一探究竟。

创意VS开发人员经验

在里洛-凯利(Rilo Kiley)2001 年的独立音乐作品《科学与浪漫》(Science vs. Romance)中,主唱珍妮-刘易斯(Jenny Lewis)描述了对现代科技的厌倦: “文字与浪漫,你可以随意添加。 “但我们仍然不是格子里的机器人,不是0和1”

这句话给我们的启示是,当我们过于依赖技术时,技术就会出现问题。 纵观最近人工智能的著名失败案例,这些歌词在今天依然适用。 但是否到了某个时候,情况就不再是这样了呢?

从 Biesack 对 API 设计的描述中,我们不难看出人员技能和技术知识的相关性。 他称 “API 设计最关键的部分是理解领域,然后将其映射到 API 中”。 然而,这一定义与将应用程序接口设计视为艺术(通常与创造力相关)之间存在一些冲突。

事实上,Biesack 强调说,在很多方面,创造力实际上与提供良好的开发人员体验相矛盾:

  • 避开一致性,追求新颖性
  • 无视重复使用,或觉得有必要对重复使用进行一些解释
  • 可能为了创新而颠覆现有标准
  • 增加学习曲线

在这些方面,为创意而创意可能最终会阻碍应用程序接口的采用。 Biesack 认为,应用程序接口 “必须是功利性的……必须重视功能而非形式,重视实质而非风格”。

Axway在一篇关于漂亮的应用程序接口的博文中详细阐述了开发人员应如何努力实现 “最小惊奇原则”,指出 “任何东西都不应令人感到刺眼”。 例如,身份验证令牌应使用标准的安全实践、错误代码和直观信息。

这里值得与艺术界做一些比较。 Biesack 所描述的 API 类型与极简主义或野蛮主义等运动有很多共同之处。 无论这些美学是否符合你的口味,你可能都不会说它们 “不是艺术”。

应用程序接口开发指导原则

当然,任何应用程序接口都不是在真空中创建的。 Biesack 指出,我们还需要考虑科学方面的问题。 他解释了我们如何研究应用程序接口、识别模式并使用现有标准来发展我们的实践和改进我们的应用程序接口。

应用程序接口设计的一些更 “科学”(而非艺术)的考虑因素包括:

  • 领域分析/建模
  • 攻击向量
  • 合规性
  • API表面区域
  • 清晰和完整性
  • 易于使用和实施性

在这方面,Biesack 认为,API 设计的艺术就是 “决策的艺术”。 添加额外的端点是否会使产品变得不必要的臃肿? OAuth 2.0 是否是确保该特定 API 安全的最佳选择? 这些都是 API 开发人员每天要面对的问题。

在演讲中,Biesack 将 API 设计称为 “全脑活动”。 它是一种积极的智能,需要左脑(逻辑、分析、线性)和右脑(艺术、创造、想象)的共同作用才能取得成功。 换句话说,这是一种有效平衡艺术与科学的综合方法。

海明威曾对 F. Scott Fitzgerald 说过:”我只写一页杰作,不写九十一页狗屎: “我写了一页杰作,九十一页垃圾。 我试着把垃圾扔进废纸篓”

对于那些曾试图创建优秀文档(API 艺术性的另一个关键组成部分)以支持其闪亮的新 API 的技术撰稿人来说,这种做法听起来可能并不陌生。

新趋势会给应用程序接口设计带来麻烦吗?

从理论上讲,上述一些概念–极简主义、清晰度、一致性–似乎是人工智能和自动化应该擅长的。 但在实践中,情况并非总是如此。

Biesack 认为,我们仍然需要有机的智能来确保相关的应用程序接口是可发现的、可理解的,并将客户与后台变化隔离开来。 换句话说,这些都是构成良好开发者体验的诸多因素中的一部分。

以上,Biesack 将合规性作为 API 设计的关键原则。 让我们深入探讨一下。 合规性要求对相关领域(如银行、金融或医疗保健)有深入的了解,并充分认识到监管实践和要求即将发生的变化。 如果不能满足这些要求,可能会给应用程序接口提供商带来灾难性的后果。

值得注意的是,目前,用于开发的基因人工智能工具可能由于训练滞后而缺乏最新的监管发展知识。 根据所训练的数据,它们还可能缺乏创建合规 API 所需的相关领域的深入知识。

另一方面,我们也看到了标准化(参见使用 API 规范的好处)和自动化(参见自动生成 API 的 SDK)等趋势的兴起。 虽然这些趋势在传统意义上似乎并不 “艺术”,但它们却为 API 的采用和消费做出了巨大贡献。

虽然自动化和人工智能可以成为应用程序接口开发的重要工具,但这并不意味着我们可以放弃与这一实践相关的细致入微的思考。 Biesack 认为,”人工智能实际上只是一种软件工件”,缺乏经验丰富的开发人员的主观性。 我们仍然需要找出使用应用程序接口解决问题的最佳方法。

结论:API设计是一门艺术

我们以一些相对晦涩难懂的歌词作为开篇(除非你的青春是在 Hot Topic 或 Pac Sun 度过的)。 最后,让我们用更主流的方式来结束这一切:

“在达到一定的技术水平之后,科学和艺术往往会在美学、可塑性和形式上融合在一起。 最伟大的科学家也总是艺术家”。 – 阿尔伯特-爱因斯坦

如果爱因斯坦的观点是正确的,那么我们就应该认真倾听人们对人工智能生成代码的风险和 API 领域过度自动化的担忧。 “比萨克说:”API 设计的真正意义远不止插入一个提示并得到一个回复。

尽管如此,开发人员的知识还是有可能最终延伸到与人工智能的合作中。 “Biesack说:”当你在考虑采用这些工具时……[你要弄清楚]你将使用哪些API来训练生成式人工智能,训练数据是否符合你的领域,这些API风格是否符合你的开发人员的需求。

切萨雷-保塔索(Cesare Pautasso)是 “漂亮的应用程序接口 “的倡导者,他经常深入研究结构和可视化符号等东西如何影响应用程序接口的吸引力。 如果这篇文章把您带入了艺术化 API 的兔子洞,他甚至还写了一本书……

这就是应用程序接口设计的两面性:设计应用程序接口固然需要技术知识和标准化,但同时也需要创造解决方案,以展示对用户需求的理解,满足(或超越)他们的期望,并让开发人员的生活更轻松。

当然,大多数艺术形式都是如此:音乐需要音阶和音调知识以及原始激情,伟大的文学作品需要正确的语法,等等。 因此,如果你真的想在 LinkedIn 上称自己为 “API 艺术家”,我们不会反对。

原文链接:https://nordicapis.com/is-api-design-an-art/

#你可能也喜欢这些API文章!