当前位置:Gxlcms > mysql > 豌豆荚范怀宇:我们在豌豆荚2.0重构时遇到的坑

豌豆荚范怀宇:我们在豌豆荚2.0重构时遇到的坑

时间:2021-07-01 10:21:17 帮助过:47人阅读

在豌豆荚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,豌豆荚都没办法启动。基于如此种种问题,考虑到豌豆荚今后的发展,我们觉得有必要停下来,先把现有的功能做好,所以我们选择了重构。

人气教程排行