移动笔记:微信第1款小程序诞生记

QQ20161204-1

微信小程序从9月21日开始内测以来,已经变成全社会关注的焦点,关于小程序的无穷想象力,巨大的商业市场空间,资本的趁势追捧,对App的冲击都是大家讨论的重点。

11月23日,微信商学院邀请了微信第1款小程序的开发团队——腾讯自选股团队做了公开分享,微互动之后又与自选股研发团队进行了一次深入的沟通,本文带大家回顾第1款小程序诞生背后的故事,解答一些大家关心的问题。

人物介绍:
Poppy:腾讯自选股产品经理
小K:腾讯自选股首席开发工程师
产品介绍:

腾讯自选股是一款提供证券股票投资的App,提供股票走势、股票动态、股票交易、财经热点等功能。

事情的开始,要从7月底说起。

1.五虎争峰

  • 7月29日,自选股团队收到微信的邀请,要求结合自选股做一个Web+的应用作为测试
  • 7月30日,完成产品方案设计,签署保密协议
  • 7月31日,从北京飞到广州TIT创意园,微信总部
  • 8月1日,作为首批5个内测团队,自选股团队要求在5天内完成Web+版本的Demo

这个时候自选股团队并不知道微信团队给他们的Web+框架就是日后的小程序,只能隐隐的猜测。

按照他们最早的产品设计计划:第1天做登录、第2天拉取自选列表、第3天个股详情页搭建、第4天测试、第5天提交Demo。5天的时间很紧凑,但应该也足以完成最核心业务的开发。

真正进入开发之后,Poppy和小K发现当时的微信Web+框架非常的不稳定,此时距离微信Web+框架的研发,只有一个半月。例如无法自动适配多种手机尺寸,甚至没有代码调试报错功能,作为一个全新的开发工具,所有内测团队都很不适应,学习和适应就花掉了较大的精力,在没有报错的情况下只能肉眼检查Bug。

这导致自选股团队原定第1天完成的登录功能直到第3天中午才完成,于是真正的开发时间由原来的5天压缩到2天半,压力巨大。

在剩下的2天半里,自选股团队进入疯狂通宵加班模式,同时在微信团队的协助之下,到第5天,完成了Web版自选股的Demo,其中包括最为核心的行情、自选股的排序、绘图功能,甚至还往里偷偷加了个彩蛋。

到8月5号时间截止时,自选股是5支内测团队里100%完成当初产品设计的团队。

后来微信的技术负责人也坦言,其实5天时间内是否能开发完,他们也不确定,只能给内测团队最大的支持,协助开发所需的组件。同时他们也知道自选股的业务里5支团队里最重的,不但包括实时行情,还包括底层的绘图能力、自定义列表、主动刷新等功能,Web+框架能否承载这些功能,大家都是带着问号往前走的。

2.推倒重来

回到北京以后,自选股扩充了Web+版的团队,从3个人增加了两个前端一个设计师到6个人,重新思考了微信版的自选股和App要有什么不同?

经过讨论,他们重新出了设计,将产品简化为只有一个自选列表以及添加自选列表的功能,去掉了行情页、资讯、股票圈、设置等复杂功能,真正达到张小龙所说的“即用即走”、“小而美”。

于是自选股团队推倒自己的Demo版本,进行了第二次开发,此时微信团队的框架已经可以支持较多的功能,例如生命周期、绘图功能、上报日志、调试报错等。

到8月16日,第二版自选股微信版基本完成,他们准备向微信高层提交这个新版本。

紧接着令他们崩溃的事发生了:8月17日,微信发布了Web+ 2.0

按正常来说系统升级往往都是向下兼容的,只需要调整适配就可以了。但Web 2.0相对于前一个版本是颠覆式的更新,完全不支持旧的代码编写方式,只支持新的编写方式,这相当于完全换了一种开发语言,之前学习摸索的工作几乎前功尽弃,之前的内测版本到了新的开发环境里各种不兼容,原先经过精心设计的UI直接白屏……

而距离给微信团队的2号人物Harvey评审只剩下不到2天时间了。

自选股团队只能通宵赶工了,32个小时连续加班,重新改代码、改UI、改Bug,所有的页面,所有的功能,所有的交互都重新做了一遍,终于赶在晚上10点的时候交给了Harvey。

此时有件让他们非常感动的事:在腾讯内部的OA上,微信团队的成员自发成立了一个群,叫做“全力支持自选股”,让Poppy和小K感觉到压力倍增,他们估计自己应该是拖了5个团队的后腿了,所以才会被这么“优待”。为了不给OMG事业群丢脸,只能拼了,最终当全新改版后的自选股重新跑通的时候,大家在办公室里大喊大叫起来,团队6人都高兴得疯狂了。

后来,他们才知道,自选股是当时5支团队里唯一完成的,也是提交给Harvey评审的唯一应用。

接下来,自选股的Demo要提交给张小龙看了。

QQ20161204-2

补充信息:这个Web+ 2.0版本其实是现在的小程序真正意义上的第一个版本。已经有了现在小程序的雏形了,支持了生命周期,包括canvas在内的各种组件,开发的稳定性也好了很多。

自选股还为今后小程序的开发制定了一个重要标准,就是小程序的编译包大小不得超过1M,原因是自选股小程序提交给张小龙看时,整个编译包只有510K,以自选股这种相对重的业务模式都可以压缩到500K,那对于其他的小程序来说,2倍的大小,1M的限制完全足够了。而且这样的大小对于iOS和安卓App动辄50M以上有明显的优势。

QQ20161204-3

