关于接口-APP 开发了新版本要保留旧版本 api?

2017-07-12 16:18:40 +08:00
 xoxo419

前因

对于 API 不太懂, 我们项目管理也不太懂技术.

项目开发人员 接口 1 人、APP 开发 1 人 用户几乎没有 -_-!

项目管理人要求

新版的 APP 开发好,但项目管理人说, 怕旧版的用户不愿意更新. 所以要保留, 那么接口也要保证以的正常.

怎么做

方式 1

  1. 将原来的项目复制一份
  2. 增加一个 URL

方式 2

增加版本号, 但增加版本号好像也解决不了这个问题

想说点什么

你家公司, 开发了新版的 APP, 还要保留旧的?

5650 次点击
所在节点    程序员
26 条回复
shoaly
2017-07-12 16:24:08 +08:00
如果 api 简单, 就用参数 ?v=1 ?v=2 来区分, 写在同一个项目当中即可.
如果 项目庞大 api 超级多, 就用 git 开多个分支 1.0 2.0 3.0, 分开部署到服务器, 这样你还可以在修改 2.0bug 的时候 同时维护 1.0 版本. 比如现在微软 win7 和 win10...
icemanpro
2017-07-12 16:26:46 +08:00
强行更新。
shoaly
2017-07-12 16:28:29 +08:00
然后 到底应不应该保留 不同版本的 api, 取决于你的客户是不是刚需, 比如你是 12306 或者学校充值电费的 app, 那你可以直接强奸客户, 请时刻追新, 旧版本不再维护.
如果你的客户是爸爸, 是需要公司花营销费用争取过来的, 比如支付宝, 微信... 这种升级之后旧版本立即失效的话, 那 v2 全球工单系统里面一定很好看... 吃瓜群众妥妥的围观
artikle
2017-07-12 16:41:29 +08:00
我们都是先发布接口,再发布 APP,而且除非业务变化大,否则不会强制更新。
所以有需求变化时,先考虑能不能改造旧接口,不行就新增接口,比如以前接口 apiV1,现在变成 apiV2,这样可以兼容老版本,新版 APP 调用时就直接调用新接口,也不会有影响;
artikle
2017-07-12 16:43:52 +08:00
而且每次发布新版本一段时间后,要是没有强制更新的话,会去统计旧版本的各个版本的占比是多少,然后将没人用的版本接口废弃掉。强制更新的话,就会将所有旧接口废弃掉
zjsxwc
2017-07-12 16:46:01 +08:00
现在手机 app 不都是在老用户自己都不知道的情况下自动把 app 更新了吗?
ftexplore
2017-07-12 16:49:58 +08:00
用版本号会有什么问题?
paradoxs
2017-07-12 16:51:00 +08:00
要保留旧版本的 安卓可以强奸用户
ios 不行
bombless
2017-07-12 17:08:39 +08:00
需要考虑的东西挺多的
只能说你要是不爱兼容老客户端的话有一万个不兼容的方法
LancerXin
2017-07-12 17:34:51 +08:00
如果用户几乎没有的话可以把老 api 淘汰掉.不然然而增加维护成本.
rozbo
2017-07-12 17:39:39 +08:00
不就是一个 rewrite 就解决的事嘛。。。
mooncakejs
2017-07-12 17:41:06 +08:00
你们做 api 不考虑兼容性的吗? 不兼容的 api 不改名的吗?
polun
2017-07-12 17:43:58 +08:00
如果有 50 个版本,不敢想象 50 份代码。。。
winglight2016
2017-07-12 18:14:18 +08:00
最简单的办法就是,APP 启动时判断一下当前版本,接口不兼容当前版本就强制他升级
Lax
2017-07-12 18:35:57 +08:00
这道题里的“用户几乎没有”是关键条件,可以不保留。

但是,你做业务总要定义好以后的升级规则吧,不能每次发布都要讨论一次
lshero
2017-07-12 18:39:54 +08:00
客户端有版本,API 没有版本嘛?
qiayue
2017-07-12 18:46:06 +08:00
rewrite 大法好
freefcw
2017-07-12 19:22:20 +08:00
用户几乎没有,亮了~~
66450146
2017-07-13 01:17:03 +08:00
影响这么大的决定你们居然不是用数据支持而是拍脑袋决定的??
lzhr
2017-07-13 02:39:11 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/374820

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX