2017年,微信小程序正式推出。它以“无需安装、用完即走”的便捷形式,迅速满足了用户的实际需求。面对互联网用户增长放缓的趋势,小程序成为了移动互联网从业者竞相布局的新焦点。
2018年9月,小程序·云开发正式投入运营,实现了小程序前端与云端资源的无缝连接,有效降低了运维费用,助力开发者迅速完成小程序的部署与更新。此举亦标志着相关理念在国内市场迎来了大规模的实际应用。
疯狂的一年
回首过去的一年,我们的小程序云开发团队收到的反馈中,最为频繁的便是这样的疑问:“为何XXX功能尚未推出,为何XXX尚不支持?”客户需求的不断涌现,推动着团队不断加速前行。
2019年1月,上线监控告警能力,提升产品保障性;
2019年4月,我们推出了云调用功能,此举有助于降低开发小程序的难度,同时显著提高了研发工作的效率。
2019年5月,我们推出了智能客服的解决方案,并与即速等合作伙伴建立了合作关系。
2019年7月,上线预付费能力,正式成为商用产品;
2019年8月,上线实时推送能力,切入小游戏引擎市场;
2019年9月,上线代金券和新套餐,支持企业用户灵活购买;
……
伴随着高频率的功能上新,小程序·云开发的技术逐渐成熟。
云开发技术为开发者全面覆盖了原生云端服务以及微信服务的支持,淡化了后端和运维的相关性,无需自行搭建服务器。开发者可通过平台提供的API进行核心业务开发,从而实现项目的快速上线和持续迭代。此外,这种能力与开发者目前所使用的云服务相容,不会产生冲突。
小程序·云开发是如何让前端开发者不必担忧后端构建,从而全神贯注于业务层面的开发呢?这主要得益于小程序·云开发所提供的两项核心功能:一是其基础功能,二是腾讯云依托于小程序·云开发所推出的增值服务。
小程序的云开发功能建立在微信生态之上,通过深度定制高频使用的云产品模块,为用户提供了一站式、便捷的小程序原生基础服务。这些服务目前涵盖了云函数、云数据库、云存储以及云调用等多个方面。
云函数是一种部署在云端运行的代码,它不需要开发者管理服务器,只需在开发工具中编写并一键上传部署,即可执行后端代码。在小程序中,特别设置了用于调用云函数的API。开发者能够通过云函数获取到每次调用的具体上下文信息,无需进行繁琐的鉴权操作,便可以轻松获取到可信的用户登录状态。在启用Node.js等框架构建后端业务逻辑之后,可以直接在云端进行部署,无需额外关注域名注册、服务器配置、软件打包、发布流程以及运维管理等繁琐事宜。
云数据库支持在小程序前端进行操作,并且能够在云函数中进行读取和写入JSON数据,摆脱了关系型数据库繁琐的操作模式,使得数据管理变得异常简便。近期,小程序云开发推出了数据库实时推送功能,这一功能显著提升了聊天、棋牌游戏、订单状态同步等众多需要长连接和实时交互的场景的开发体验。这一创新对于小程序功能的完善具有极其重要的价值。
云开发服务中包含了文件存储功能,允许用户将文件上传至云端,并具备权限控制的下载功能。开发者能够通过API在小程序和云函数端便捷地调用这一存储服务。此外,该服务还具备预设的域名配置和无需自行搭建CDN的优势。
通过云函数的接入,实现了鉴权的简化流程;腾讯云与微信平台均支持鉴权功能的对接,进而将鉴权过程实现自动化处理。
腾讯云依托小程序·云开发平台,输出的增值服务主要在于实现云开发与公有云服务之间的无缝连接,为小程序应用提供了多样化的场景支持。同时,它还融合了图像识别、音视频处理等功能,以及腾讯云其他基础产品的技术优势。用户只需通过模块化一键部署到云函数,无需进行后台开发,后续只需调用函数就能轻松实现所需功能。
此外,腾讯云通过小程序·云开发所提供的附加功能,在降低小程序开发所需技术要求的同时,以具体业务场景为切入点,依托云开发功能,持续降低掌握新技术的难度。在此过程中,开发者们最为憧憬的便是人工智能技术与小程序的融合。
AI场景中落地
目前,人工智能技术正深刻影响着我们的日常生活,众多开发者产生了在各自项目里融入AI技术的念头。尽管如此,由于AI技术的入门门槛较高,学习周期较长,不少开发者在小程序研发的筹备阶段便选择了放弃。近期,小程序云开发推出了AI增值服务,开发者可通过文档或代码轻松接入,此举有效降低了小程序使用AI的门槛,便于他们在研发过程中灵活调用AI服务,以满足各类小程序业务场景的定制化需求。
在需要高度实时性的AI应用场景中,由于对强大计算能力的依赖,若将既有的技术方案直接在小程序端进行运行,很可能会引发一系列性能上的困扰。那么,对于这些问题,小程序的云开发功能又是如何着手进行解决的呢?
团队将首先对项目进行技术审核,以验证其在微信小程序架构中的可行性;接着,在应用测试阶段,将对性能进行细致评估,并确保其适应各种机型和设备的内存及CPU限制;最终,在代码编写过程中,将采用单一数据类型,并通过编译等手段降低运行时的类型推断和隐式转换,以此提升执行速度。同时,通过人工操作来管理内存,旨在避免因频繁创建和释放内存而导致的性能下降和资源浪费问题。
目前,腾讯云已全面开放了小程序·云开发所提供的增值服务,其中包括AI智能图像能力。这一能力依托于腾讯云的人脸识别、人脸核身和人脸融合技术。通过云函数和存储服务,实现了素材存储、配置拉取以及服务调用-node-sdk等功能的简化。同时,还为企业量身定制了解决方案,以适应不同企业对小程序功能多样化的需求。
以“杰尼亚何谓当代男士小程序”为例,在以往为奢侈品牌开发定制化需求的过程中,D1M(第一秒)电商科技会为每个品牌构建一个专属的环境,并实施一套完整的代码。鉴于定制开发的特性,代码的复用率相对较低。在开发小程序的过程中,D1M 首先要解决的是如何以迅速且高效的方法创造出富有吸引力的互动体验,这成为了他们项目初期面临的主要难题。为此,D1M 利用腾讯云提供的基于小程序·云开发的“AI 滤镜”增值服务,为杰尼亚定制了小程序,并计划逐步推出“人脸融合”这一新功能。
新品T恤一经推出,便邀请明星为其试穿,以此吸引消费者,并鼓励他们使用滤镜进行自拍,随后将照片分享至社交平台。
微信小程序内,每张中等清晰度的图像原始数据量大约在2MB上下。然而,由于移动设备的处理能力、运行环境的算力以及其他资源的限制,若在小程序内部直接对图像进行即时计算、处理和渲染,小程序的性能和稳定性将遭遇极大的挑战。
云开发率先将自家的图像处理技术迁移至小程序平台,成功实现了图像的本地化处理,此举显著降低了网络传输中的上传与下载消耗。此外,云开发在性能和系统资源管理上的优化,使得AI滤镜的增值功能得以发挥,让小程序在短短20至30毫秒内,就能完成一张480P分辨率图像的处理与渲染。这恰恰是腾讯云依托小程序·云开发所展现出的,极具标志性的技术增值实力。