此时的小程序还不支持动画功能,但对于股票应用来说,任何一支股票的异动都需要以马上看到变化,否则对于用户来说是致命的缺陷,也让小程序在App面前优势全无。在给张小龙看之前一周,自选股团队向微信团队建议支持动画功能,很快微信团队就完成了,所以张小龙看到的版本当中自选股小程序中的股票一旦发生价格变化会自动闪烁,提醒用户重点关注,也让小程序的功能更加完善了。

我们都知道微信现在功能迭代相对较慢,都是非常谨慎的推出新功能,正因为如此,微信的每个新功能都会受到大家的较高评价和关注。其实在微信团队内部做了大量的功能开发和试错,甚至有过非常激进的做法。

微信做了一次激进的尝试,主要原因是想让小程序体验做到最好,纯native渲染的后果是前端开发只能使用有限的css3语法,使得布局工作很困难。(过滤的原因是css3很多语法在iOS和android的布局渲染中是无法解释清楚的)所以在跟微信团队沟通了这个问题后,小程序回滚了这一个版本,继续支持CSS渲染。

这时的小程序已经达到了与原生App以假乱真的程度,对于普通用户来说,如果不事先说明,从体验上来说,根本无法分辨两者。

3.小程序面世

当自选股的小程序给张小龙看完之后,Poppy和小K好几天都没有收到反馈,他们内心非常忐忑,担心是不是小龙觉得不太好,还有很多意见要改?

过了几天后,微信团队反馈的意见是,张小龙觉得还不错,之后就不再提技术是否实现的问题,而是重点考虑方向和产品的问题了,也就是准备面向公众推出了。

接下来,微信团队开始了和苹果的谈判,在2016年1月11日微信公开课PRO上,张小龙透露即将针对程序员推出“应用号”,而最终的谈判结果是苹果不允许使用这个名字,才改名为“小程序”。而且据说当时给苹果团队作为演示的应用也是自选股的小程序,苹果团队看完之后,同意了微信中加入小程序的功能。

至此,小程序主要的准备已经完成,即将开放。

9月19日,部分公众号收到了小程序的内测邀请,据说第一期只有200个邀请名额,都是张小龙一个个确认的。

9月23日,微信团队正式宣布小程序进行内测,全网震动。也是在这个时候,Poppy和小K才知道小程序的名字,也才知道自己此前做的“Web+”就是小程序,回顾经历了小程序从0到1的过程,自选股团队倍感荣幸。

在此前的22日,一则微信小程序的内部视频流出,彼时关于小程序的体验和入口的问题大家都在猜测,而这则视频给了大家非常确定的信号,也可以直观感受到小程序的打开速度之快,体验流畅度不输于原生App,视频画面中显示的就是自选股的小程序。

QQ20161204-4

4.生态渐丰

自从9月23日微信宣传小程序进行内测,11月3日小程序开放公测,市场对于小程序的讨论和研究不断。相关的小程序开发团队,各家自发组织的小程序黑客马拉松开发比赛,小程序开发培训,甚至有投资机构成立了专门的基金扶持小程序。

大量开发者的介入也让小程序的生态丰富起来,充盈着小程序的应用场景,拓展小程序的想象力。

11月23日,受微信商学院邀请,在微信开发者培训班上,小K作为分享嘉宾,分享了如何优化小程序,以及现在小程序的限制与问题,自选股团队是如何解决的。这也是微信第一次邀请其他BG的同事分享小程序优秀案例。

评价

小程序的开放让微信内部的生态更加完备,同时也让企业不仅把微信当作一个媒体平台,而是让更多的企业将自己的产品接入进来,提供服务。 订阅号提供内容和资讯服务,小程序提供技术和产品服务,各司其职,不可或缺。

而且微信作为创业者的首选平台优势更加明显,订阅号让内容创业、小程序让技术创业的成本急剧降低,上线速度和更新频率大幅加快,快速迭代快速试错,一个版本通用于iOS和安卓平台,整个社会的协作效率将会有巨大提升。

引用可能吧CEO、前极客公园CEO阿禅的判断:

还是那句老话,创业先做微信号

微信已经是中国最大的互联网入口,小程序的推出,将让它占领更多用户场景和用户时间,从做生意的角度来考虑,用户在哪里、用户更多时间花在哪里,就应该在哪里构建入口

此外,给大家补充一些值得注意的小程序的小知识:

➀小程序适合低频、刚需的工具类应用,不合适内容类应用;

➁原先做服务号开发的会转投小程序,因为功能更强大,体验更好;

➂小程序不可主动推送消息,但可以使用消息模板被动推送消息;

➃小程序无法添加外链,无法分享到朋友圈,无法长按识别二维码;

➄小程序可以在后台运行,并且记忆之前操作,所以中间接电话或者回复消息并不会打乱小程序的进程;

➅小程序可以支持交易,对于丰富腾讯的电商有重要作用;

➆游戏类、直播类的应用不会出现在小程序中;

➇对团队的敏捷性要求很高,一般3-5人的团队1-2周就可以开发完;

⑨小程序占好名字非常重要,但不支持SEO,一个小程序只有5个左右的标签,审核会很严格;

⑩今后会有专门的小程序开发员岗位出现,或者大量的外包小程序团队;

⑪小程序顶部不允许加刷新、搜索等操作;

⑫小程序最多支持5层页面层级关系,产品设计上需要简化页面的层级关系,技术上也可通过redirect等方法来实现;

⑬小程序对于对前端开发是重大利好,会使前端能力大大加强,市场上的前端人才也将更加抢手;

⑭小程序相比于App更适合O2O推广,具有下载快,成本低的优势;

⑮小程序将大幅降低创业成本。

分享 :