首页
学习
活动
专区
工具
TVP
发布

小程序云开发的原理和实践应用

5 篇文章
1
小程序开发指南
2
微信“小程序云”(云开发)简介与初体验
3
浅析小程序云原生数据库设计与应用
4
云开发在微信读书中的应用
5
【小程序+云开发】实战:一天搭建小型论坛

小程序开发指南

微信小程序是一个低门槛、流量巨大、公平竞争的优质营销平台,这些特性满足了商家对于产品营销的基本渴求,随着小程序用户的逐渐积累和沉淀,微信小程序的盈利风口已经开启,在2018年,也将迎来它的最佳红利期。那么,对于开发者而言,如何敏捷、低成本的开发一款火爆小程序?

云端:腾讯云微信小程序解决方案

微信小程序自发布以来,微信平台上已经出现了不少现象级小程序和小游戏,这些火爆小游戏的背后,离不开微信小程序的云端解决方案,为“跳一跳”这类小游戏的云上部署、网络架构和安全系统提供强有力的技术支撑。

本文从小程序的核心架构、开发者工具方案和微信小程序的云上实践等方案,详细讲解了小程序开发过程中的常见问题,以及小程序快速开发和部署实践,为开发者提供了一些小程序敏捷开发的思路方法。

小程序核心架构分析

小程序的实现原理

小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。那么,小程序是如何实现的呢?

首先来看一下小程序的实现核心架构,如下图,第一层是小程序的渲染层,即Webviews,主要负责;第二层是逻辑层,主要是通过业务逻辑实现登录功能和支付功能;第三层可以理解为微信原生的能力,微信将很多的丰富的原生客户端以及网络、储存、登录、组件和硬件等能力提供到了给了开发者,存储包括文件的读写、音视频的读写等,组件即开发常用的组件,包括音视频的录制,还有摄象头,还有拍照、扫码等等。

这些原生能力和渲染层以及逻辑层之间,通过事件以及返回数据进行消息的传递及调用,当用户在界面上进行操作时候,会触发相关事件,传递到原生Webviews,再到业务逻辑层。微信小程序事件处理部分包含四个板块:

  • Publish:Service 发送数据给 View(组建内部使用)
  • Subscribe:Service 监听 View 事件(点击事件等)
  • Invoke:Service 和 View 触发 Native 层(调用 wx.api)
  • On:Service 和 View 订阅 Native 层事件(监听系统事件)

开发者工具方案介绍

在做小程序环境配置过程中,开发者需要准备自己的服务器,因此需要花费很多精力在服务器运维以及周围环境的部署上,而无法专注于小程序的业务开发。为了让开发者从繁琐的配置上解放出来,腾讯云发布了腾讯云微信小程序 Wafer 解决方案,帮助开发者更加便捷的部署和调试服务器。

因为企业级和个人开发者小程序的诉求不同,腾讯云为了满足多方需求,分别定制了基于企业级的 IaaS 能力的解决方案Wafer1和针对个人开发者的快速、方便、低门槛的解决方案Wafer2。

  • Wafer1提供了一台业务服务器和一台会话服务器,业务服务器来部署和处理业务相关的逻辑,而会话服务器则用来独立处理与用户会话(登录注册等)相关的逻辑,业务与会话的分离有助于用户将来对小程序后台进行扩展,这样就解决了服务器部署的问题。
  • 使用 Wafer1,用户需要独立使用 FTP 等传输工具将代码传输到服务器上,并通过 SSH 命令行的形式部署代码,这需要用户有着 Linux 乃至运维等知识,门槛较高。Wafer 团队在内部分析这个问题之后,抛弃了原先直接将服务器所有权交给用户的方式,由腾讯云统一部署和托管服务器,基于服务器封装多种语言运行环境(目前支持 Node.js 和 PHP),将运行环境的使用权限交给用户,通过微信开发者工具,可以将后端代码一键上传、部署到环境中,Node.js 版本还可以远程调试代码,大大提升了用户开发效率,并且降低了开发和使用的门槛。