【.com速递】今天,随着我们构建软件的方式的改变和API平台的爆炸式增长,公司必须构建他们的产品并将它们推向市场。目前几乎所有的软件需求都需要通过API提供相应的解决方案,包括支付API、通讯API、传输API等上千种。那么我们如何设计和构建高质量的API呢?无论您的目标是构建开源API、API平台(https://dzone.com/articles/what-is-an-api-platform),还是帮助其他开发人员与您自己的产品集成的API,您必须努力优化开发者API体验(DX)。无论你是产品经理还是技术开发人员,在每个API的设计决策中都需要充分考虑终端用户,只有这样他们才会愿意使用你开发的API。在这方面,Facebook是一个很好的例子。早期,他们在社交媒体的游戏平台上开辟了强大的开发者社区,方便大家打造不同的游戏。当然,Facebook也能从中受益。为了能够在不断变化和发展的SaaS环境中脱颖而出,您可以授权用户构建自定义应用程序(甚至在您不知道的平台上提供完美的体验),让他们拥有所谓的“控制经验”。Pleasure”。一般来说,常见的API应该具备以下基本特征:足够健壮,可以保证99.9%(或更高)的正常运行时间,具有快速响应能力,或者响应时间短,能够无缝更新,或者不需要引入中断更改操作来发布单个构建块,而不是API中的静态解决方案主页,以确保抽象设计的一致性面向未来的API以正确管理潜在的更改1.缩短宝贵时间一个好的API应该能够减少thedeveloper'stimevaluable(TtV).即在开发者开始与你的API集成之前,他们可以根据相应的用户手册测试cURL的响应,来证明API本身的价值。你可以在Nylas中找到类似的例子文档(https://docs.nylas.com/reference)。即使您能够提供测试令牌,使用一次一次,每次一次的框架也很重要。通过测试token的相关示例,不熟悉cURL命令操作的开发者也可以像其他人一样测试token流程,检查API是否能完全按照配置运行。这正是需要好的文档的地方。满足用户期望在构建API时,请牢记一个问题:API是否完全按照用户的期望在第一次尝试时执行?在大多数情况下,您需要对API的可用性采取“第一次”的方法。Dotherightthingright(dotherightthingrightthefirsttime)”的方法,确保提供的API确实能够缩短开发者的宝贵时间(TtV)。从开发者的第一次交互开始,API就能够快速高效地解决那些具有挑战性的问题技术问题。因此,定期审查和测试您的API,以确保首次交互顺利,并为后续使用建立信心。使用SDK提高效率SDK是减少集成过程中出现的“摩擦”的适当方法之一确保开发者能够尽快找出API中的SDK集成参数也很重要,通过使用简单的Ruby、NodeJS或PythonSDK,开发者可以了解API如何在他们选择的框架内工作一个相对较短的时间,然后高效地完成一个全功能的集成。记住:虽然SDK需要时间来创建和维护,但它们确实显着提高了d开发者体验并降低他们的TtV。2.把你的文档当做网站的主页由于API相关的文档可以在你的主页上获得,开发者可以把它添加到浏览器的书签或者放在显眼的位置。当然,你的API文档不仅要直观易用,还要遵循一定的逻辑流程。在API文档的可访问性和易用性方面,Stripe(https://stripe.com/)是一个很好的例子。如下图所示,它的文档很容易浏览,左侧边栏有一个清晰的目录,右侧有一个成功的StripeAPI支付的简单6步流程:如果你的API有很多复杂的元素,需要全面的文档,那么你的文档库应该使用内置的搜索功能,方便开发者遍历查询。同时,文档也应该以一致的方式进行逻辑组织,并在整个API集成过程中完成上下文特定的内容覆盖。这里的“语境”是指每个开发者可以选择不同的编程语言。可见,仅仅列出某一种语言的API使用技术指南是不够的。您的文档需要具有不同语言的适用性,甚至是满足某些特定开发技术(各种SDK,或自定义代码语言)的解决方案。计划。毕竟,开发人员很可能会使用您的API技术来解决一个独特的问题,因此他们需要查看与之相关的各种指南、示例和快速入门。同时,这也是一个很好的机会来展示和证明你的API是全面的和可扩展的。3、保证API中抽象的一致性为了方便开发者使用,提高API的实用性,需要保证API中抽象工作流的一致性。您可以使用相同的POST请求跨不同的Google和Exchange事件获得完整的CRUD(创建、读取、更新和删除)。虽然Google和Exchange中不同事件的数据模型大不相同,但开发者没有必要以不同的方式编写代码。当然,您不必对抽象的一致性要求过高而忽略个别特殊情况。比如,为了兼顾产品的大体一致性,你可能没有及时抛出某个环境下的API异常信息,导致开发者无法追踪到程序中的某个缺陷。所以找到一个合理的平衡点很重要。4.设计面向未来的API如今,业界倾向于通过JSON导入和移动数据。但在不久的将来,你可能会大量使用GraphQLAPI(译者注:它不仅是一种可以用于API查询的语言,也是一种满足数据查询的运行时)。开发人员检查您的API以消除他们工作流程中的各种“摩擦”。因此,如果您的API不遵循最新的无摩擦开发趋势,那么您的API很可能会在竞争中落败。例如,虽然大多数开发人员期望JSON响应cURL命令。但是你可以更进一步。通过发送各种简单的JSON响应而不是二进制XML和SOAP,这不仅可以最大限度地减少摩擦,还可以为开发人员创造更好的体验。5.妥善管理潜在的变化在构建API时,变化往往是不可避免的。RESTAPI是从SOAPAPI派生而来的,RESTAPI是GRAPHAPI的前身。虽然JSON是当今API的行业标准文件格式,但随着技术的发展,面对任何可能的变化,您需要从以下几个方面妥善管理您的API:从第一天开始的内置版本控制支付提供商Stripe采取相当严格的方法。为了避免仓促或不正确的API更改对业务造成严重影响,他们从最初的概念到最终推出都实施了严格的StripeAPI版本控制,并确保向后兼容。在实践中,你的API版本控制可能不像成熟企业那样复杂和专业,但你可以使用简单的版本编号系统(如:V1、V1.1、V1.2等)来更好、更有效地实施版本扩展和控制。尽早并经常交流变化。另一方面,Facebook作为行业巨头,对其API的改动和调整频繁,让全世界的Web和移动应用开发者又爱又恨。然而,Facebook每次都会提前通知此类更改。因此,只要你的开发人员能够提前做好准备,就不会被动地影响最终用户的服务。由此可见,如果自己没有实力搭建版本控制系统,就应该尽早、频繁地与各方沟通变更信息。这是一种成本更低、更灵活和主动的方法。总结总而言之,您需要确保您的API在第一次尝试时能够按预期工作,并以此建立与各种开发人员的信任和使用意愿的基础。虽然这听起来极其简单,但在实践中也充满了挑战。希望以上五个实用的“秘籍”能够帮助大家打造属于自己的优质API,为开发者带来良好的体验。原标题:SecretstoGreatAPIDesign,作者:TasiaPotasinski
