• 全国免费咨询热线: 400-0931-058
  • 十年成长 领新动态

    如果你来开发一个微信,技术难度高不高?
    2018-08-17 16:40

        最近,知乎上关于「腾讯开发微信技术花了多少钱,究竟技术难度和难点有多高?」这份帖子引起了诸多关注,不难看出,当普通人膜拜的对象成为「明星、富二代、高官」时,程序员们心中依然是「张小龙」等殿堂级的代码高手。如果有人问起他:「开发一款像微信这样的 App 需要花多少钱?技术难度高不高?」,你觉得应该如何作答?

        一、白天如何能懂夜的黑?

        先来这么一个比喻:

        道具:肉夹馍。人物:摊主、顾客。

        正常来说,顾客需要的是一个肉夹馍。

        但也有的时候,顾客上来会上来就说:

        给我来两万个肉夹馍。(内存过载)

        给我来 1.356 个肉夹馍。(处理精度不足)

        给我来俩,一个不要肉,一个不要夹馍。(蓝屏)

        不要肉夹馍,给我来条狗。(这个摊位崩溃了)

        然后,当这个摊位真崩溃的时候,顾客通常的做法就是--用力拍打摊位,边拍边喊「破程序,怎么回事?」旁边人还不停地劝他,不行就重启吧。

        所以,你说,当用户找软件开发公司谈业务,价格从几百元到几万元不等,究竟是用户与软件开发商之间的信息不对等,还是说软件开发的技术难度有多大?

        有一点问题很重要:白天确实不懂夜的黑。在与不懂 IT 的客户谈需求和报价时,详细的信息沟通就显得极为重要。

        二、有价无市才叫溢价

        从「微信开发成本」这件事儿来讲,其开发成本之高、开发难度之大基本上得到多数认可。道衍天机认为主要有以下几点原因:

        首先,往往一个很简单的功能需要反复修改,在研发过程中也可能会不断推翻之前的设计想法。因为,一款用户体验好的软件不仅要平衡用户满意度,同时也要引导用户,提高用户活跃度和留存率。尤其是大公司的应用软件,每隔一段时间都在不断优化和迭代,也是为了提高用户留存率。

        此外,移动设备不同、操作系统不同,甚至版本号也各异,如果你是小公司的产业研发团队成员,那么功能代码写完可能仅是此次项目的其中一款内容,如何解决好不同移动设备的兼容新问题仍是不小的挑战。

        再者,诸如有些无法独立实现的功能如消息推送,就需要跟第三方移动设备厂商进行合作,同样也需要投入一定的资金成本。

        还有一点非常重要的是,在庞大用户基数的情况下,必然要处理高并发问题。从微信 2017 年 8.89 亿月活用户,1000 万公众号的数据可以看到,微信并不只是一款前端的 App,它的正常运转需要后端大量服务器的支撑,需要存储空间的支持。

        对此,李明阳的回答发人深思:“很多东西的难度,是随着需求变化的”,正如小白用户需要的仅是便宜好用,而成熟用户已从功能需求上升到战略层面,如何获得与自身业务快速增长相符合的后端系统支撑?如何满足用户更加复杂的业务场景需求?如何处理高流量下的负载均衡?

        如果说是 IT 产业的溢价太高,不如换个角度思考,高投入换回来的是高价值回报,“只要能成交,就是合理的价格,有价无市才叫溢价。

        三、自己做开发难度不小

        很多用户尤其是行业用户,当一款 App 产品很难满足自己日渐增长的业务需求,或者说市面上普遍产品都用得比较糟心时,外包的方式似乎不太可取,用户往往会”下海“尝试自己单干,成功的也有,但往往难度不小。

        你首先得了解开发一款 App 需要哪些环节吧?从可行性研究、需求调研分析、产品规划、UI 设计、技术研发、程序测试,到使用和运维阶段。

        然后,你还得了解行业中流行的几款移动开发方式,同时也需要时刻关注这类技术的发展趋势。

        从 2016 年 7 月移动信息化研究中心的一项数据显示,基于 H5 以及混合模式的移动开发技术已逐渐在市场中占有优势地位;原生模式的选择比例在逐年萎缩,但应会有一丝生存余地