Skip to content

开篇词自顶向下,云端赋能:小程序的高效开发之道

你好,我是周俊鹏,做前端开发已经 6 年多了,目前我就职于腾讯云 TCB 团队,负责腾讯云开发 CloudBase 前端相关的研发和生态建设工作。我可以说是第一批次的微信小程序开发者,2016 年 9 月微信小程序团队就陆续邀请业内合作伙伴参与内测,我当时的公司就在其中。

一直以来,困扰前端开发者们的一个核心问题是对后端的依赖。 对于同时涉及前后端改动的迭代,前后端开发者的协作往往并不如想象中顺利。除去昂贵的沟通成本以外,单纯从技术角度上考量,想要实现兼顾前后端的工程化体系是非常困难的,所以现实中往往是前端一套后端一套。不仅没有达到效率的提升,反而成了阻碍。

小程序是前端开发的一种细分领域,这个问题同样困扰着小程序开发者。为了解决这个问题,TCB 团队的小伙伴做了长时间、高精度的市场调研,在不断探索、试错之后,最终推出了云开发这款产品。云开发 CloudBase 提供的各项云端能力,便是目前业内解决这个问题的有效手段。

它将运行后端服务(包括 Web Service、存储、数据库等)所依赖的设施环境、质量保障等工作全部交给了云平台,在云开发这套体系下,前端开发者也可以很轻松地介入到后端开发中,因为你不再需要传统后端开发的那些领域知识,比如操作系统、服务框架、负载均衡、高并发处理等,真正实现了全栈开发。小程序·云开发是云开发的一个细分领域,由 TCB 团队和微信小程序团队联合推出。可以说,除了微信小程序团队,我们是最了解微信小程序的一批人。

这门课由我和团队的小伙伴李冠宇共同打磨,我们会结合自己对微信小程序的理解和实践经验,从底层、工程化、生态和云原生 4 个角度分解小程序研发,希望分享给对技术有追求的你。

小程序质量参差不齐

业务是技术需求的推动力,但推动业务进行迭代的则是市场,是用户,市场对于小程序开发的需求推动力是非常强劲的。小程序开发已经逐渐成为前端开发者的必备能力之一,可即便开发者群体十分庞大,小程序偏原始化的开发模式依旧没有统一的解决方案。

也就是说,对于大部分小程序开发团队来说,2016 年小程序刚出来的时候是什么样的开发模式,现在依旧是什么样,这明显是落后的。反过来看,微信小程序团队已经在工程化、体系化、甚至是云端一体化方面有了很大进展,开发者们并没有完全跟上官方的脚步。

你想想看,现在 Serverless、云原生等新的概念层出不穷,并且部分实践模式已经得到了市场的检验,在这样的时代背景下,如果我们还仍停留在原始的开发模式之下,研发效率很难得到提升。研发效率提升不上去,会对整体的产研体系造成拖累,拖慢产品的迭代和交付,进而间接降低产品的市场竞争力。

除了低效率的开发模式,较差的用户体验也是影响小程序质量的一个主要原因,比如渲染缓慢、交互卡顿、响应时延高,等等。所以,要想让你的小程序足够优质,你需要保证两个重要的技术要素:

  • 开发效率要高;

  • 良好的用户体验。

开发者们要怎么做?

作为一名小程序开发者,即便不去考虑团队、体系和产品这些因素,单纯想得到一份更好的工作,提升用户体验和开发效率也是十分必要的,这两点是你提升自身竞争力的核心,是能够让你从残酷的就业市场脱颖而出的"必杀技"。

那具体你要怎么做呢? 在我看来,主要有这样三点:

  • 提升小程序的用户体验着重细节,需要掌握小程序底层的一些基本原理和使用技巧,以及微信小程序提供的一些工具和服务,比如微信开发者工具中的体验评分功能会给到你一些性能优化的建议。

  • 提升开发效率着重整体,你可以从研发流程着手搭建完善的工程体系,甚至通过收集小程序的一些非私密数据为后续的迭代提供数据基础。

掌握上述两点能增加你的竞争力,毕竟任何企业在招聘高级开发人员或者 Leader 时,都不会只要求应聘者熟练使用某个框架的 API,而是要同时具备对细节和大局的掌控能力。

  • 再进一步,将你的能力边界扩宽,通过云开发 CloudBase 的云端赋能独自完成小程序前后端的所有工作,玩转小程序的云 + 端一体化。

