如果你来开发一个微信,技术难度高不高?
更新时间:2020/11/3 14:09:24 作者:永佳软件
最近,知乎上关于「腾讯开发微信技术花了多少钱,究竟技术难度和难点有多高?」这份帖子引起了诸多关注,不难看出,当普通人膜拜的对象成为「明星、富二代、高官」时,程序员们心中依然是「张小龙」等殿堂级的代码高手。如果有人问起他:「开发一款像微信这样的App需要花多少钱?技术难度高不高?」,你觉得应该如何作答?
一、白天如何能懂夜的黑?
先来这么一个比喻:
道具:肉夹馍。人物:摊主、顾客。
正常来说,顾客需要的是一个肉夹馍。
但也有的时候,顾客上来会上来就说:
给我来两万个肉夹馍。(内存过载)
给我来1.356个肉夹馍。(处理精度不足)
给我来俩,一个不要肉,一个不要夹馍。(蓝屏)
不要肉夹馍,给我来条狗。(这个摊位崩溃了)
然后,当这个摊位真崩溃的时候,顾客通常的做法就是——用力拍打摊位,边拍边喊「破程序,怎么回事?」旁边人还不停地劝他,不行就重启吧。
所以,你说,当用户找软件开发公司谈业务,价格从几百元到几万元不等,究竟是用户与软件开发商之间的信息不对等,还是说软件开发的技术难度有多大?
有一点问题很重要:白天确实不懂夜的黑。在与不懂IT的客户谈需求和报价时,详细的信息沟通就显得极为重要。
二、有价无市才叫溢价
从「微信开发成本」这件事儿来讲,其开发成本之高、开发难度之大基本上得到多数认可。道衍天机认为主要有以下几点原因:
首先,往往一个很简单的功能需要反复修改,在研发过程中也可能会不断推翻之前的设计想法。因为,一款用户体验好的软件不仅要平衡用户满意度,同时也要引导用户,提高用户活跃度和留存率。尤其是大公司的应用软件,每隔一段时间都在不断优化和迭代,也是为了提高用户留存率。
此外,移动设备不同、操作系统不同,甚至版本号也各异,如果你是小公司的产业研发团队成员,那么功能代码写完可能仅是此次项目的其中一款内容,如何解决好不同移动设备的兼容新问题仍是不小的挑战。
再者,诸如有些无法独立实现的功能如消息推送,就需要跟第三方移动设备厂商进行合作,同样也需要投入一定的资金成本。
还有一点非常重要的是,在庞大用户基数的情况下,必然要处理高并发问题。从微信2017年8.89亿月活用户,1000万公众号的数据可以看到,微信并不只是一款前端的App,它的正常运转需要后端大量服务器的支撑,需要存储空间的支持。
对此,李明阳的回答发人深思:“很多东西的难度,是随着需求变化的”,正如小白用户需要的仅是便宜好用,而成熟用户已从功能需求上升到战略层面,如何获得与自身业务快速增长相符合的后端系统支撑?如何满足用户更加复杂的业务场景需求?如何处理高流量下的负载均衡?
如果说是IT产业的溢价太高,不如换个角度思考,高投入换回来的是高价值回报,“只要能成交,就是合理的价格,有价无市才叫溢价。
三、自己做开发难度不小
很多用户尤其是行业用户,当一款App产品很难满足自己日渐增长的业务需求,或者说市面上普遍产品都用得比较糟心时,外包的方式似乎不太可取,用户往往会“下海”尝试自己单干,成功的也有,但往往难度不小。
你首先得了解开发一款App需要哪些环节吧?从可行性研究、需求调研分析、产品规划、UI设计、技术研发、程序测试,到使用和运维阶段。
然后,你还得了解行业中流行的几款移动开发方式,同时也需要时刻关注这类技术的发展趋势。
从2016年7月移动信息化研究中心的一项数据显示,基于H5以及混合模式的移动开发技术已逐渐在市场中占有优势地位;原生模式的选择比例在逐年萎缩,但应会有一丝生存余地。
程墨Morgan提到,为了开发一款像样的软件,需要专人做市场定位、需求分析,专人做架构设计,更需要更多专人来写代码……而所有这些“专人”都是有着多年的教育和经验积累的,但说人力成本就已经直线上升。
四、一切以用户价值为依归
以微信生态中小程序的开发框架为例。
微信小程序技术架构图
基于Web规范,采用HTML、CSS和JS等搭建的一套框架;基于多个webview实现UI视图和逻辑处理;借助JSBridge实现对底层API接口的调用。对于技术开发者而言,小程序的开发模式仍然值得商榷。
同时,小程序在Web兼容性、开发环境稳定性、真机调试环境、闭源状态,以及配套的工具链上都存在暂时的不完善。
自带流量属性、连接线下场景、原生App替代品,在经历了围观、追捧、跌宕之后,小程序仍在寻找商业化的道路。
回到一开始的问题,如果现在还有人在纠结于“开发一款类似微信的App需要花多少钱”时,你大可告诉他“一切以用户价值为依归,用户价值是第一位的”。