开发一款电商小程序,到底有多复杂?

年前,Souk接到一笔业务,给商家做一个电商小程序。答应老婆三月份去欧洲七日游的经费有着落了。Souk开心的很,一边订酒店和机票,一边减少春节休假,利用空闲时间加班加点,准备在元宵节前完成开发。眼看着deadline就要到了,活却越干越多,着急上火的,一口血喷在了键盘上。

说来也怪,小程序不是很好开发的嘛,还有人说一天能做两个小程序,怎么这么久还做不完呢?诸位看官,请听我细细道来。

小程序不“小”

小程序虽然名字里带个小,但它的开发难度一点也不小,需求分析、UI设计、前端开发、后端开发、集成测试、部署运维……凡是APP开发要有的流程,小程序开发也一样少不了。

电商APP就更难了。一个基础的电商小程序,要解决首页列表、商品详情、会员信息、优惠促销、物流登记、售后服务等一系列问题,而且这些问题相关关联、相互交叉,任何一个环节出了错,就会面临一个又一个大坑。

那么,像Souk这样的开发者,在承接电商小程序的活时,需要注意哪些坑呢?我们专门拜访了天鸽小程序的开发负责人Windy。Windy拥有耀眼的IT行业履历,曾带领团队苦研电商小程序。他和团队同事们,用血肉之躯,在电商小程序的开发道路上,不停地“排雷”、“避坑”,用辛勤的汗水,换来一肚子苦水,也攒下了大量的心得。

以下是笔者和Windy的对话实录:

笔者:开发电商小程序最重要的能力是什么?

Windy:钱,呵呵。只要金主爸爸肯给钱,啥都不是问题。问题是,金主都是抠成本的。所以你要节约成本,提升开发效率,最重要的是:站位要高,得有架构思维 。

要做出一个真正好用的电商小程序,必须要有全局观。最忌讳的就是脚踩西瓜皮,想到一个功能做一个功能,需要一张表再建一张表。

因为像这样的电商小程序,哪怕“天鸽商城”这种简要版的,后续肯定会面临业务上的扩展和维护,所以在一开始就必须做良好的架构设计,这是非常考验设计者对电商技术及业务整体上的理解和把控能力的。

就拿我们团队做天鸽小程序来说,首先基于业内通用主流的开源框架,整理形成一个具有130多张表单的初始架构。然后再进一步归纳、总结和并进行二次设计,形成一个大约60张表单的版本。最后在实际开发过程中,又再进一步反复迭代优化,最终我们用了29张表单。

虽然数量减少了,但是核心功能却一样不少,可以说高度精简且相当完备,能支撑电商关键业务功能,也可以很好支撑未来维护及扩展的需求。

笔者:电商小程序通常会有大量的图片,这方面的工作量大吗?

Windy:如果不考虑载入速度的话,工作量不大,但这显然是不可能的。用户的期望值是很高的,最好能实现毫秒级的响应才算流畅,所以必须有一个好的办法来处理图片。

像我们天鸽电商小程序,无论是商品信息还是列表,或者轮播,需要加载大量的图片。我们做出来第一个测试版本,只有在WIFI环境下,才有较好的响应。

要解决这个问题,后台要做压缩计算,并针对性地做不少优化工作,否则可能一张图片加载就要耗时十几秒。

笔者:我体验天鸽电商小程序的时候,发现图片响应速度还是不错的,尤其是首页轮播图加载的流畅度,比一些H5 APP的体验还好。

Windy:轮播图的技术实现,其实并不困难,但如果是开发者自己从零写起,花个两三天也是正常的。

像这种常见的技术场景,我们天鸽做了大量组件,非常好用,直接拖放一下组件就可以,几分钟就能搞定。剩下的时间,可以慢慢喝咖啡、逛街、看书、约会,做你想做的事情。

笔者:说到电商小程序,我倒是想起一个有趣的说法。据说淘宝上商品的详情页,如果代码单独打印出来的话,会有5米长。这是不是从侧面也反应了电商小程序的复杂之处?

Windy:5米的代码很长吗?在程序员的一生中,不过是沧海一粟吧。(笔者注:好高深莫测的感觉啊!)

