小程序的开发流程扯谈

作为TGIDEAS里的技术研发团队,我们跟其他的技术团队一样对新技术、新业务形态时刻关注,面对新的应用形态,团队结合实际业务,赶在年前发布了以下四款小程序应用:

其中“王者荣耀赛事”仅仅历经了1个月的开发时间,赶在小程序上线时发布;“王者荣耀官网”紧随其后,在上线的第二天,也发布了。

而“火影忍者赛事”沿用现成的、完整的赛事直播框架,仅仅花了8天时间,完成了策划、设计、开发和上线,这效率小伙伴们都吓了一跳。

“邻有趣”这款利用lbs找游戏好友的陌生人社交小程序,历经了一个多月的开发时间,最终也在放假前发布。

项目的输出效率略高,这背后到底遵循了怎样的开发流程,楼主今天抛砖引玉谈一谈,希望能引起大伙的一些思考,也希望能对即将或正在开展小程序开发的团队有用。

小程序在2017年1月9号全量发布,楼主团队在10月份开始着手研究小程序官网文档,12月初团队的第一个小程序项目---“王者荣耀赛事小程序”项目需求正式立项,12月20日第一个成型的版本制作完毕,以下开发流程示意图:

(有同学疑问为什么是12月20制作了第一版?当时微信公开课定在28号,我们猜其可能当天发布小程序,于是原计划定在20号时完成完整版,有充足时间提审。)

王者赛事小程序的开发流程跟网页需求的开发流程很像,主要差别为:小程序多了“版本提审”阶段

由于引入了审核机制,小程序的迭代并不能如网页那样只要开发者有发布权限就能马上迭代到线上,需经微信官方团队审核后才能发布上线,于是,测试就变得重要了。

接下来说说王者赛事小程序的开发流程遵循了简单原则:

一.前端主动驱动产品

为什么楼主建议前端主动驱动产品,主要原因在于:

1.小程序开发中前端技术比重较大

  • 对于API和组件,可由前端开发者提供可行性评估

由于小程序大部分API和组件均属前端范畴,前端开发者能告知产品经理组件和API能实现到什么程度;而对于部分涉及后端技术的API,前端开发者了解整个前后端逻辑,可跟后端开发同学一起商量如何制作接口(例如用户鉴权接口)

  • 开发模式的转变,前端架构首当其冲

小程序相比于网页,前端技术形态虽然主体开发语言未发生变化,依然可以通过编写javascript/(w)xml/css实现逻辑,但设计思路已发生大改,原本大部分网页的前端逻辑大多为面向过程式编程,而小程序是借了 HTML5 的技术栈,却跑的是传统客户端开发的模式,限制了javascript直接对界面进行控制,开发者只能通过数据驱动来间接实现界面控制。

前端开发者结合上述两点,可进一步进行技术预研,输出成型demo,并推广到产品侧,引导其结合实际业务进行需求立项,而在需求立项后的功能迭代中,又可结合现有API或组件的技术扩展性对立项功能的设计逻辑提出建议。

TGIDEAS的前端团队遵循了以上方法,在10月-11月份对小程序进行技术研究,曾输出过部分技术demo,如结合web socket的demo,以及结合实际业务数据的王者荣耀资讯demo,

(王者荣耀赛事/官网小程序原型)

为了告知相关团队我们能利用小程序实现什么,我们还撰写专门的技术文章,最终得到产品和项目侧的认可,进而策划新需求,并最终决定开发;而在后续的开发中,对于视频直播、分享逻辑等功能上均提供了技术侧以及产品侧的建议。

2.前端开发者需兼顾整个开发流程

首先,因开发需要,小程序账号的唯一运营者需要绑定为前端开发者的微信号。从最初的账号申请到最终的提审发布,以及后续的数据统计分析阶段,前端开发者都需要参与,需要兼顾整个研发、测试和发布过程。

其次,前端桥接交互、UI和后端,是各方通信的桥梁,因此,如果前端同学在此过程中主动推动整个项目的进展,项目研发速度将会有较大提升。

二.小步快跑,敏捷开发

每个功能,每个bug,在提出后的短时间内均快速实现,王者荣耀赛事小程序的开发周期之所以仅花了一个月,有赖于各方团队的极力配合,实现了快速拉会,快速拍板,快速排期,快速开发等高效工作模式。

怎样做到敏捷开发,楼主觉得只要有驱动者即可。前端可以驱动产品,所以这时候只要前端同学不要把自己的角色定义为执行者,而是定义为驱动者,在遇到问题时,不是寻求方案而是先提早预想解决方案,然后引导大家对方案进行优化即可。

三.PLAN B原则

