《壹句》的版本控制---论App前后端版本控制方法

历史文章列表:1、《壹句》正式上线

                           2、  Apple App Store发布流程以及所遇到的一些坑

                           3、《壹句》所使用的Swift第三方库

前言:

2016.10.17-2017.01.12,在辞掉工作,然后再去台湾骑行一周后的3个月内,个人开发产品《壹句》在Apple Store正式上线,本专题记录《壹句》开发的历程,中间所遇到的问题以及解决方法、心得等等,对过去三个月的时间进行一个总结。

简单介绍下我自己,理工男,硕士,坐标上海,做了两年半的金融,觉得每天重复的工作,没有成就感,又想自己做点啥,怕以后会有遗憾,遂离职,开始了《壹句》的开发,之前没有开发经验,有自学过Swift。

正文:

App上线发布前,我做了几项为了以后更好的扩展必做的事情,其中一项就是添加版本控制。

为什么要做版本控制呢?

什么是版本控制呢?

试想一下,当你的App更新时,必然会添加、修改或删除一些接口,对于这些需变动的接口,是直接在原来的接口上进行修改吗?如果直接修改了,那么对于还在使用老版App的用户,就会出现无法正常使用的情况,我们无法保证用户都在使用您最新版本的App,特别是Apple目前不允许我们按钮提醒用户进更新的情况下,所以,为了更好的用户体验,为了保证当前版本之前的至少3个版本的同时正常使用,版本控制就显得非常重要了。

《壹句》在设计的时候,考虑的比较长远,我根据阅读资料的经验,将版本更新分成两类,第一类为大版本更新,这个主要是伤筋动骨,焕然一新,大功能类的修改;第二类是小版本更新,这个主要是修改点小bug,添加点小功能,细枝末节的修改。

大版本更新的版本控制,在request header中来进行体现;小版本更新的控制,在URL上直接体现。

为了实现这两种方式结合的版本更新,需要前端后端的深度配合,下面进行详细讲述。

对于大版本更新,是加入header中的,在后端则采用JWT-Auth的版本控制功能,如下图所示:


通过修改version为V2、V3来直接控制住访问这个api下所有Router的大版本。

对于小版本更新,则在路由加Prefix的方式,在大版本控制下的路由中再去根据Prefix进行小版本的细化。

如下图所示:

在V1大版本下,修改prefix为v1.0 v1.1来控制小版本的接口。

总结下来,当需大改的时候,修改需要的Version;小版本更新时,修改允许的prefix。

访问示例就如下所示:


接口的URL和Headers中都含有对应的版本号,这样才能进行正常的访问。

以上就是我的《壹句》所使用的全部第三方库。

最后,打个我的《壹句》App的广告:

壹句的Itunes地址为:https://itunes.apple.com/us/app/yi-ju/id1189535187?l=zh&ls=1&mt=8,有兴趣的同学可以下载使用,多提意见。

壹句网站的地址为:www.91yiju.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,821评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 很多人质疑“按部就班”这个词,仿佛它墨守了陈规,局限了个性。它就是“创造力”和“新事物”的阻挠者。 可这二十几天坚...
    Niki华平阅读 454评论 0 0
  • 2017 还做最美的自己 奥道粉丝节 最潮辣妈之最美穿搭>>> 这是一个辣妈当道的时代君不见各路星妈生完宝宝之后都...
    美味和天下阅读 262评论 0 0