用微信可以聊聊天,逛逛朋友圈,看看公众号的推文,似乎也没有什么很复杂的功能,然而根据2020年数据,微信团队(包含非开发岗)已经超过1500人。为什么一个简单的微信,却要这么多开发人员?
当你告诉一家软件开发公司,想做一个类似微信的App时,绝大多数公司都会委婉的拒绝你。
不要其他功能,只要能聊聊天,软件开发公司源码版报价也在几十万上下,严重超过了预算,如此高昂的价格,是因为IT市场的不透明,还是软件本身溢价太高?
我们以微信上一个小的不能再小的功能——红包为例,看完整个红包系统架构,也许对软件开发这件事,就会有一个全新的认识。
表面上看,给朋友发送红包是一个再简单不过的功能,点击“红包”按钮,输入金额发送出去,朋友看到消息,点击按钮接收红包即可。
其实,根据微信支付商户系统开发组组长王鹏的说法,红包系统由三部分组成:信息流、业务流和资金流。这三部分的组织架构由不同的后台团队完成。
信息流主要包括用户操作以及红包消息在不同的用户、群中流转;业务是用户发红包、抢红包和拆红包的业务逻辑,比如用户发送红包的扣款顺序,随机红包随机的金额范围等等。资金流是发拆红包背后的资金转账、入账等流程。
除了红包系统的架构外,还需要考虑并发量的问题,尤其是春节等节日,用户发送红包频率增加,开发人员需要使用各种技术,保证系统运行稳定。
同时还要保证资金的安全,例如怎么防止红包的金额被篡改、未被领取的红包被入账给用户,红包被重复领取等等。
一个小小的红包功能,蕴藏着很多逻辑和技术手段,更别说微信的其他功能,还涉及多端同步等问题,开发量远不像表面那么简单。
微信的开发成本,可以说是一个天文数字。
当然,微信用户量大,对用户体验的要求高,如果没有这两个条件,开发一个简单版本的,类似微信的即时通讯app没有那么难,成本也会低很多。
如果你不了解软件开发行业,在找软件开发公司谈业务时,很容易问出一些浅显的问题,可能不能达到自己的目的。
蔚可云列出了几个比较常见的问题,给大家做个解释。
1.用户量大、并发量高的难度
很多时候,功能开发起来并不复杂,但因为要考虑用户量、并发量等因素,使整个开发时间增加,成本上升。如何理解用户量、并发量与开发成本的关系,可以试着这么理解:请1个人吃饭很简单,请100个人吃饭需要有人专门负责,试想一下请100万人吃饭的难度……
2.能不能加快进度
在同一个开发团队负责的前提下,开发进度很难有质的提升,一般只能通过加班解决,增加人手有可能适得其反,就像一个女人十月怀胎,十个女人一个月并不能剩下一个孩子一样。
3.开发一个App多少钱
这是最容易问软件开发公司的问题,其实这个问题跟一套房子多少钱一样,很难给出答案。开发一个软件的价格受到开发周期、人工成本、开发难度等多个因素的影响,只能和软件开发公司沟通,明确具体的需求才能确定。