加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

跟着这五步 从0开始搭建你的第一款小程序

发布时间:2018-05-16 19:55:15 所属栏目:建站 来源:站长网
导读:从微信的诞生,到微信公众号、微信支付,再到小程序,腾讯生态在一次又一次影响用户行为习惯的同时,也为开发者提供了新的思路和技能发展方向。无可置疑,微信小程序开发浪潮已经来临,也将在2018年成为各行业流量红利的集中爆发入口。 4月28日,腾讯云联
副标题[/!--empirenews.page--]

从微信的诞生,到微信公众号、微信支付,再到小程序,腾讯生态在一次又一次影响用户行为习惯的同时,也为开发者提供了新的思路和技能发展方向。无可置疑,微信小程序开发浪潮已经来临,也将在2018年成为各行业流量红利的集中爆发入口。

4月28日,腾讯云联合InfoQ举办的云+社区技术沙龙,以小程序开发实战为基准点,围绕小程序云上解决方案,serverless后端架构,小游戏底层设计和直播、电商小程序的开发实战五大主题内容,分享最全面的微信小程序设计开发思路以及解决方案。本文整理了讲师演讲精彩内容,感兴趣的读者可以点击「阅读原文」下载讲师演讲PDF.

小程序云端解决方案

小程序不需要安装,易于分享与传播、开发容易同时用户体验也非常好,那么,他的这些特性是如何实现的呢?腾讯云高级工程师朱展,从小程序架构分析、小程序解决方案进化历程以及腾讯云小程序解决方案介绍三方面给出了答案。

小程序的实现原理

小程序的开发模式是一种类Web的模式,它的前端和一般的H5的前端相似,但和JavaScrpit开发比起来的会简单很多,这点得益于小程序的实现原理和架构。下图是程序的基本架构图,它的上层分两个板块,一块是视图层,也是WebViews,另一块是逻辑层,也就是AppService,这两层在两个不同的线里面进行处理,跟传统的web有根本性的差异。

传统的Web渲染时,如果逻辑里面有很复杂的处理,往往会导致界面出现卡顿的现象。小程序没有这个问题,如果没有调用渲染,不会导致界面的流程度下降。不过,由于视图层和逻辑层在不同的线程里面,这两层不能进行直接的交互,必须通过一些手段实现交互,微信采用JSBridge实现JS的运行环境和原生系统的相互调用,当用户在界面上进行操作时候,会触发相关事件,传递到原生 Webviews,再到逻辑层。

web渲染

是小程序的渲染过程首先是编译打包,开发者编写小程序时需先编写一个WXML的代码,通过WCC的编译工具,进入WAWebView,用户运行小程序时,会和逻辑层传入的数据做一个编译,渲染成最终的界面,下图是一个局部更新的过程。

以下是小程序加载的几种简单的示意图,小程序在手机加载时,要在CDN上面拉一个小程序包,小程序在首次加载时可能有一个等待的时间,当这次安装包缓存到本地以后,下次手机再打开该小程序,则直接从缓存里面读取安装包的内容,如果有新的版本,小程序也不会等新版本更新完了再打开APP,而是直接用上一层缓存的小程序,等下再启动时,直接使用新的安装包替换旧的。

同时,小程序还提供了一个Webview预加载的性能,除了当前看到的Webview的视图以外,在后台还可以看到一个新的Webview,这种预加载性能,能够让一些复杂的小程序在一定程度上保证加载的速度。

小程序的安装包缓存、分包加载、独立渲染线程、Webview 预加载以及一些Native 组件……这些工作在让小程序拥有丰富功能的同时,保证了小程序的打开速度和流畅度,从而给用户带来完美的体验。

小程序解决方案进化历程

开发者在开发一款小程序时,需要处理很多非业务性的逻辑,同时需要准备自己的服务器,因此需要花费很多精力在服务器运维以及周围环境的部署上,而无法专注于小程序的业务开发。为了让开发者从繁琐的配置上解放出来,腾讯云为企业和机构定制了一套基于腾讯云 IaaS 能力的解决方案,这就是腾讯云微信小程序 Wafer 解决方案,帮助开发者更加便捷的部署和调试服务器。

Wafer1 面向企业和机构客户(以下称为企业级客户),提供了一台业务服务器和一台会话服务器,业务服务器来部署和处理业务相关的逻辑,而会话服务器则用来独立处理与用户会话(登录注册等)相关的逻辑,业务与会话的分离有助于中大型企业级客户将来对小程序后台进行扩展。除此之外,腾讯云还将数据库从云服务器中抽离出来,提供了云数据库。

除了 IaaS 能力的解决方案 wafer ,腾讯云还提供了快速通信接口、登录、语音识别等多种能力,用以满足用户在小程序开发过程中的各项功能需求。

Wafer 的信道服务是由腾讯云提供的一个 PaaS 级的 websocket 服务。利用信道通信技术,可以实现小程序与服务器之间的信息互动和传输。腾讯云信道通信技术可以使当前的用户直接跟信道服务器直接建立 websocket 链接,业务服务器只用处理 http 请求而不需要关心 websocket 信息。

总的来说,Wafer信道服务有以下几大特点:配合SDK无需开发,直接使用;平台提供稳定性和性能保障;能够自动实现断线重连;独立信用服务器,消息搬运工。但同时,Wafer1架构复杂,开发者上手成本高,开发者代码调试也不方便。

针对wafer1不足之处,2017年上半年提出wafer2的解决方案,它是wafer1是一个简化版,把wafer1做一些简化合并,兼顾的安全性和便利性,比如说它把会话服务器和业务服务器做一个合并;在wafer1时代我们会让用户自行部署他的服务器,在这儿我们进行托管式的管理,用户可以购买自己的服务器,但是不需要做服务器端的配置,还会自动免费部署SSL证书,此外,腾讯云和微信进行深度的合作,已经将wafer2的解决方案提进微信开发者空间里面去了。

除了 IaaS 能力的解决方案 wafer ,腾讯云还提供了上传代码到开发环境、使用 Devtools 启动单步调试、在开发环境安装依赖、重启/停止 Node.js 程序、恢复初始状态、上传生产环境代码、带登录态跳转腾讯云控制台等系列解决方案,本文不在此一一赘述,感兴趣的同学可以登录腾讯云官网进行尝试。

使用 Serverless 构建小程序后台

小程序、小游戏的开发已经越来越火爆,而小程序或者小游戏的后台,通常还是按照传统的服务器模式,提供 API 作为后端服务入口进行开发。腾讯云正在尝试一种新的方法:利用 serverless 架构来实现后端服务,通过结合使用 api 网关、云函数、云数据库等服务,从而能够无需关心服务器,自动实现高并发, 快速上线和无缝更新能力。腾讯云SCF无服务器云函数高级产品经理黄文俊详细讲解了如何使用 Serverless 来构建小程序后台。

微信小程序及后台交互架构

小程序,是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时是最具有出色的使用体验。它的加载方式比传统的APP方式更快速,开发上线也更快速。除了本身的界面展示和数据刷新之外,小程序的数据获取通过微信和后端进行交互,小程序的运行,是一种类前端的运行方式,它整个运行是在微信内,而它和后端的交互,是通过微信进行转发的。在实际运行并发出请求时,小程序首先会调用微信API,发出API请求,这个请求发送给微信,微信再通过网络请求发送到用户自己的服务器上,用户在自己的服务上拿到这个请求以后进行数据的处理,然后再来响应给到前端,这就是一个小程序和后台交互的完整过程。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读