Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 支持单个WebApp的多个API版本_Javascript_Json_Api_Web Applications_Websocket - Fatal编程技术网

Javascript 支持单个WebApp的多个API版本

Javascript 支持单个WebApp的多个API版本,javascript,json,api,web-applications,websocket,Javascript,Json,Api,Web Applications,Websocket,我用javascript开发了一个客户端webapp,它通过WebSocket连接到提供API的各种设备。 随着项目的发展,我们开始添加新的功能,但是软件的推出速度很慢 本质上,我的问题是:保持与旧版本API向后兼容性的最佳方法是什么? 到目前为止,我在两种方法之间摇摆不定: 由于设备版本是已知的,因此使用大量的if,else来限制功能。这看起来很混乱,我想随着版本数量的增加,维护起来会更加困难 根据用户连接到的设备版本异步加载不同的javascript文件,基本上保持核心应用程序的完全独立版本

我用javascript开发了一个客户端webapp,它通过WebSocket连接到提供API的各种设备。 随着项目的发展,我们开始添加新的功能,但是软件的推出速度很慢

本质上,我的问题是:保持与旧版本API向后兼容性的最佳方法是什么?

到目前为止,我在两种方法之间摇摆不定:

  • 由于设备版本是已知的,因此使用大量的
    if,else
    来限制功能。这看起来很混乱,我想随着版本数量的增加,维护起来会更加困难

  • 根据用户连接到的设备版本异步加载不同的javascript文件,基本上保持核心应用程序的完全独立版本

  • 也许还有另一种方法可以解决这个问题。
    我意识到这个问题有点广泛,但在这一阶段,我只是在深入研究和实施之前收集一些想法。

    这是正在变化的API,还是这些设备,您需要跟上这些变化,但不是全部?设备上的软件发生了变化,因此API调用可用。现有电话永远不会改变,只会增加新的电话。要更好地回答您的问题,是的,需要跟上变化,但不是所有设备都需要。