除了小程序端,你的视野会向多端应用发展,这时你会发现云开发在支持多端开发方面表现出色。可以尝试一下访问云开发控制平台,一键部署一个 WEB 应用感受一下云原生在开发应用中带来的便捷体验。

总的来说,在云的时代,端侧开发者的能力边界被大大拓宽,以往只关注交互逻辑的端侧开发者,可以以相对较小的成本融入业务逻辑层甚至数据层,前后端传统的分工模式被打破,职能结构重组,可以提升整体研发效能。

这是一个必然的趋势,无论是小程序开发者(前端开发者),尽早地接纳相关技术和实践能够提升自己现有以及未来的核心竞争力。

我是怎么设计这门课的?

为了更容易理解,这门课程将由浅入深,层层递进,从"自顶向下"和"云端赋能"两个维度展开。

"自顶向下"指的是这门课的行进路线,大部分的课程是"自底向上"的,先从基础讲起,然后一步步切入应用层。比如应用开发的教学,先从数据库学起,然后是后端服务编程,最后是前端编程。这种授课方式越到后期越容易理解,缺点是前期略显枯燥,很容易让人对知识点的具体用途感到迷惑并且很容易遗忘。

而自顶向下的课程是前期快速上手并积累兴趣,然后一步步挖掘背后的知识。这门课就是从小程序最表层讲起,然后讲解我们在小程序工程化体系搭建方面的经验。

"云端赋能"指的是在小程序端侧开发的基础之上,进一步拓宽你的能力边界 ,通过云开发的云端赋能,让你掌握从前到后完成一个完整小程序的所有必备能力。职能细化的初衷原本就是为了让专业的人做专业的事,进而实现整体角度的效率加成。

根据这两个维度,我将课程划分为四个模块:

  • 模块一是小程序最表层的基础知识,包括双线程模型、授权模型和自定义组件,掌握这三点之后你基本具备了一个中高级小程序开发者的知识储备。最后,我还会借助小程序开发者工具 DevTools 来讲解小程序性能优化的要点。

  • 模块二从整体的角度如何建设小程序开发的工程化体系,其中数据监控和无埋点统计虽然开发成本不算太高,但收集的数据对后续的迭代提供现实依据,能够令业务的迭代方向更健康。

  • 模块三是我们团队在近几年收集到的,小程序开发者遇到的问题反馈率最高的几种技术场景,比如怎么运用订阅消息功能做好用户留存,我会在这个模块里分享我们以及腾讯内部其他技术团队在这几种场景下的开发经验,给你提供解决问题的经验思路。

  • 模块四是核心模块,讲解在当前云原生和 Serverless 时代背景下,云开发对于小程序开发的云端赋能和效率加持。虽然仍然聚焦于小程序,但实际上这部分内容已经超脱了小程序范畴,其核心理念适用于任何端应用开发领域,包括 Web、App、小程序,甚至桌面端应用。通过这个模块,你将学习云开发的各项云端能力,包括数据库、函数、存储等基本能力,以及监控、告警等可用性保障措施。

除了这四个模块,最后我会带你综合模块一到四的内容完成一个完整电子商城小程序,这部分需要你暖暖身动动手,实践和巩固前面的知识。

讲师寄语

总的来说,我们希望将自己以及团队在小程序,甚至端应用开发领域所积累的知识,通过这门课程分享给你。我们现有的经验和能力,都是在前行者们一路上勇于探索和试错的基础上,沿着他们的足迹继续拼搏而来。

在感谢这些前辈的同时,从我个人和团队同事们的角度来说,我们也非常希望将自身所得分享给你,进而令应用开发这一领域朝着持续、健康的方向发展下去。

也许你之前没有深入了解过小程序开发,也许你是一位技术大牛,不论你是哪种情况,我相信你都能在这门课里学到一些新的知识,那么你是否也有勇气接受这份充满希冀的事业呢?


《大前端高薪训练营》

拉勾直推机会+硬核实战干货,6个月助你轻松斩获高薪 offer。点此链接,快来领取!