视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
豌豆荚范怀宇:我们在豌豆荚2.0重构时遇到的坑
2020-11-09 07:28:21 责编:小采
文档


在豌豆荚2.0上线后,我们的装机量从8个月前的2500万,增加到现在的6000多万。豌豆荚2.0的开发周期用了漫长10个月的时间,尽管早知跟前作相比会有很大提升,但这个结果还是让我们稍微有点骄傲。 豌豆荚1.0版本出现了什么问题才促使我们决定要重做一个新版本豌

在豌豆荚2.0上线后,我们的装机量从8个月前的2500万,增加到现在的6000多万。豌豆荚2.0的开发周期用了漫长10个月的时间,尽管早知跟前作相比会有很大提升,但这个结果还是让我们稍微有点骄傲。

豌豆荚1.0版本出现了什么问题才促使我们决定要重做一个新版本豌豆荚?新版本的豌豆荚的技术构架是什么?我们遇到什么困难,又是如何解决的?我们把开发豌豆荚2.0的思路和解决方案整理成文字分享给各位,希望对大家遇到类似问题有所帮助。

图:豌豆荚2.0操作界面

豌豆荚1.0:快速搭建的“积木”

豌豆荚2010年4月正式对外发布第一个测试版本,此后用户在不断增加,到2011年2月份取得了100万安装量的成绩。

图:豌豆荚1.0操作界面

这是豌豆荚1.0的样子,我们在上面尝试了很多功能,做了很多不同的探索,同时也希望把整个操作界面做得更简单,功能匹配得更合理。不断的尝试得到了用户的认可,到2011年的10月,我们有了1000万的安装量,直到今年2月份豌豆荚2.0正式发布的时候,已经有了2500万的安装量。

图:豌豆荚1.0装机量曲线图

我们的用户数量一直处于高速增长状态,但为什么我们非要把整个豌豆荚停下来重做?

其实很重要的原因是:为了最早的快速试错和验证需求。豌豆荚1.0版本在我们看来就好像是乐高玩具,简易、灵活,但是终究无法成为我们希望中的高性能跑车。当我们想在上面加更多新功能时,却发现1.0有一个很严重的问题——代码耦合非常严重:由于不断尝试功能又缺少对质量的监控,导致到了去年4月份,我们再想往上面加任何新功能变得异常困难,牵一发而动全身。

另外一个问题是,早期为了快速的尝试产品想法,我们选择使用.Net平台,这确实给我们做探索和新功能带来了很大的便利,但.Net平台的一些局限性也给豌豆荚1.0版本带来了不少严重问题,比如性能问题、应用启动慢、CPU占用高以及内存大等。

记得我们在做豌豆荚1.0的时候,由于启动速度过慢,不得不在启动时加了一个splash页,上面写着:如果你数到7,豌豆荚就会启动。但是如果你在一台配置一般的机器上,你可能数到10,数到20,豌豆荚都没办法启动。基于如此种种问题,考虑到豌豆荚今后的发展,我们觉得有必要停下来,先把现有的功能做好,所以我们选择了重构。

下载本文
显示全文
专题