为什么电商小程序特别复杂呢?因为它的业务逻辑多。

比方说用户买一件商品,这不是一个独立的事件,它会影响到库存的更新和支付;如果用户长时间没有付款,订单需要自动撤销;对已经发货的订单和申请退款的订单,也需要有相应的变化。上面我举到的这些例子,都是电商小程序中很常见的业务场景,这些都依赖于底层的定时任务功能。

听上去有点复杂,实际上做起来,就更复杂了。

还有一些问题,是我们在连续的测试中偶然发现,虽然对功能不会有实质性影响,但是可能会影响到用户体验,那就要毫不犹豫地去做优化。比如说,用户在火车上用着这个小程序,突然进隧道了,断网了,系统会给用户友好提示:网络不给力哦!最后我们在源码中又写了一个断网刷新机制,就是当你断网后,只要在页面下拉刷新一下,即可继续正常浏览当前页面,也就是用户很有可能完全感觉不到刚刚断过网。

这种用户看不见的优化,其实也很考验团队的较真精神。

笔者:电商小程序的商品搜索好做吗?

Windy:这是大工程。

电商小程序是要实现模糊查询的。比方说,用户想在天鸽商城买一个耳环饰品,但他可能记不起来商品准确的名称。但是没关系,你只要在搜索框输入“耳环”、“饰品”或者只输入一个“饰”字,与之相关的商品列表都会完整呈现在搜索结果栏。

做到商品搜索既准又快,并非普通开发者临时写几行代码就能做好的,天鸽电商小程序也是借助了天鸽平台团队多年算法积累、丰富的后台技术沉淀,才可以比较迅速推出此项功能。

当然,对于没有技术能力的创业者,完全没有必要从头再去琢磨一遍,因为这些能力我们已经通过天鸽小程序(tiange360.com)开放给有需要的人士了,通过天鸽即可自助生成自己的电商小程序。

如果你时间非常充裕,有志于在搜索方向深入学习的,自己琢磨琢磨也会有很大收获。

笔者:听上去没有一块是简单的。那结算和支付应该也很复杂喽?

Windy:微信支付对电商的重要性不言而喻,做电商不就为了最后支付这下吗?

但开发者要彻底搞定电商小程序里的微信支付模块,除了需要花时间研究微信官方的技术文档,还需要考虑到支付过程中牵连到的各种业务逻辑:交易明细查询、如果发生退款该如何处理、优惠券的使用、各种统计报表的变化如销量的调整等。开发者需要在完成支付功能时,一并完成这些逻辑的处理。

从结算到支付,从电商的消费者看,就是点击几下的事,但在后台实现上,却是牵连到了几乎电商所有业务表单的计算过程,全都是靠开发者一点一滴地实现出来,相当复杂。

而且,做一个完整的支付模块,也不是自己写完代码就了事,这里面你还得跟微信官方对接:首先要申请小程序号,还需要开通商户支付功能,配置微信参数及支付参数。

当然,如果在天鸽小程序上实现,微信登陆和支付都是非常省心省力的,因为我们有组件啊!拖过来稍微配置下就能用。

笔者:照你这么说,天鸽在小程序快速部署上,应该也有自己的方案吧?

Windy:感觉广告做的有点多,你不会删吧?不过你问对了,我们在小程序部署上,确实也提供了省心省力的办法。手动自行部署,即便之前有过经验,稍有不慎哪个参数出点差错,折腾几天才搞好的情况并不少见;更不消说,本身对云部署这套东西并不了解的开发者,更是异常折磨、煎熬。在这一块,天鸽小程序提供一键化上云部署的支持。由天鸽小程序自动下载并配置Docker基础镜像、数据库镜像、tomcat镜像、网关镜像等基础运行环境,以及应用服务的设置。像我们天鸽小程序,第一次部署过程花了20分钟左右,第二次更新部署花了13分钟左右。

笔者:像程序员Souk遇到的这种情况,你能给出一些建议吗?

Windy:IT界天才层出不穷,但小程序开发这种业务其实是重复劳动,没有太多的创新性。所以,应该以效率为先,单打独斗去开发没有意义,不如站在巨人的肩膀上,不仅看得更远,而且挣钱更快!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容