如何做到对JavaScript的API兼容

 

本文主要介绍什么是API,以及API兼容的重要性,最终给出方案如何评估API,以及如何做到API兼容。

What’s API?

API的全称是application programming interface。而很多时候,程序开发者仅仅把函数、类的接口做为API的一部分,而忽略了其他重要的编程接口。

事实上,在前端Javscript编程中常见的API包括:

◆ 函数、类接口,包括参数,返回值,函数对外部对象(常常是DOM)的具体操作等

网络接口协议,如和后端交互的JSON、XML数据格式,或者script回调中的函数名

◆ 样式以及HTML接口

◆ 外部依赖(对浏览器具体特性的依赖)

◆ 一些无意泄露的内部实现

越往后的API,越隐晦,越不容易受到重视,但是一旦这些API发生变化,可能会导致调用方出现不符合预期甚至程序直接报错的情况。

Why API cannot be changed?

API是程序协同开发的重要保证,API的用户希望API的提供方提供的是一段功能明确、接口明了的程序。更重要的是,用户更期望在程序升级以后,他们能够“不经思考”地升级这些第三方代码。

一旦上述提到的5个API中的任何一个发生变化,可能会给他们带来巨大的代价,用户需要排查所有调用的代码,需要更改一些协议,需要调整所有与之相关的部分,这些工作对他们来说都是额外的,在预期之外的。如果辛辛苦苦完成这些以后,还在测试过程中发现了相关的bug,那对用户的打击就更大了。

如果API经常发生变化,用户就会失去对这段程序的信任,他们会更倾向自己获得源代码以后,按照自己的需求进行修改,自行维护一个内部的API比调用一个不断发生变化的外部API要容易接受的多,虽然这样做和我们协同开发、模块化开发的初衷是完全相悖的。

最后,我们为什么要修改API呢?为了API看起来更加漂亮?为了提供更多有趣的功能?还是仅仅我们觉得到了改变了时候了?对于用户来说,他们更愿意使用一个稳定但是看起来不那么时髦的API,而不是使用一个很时髦,但是会经常变动的API。在这个问题上,项目开发者是实用派。但这并不意味着我们不再改进API了,在后面,我会具体介绍如何能让API保持稳定的同时,让API持续改进。

-
上一页 1 2 3 4 5  下一页
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值