这也是楼主在其他项目中应用的原则,意思是任何一套技术方案,最好能构想两套方案,一个是预想方案,一个是保底方案。

预想方案是大胆的假设方案,必须安排时间进行预研、突破和实现。

保底方案是必定能行的方案,一般是很简单粗暴的方法,目的是为了保证整个产品逻辑起码能形成闭环。

这么说可能有点玄乎,我举个例子,在进行王者荣耀赛事小程序时,我们有面临这么一个问题:现有资讯的数据格式没法满足小程序的数据格式要求。

我们制定的预选方案为:运营侧或者前端侧制作自动转换接口,把原有资讯内容自动转成小程序格式的内容。

保底方案为:手动转换文章格式,并沉淀入库,制作接口调用。

起初,运营开发对预选方案经过初步尝试后,并未能实现,于是我们快速切换为保底方案,让项目逻辑直接往下跑,而等到后期释放人力后,运营开发的同学其实已经攻破了难关,原本的预选方案已经能实现。

保底方案就是plan b,它不一定能用上,但它有不可磨灭的作用。

当然,这两套方案并不是只能选其一,也能同时使用。我们对热区数据埋点统计同时部署了预想方案和保底方案,

预想方案:微信提供的事件统计模块

保底方案:点击流的二次封装接口

事实是,微信提供的事件统计模块在小程序发布前期有BUG,数据有点偏差,但幸运的是我们两套方案均部署了,点击流的统计方式把热区统计的数据收集了。

上述扯谈了一下王者赛事小程序的应急开发流程和一些原则,其实在攻克这个小程序后,我们手上别的小程序项目的开发流程也就顺畅起来了,这里总结一下通用的一个流程图:

(时间的评估是以我们团队的人力情况衡量的,只做参考)

预延期部分我涂灰了,并不是说这块不重要,相反楼主觉得这块特别重要,前端的同学最好在项目开始之前做一下预研,这样有时候会事半功倍。

而在动态开发期,视觉还原环节可类比于目前网页开发中的重构环节,可对目前的重构人力进行培训进而分担该部分工作。

最后,谢谢大家关注。

原文发布于微信公众号 - MinProgram(gh_0d2d5abccc20)

原文发表时间:2017-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Albert陈凯

2018-08-01 编程十年,Java技术线路

https://my.oschina.net/u/3779583/blog/1862418

8510
来自专栏云计算D1net

云计算下的这些细分领域 你都了解吗?

云计算的“云”源于绘制互联网的网络图表时的一个习惯——会将其画成一朵云。最受认同的关于云计算含义的解释是,在一个商业供应者的数据中心上通过互联网远程运行工作负载...

37160
来自专栏微信公众号:Java团长

如何在面试中介绍自己的项目经验?

在面试时,经过寒暄后,一般面试官会让介绍项目经验 。常见的问法是,说下你最近的(或最拿得出手的)一个项目。

11430
来自专栏SDNLAB

未来,AI可用于5G网络分析

现在很多博客和供应商的论文,内容涉及5G,涉及从新媒体传输到千兆位速度再到移动设备等各个方面。凭借看似无限的带宽可能性,移动到5G的附加值很明显,但我们需要考虑...

7910
来自专栏Python自动化测试

漫谈接口测试

在前面的很多的文章对中接口测试有很多的介绍,包含了常用的接口测试工具postman,以及测试工具Jmeter(目前在持续介绍中)和使用Pytho...

20260
来自专栏程序你好

微服务实战: 从电子商务平台到微服务电子商务(Omni-Commerce)

对于企业来说,微服务比单体架构应用更灵活,尤其是零售和电子商务行业来说。了解这个解决方案面临的挑战和系统架构。

13730
来自专栏敏捷开发&项目管理

章节 2.1 可靠的软件 – 灵活,可靠的软件 使用设计模式和敏捷开发

可靠性和测试 学习目标 学习使软件变得可靠,对于想成为具有竞争力和成功的开发人员是非常重要的。本书大部分将致力于使软件不会失败的开发习惯,技能和实践。本章节的目...

34980
来自专栏程序你好

DevSecOps的三种解读

13010
来自专栏钱塘大数据

【干货】制造业如何实现大数据应用落地

制造业如何实现大数据应用落地 朱志伟 在近几年里, “大数据”已经完全占据了主流分析师和商业媒体的想象力。以大数据为基础的新一代信息驱动企业的决策正在成为主流,...

32390
来自专栏互联网杂技

30秒钟评价一个网页

当你已经做好准备要开发一个网站时,你一定希望你开发出的网站能给用户最好的用户体验。 能够准确快速的评价一个网站是一门艺术,也是一门科学,但这种艺术或科学是可以很...

36290

扫码关注云+社区

领取腾讯云代金券