前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >林超:小程序云服务的发展探索

林超:小程序云服务的发展探索

原创
作者头像
腾讯云开发者社区技术沙龙
修改2019-01-02 14:09:36
2.2K0
修改2019-01-02 14:09:36
举报

12月15日,由腾讯云主办的首届“腾讯腾讯云开发者社区开发者大会”在北京举行。本届大会以“新趋势•新技术•新应用”为主题,汇聚了超40位技术专家,共同探索人工智能、大数据、物联网、小程序、运维开发等热门技术的最新发展成果,吸引超过1000名开发者的参与。

分享嘉宾:林超

微信小程序中心团队,负责小程序开发,包括小程序开发工具,小程序第三方平台,小程序编译,以及IoT系统,核心工作目标是降低小程序开发门槛,提高小程序开发效率。

今天的主题是小程序的云服务,想借这个机会和大家分享一下,在过去两年中我们在小程序的云服务上做了什么探索,以及我们推出了什么产品,在产品升级中我们的思路是怎样的,我们为什么这样做。

早在小程序正式对外发布的2017年1月份,腾讯推出了第一套解决方案,这套方案的核心思想,是去创建一个腾讯的帐号,为小程序定制的SDK,用比较便捷的方式搭建一个小程序服务。

2017年8月份随着小程序个人的开放,有越来越多的人加入,我们发现这个方案有一定的门槛,我们和腾讯云一起探讨我们是否能做什么工作,降低这个门槛。

我们思考小程序的开发者需要什么服务,推出了一个全新的产品,叫做小程序云开发,它是与之前的系统完全不同的,是一个全新的架构和全新的升级。

Wafer和小程序是完全不同的,通过授权的方式开通一个帐号,然后营造一个购买环境,再分配到云端。小程序的前端开发以及小程度的服务端开发,两部分都要引入SDK,包括相关的配制,提供一个安全运营的环境。

之后开发者需要在两端开发和调试,有一个接口进行相关的逻辑处理,完成所有的环节,我们才把这个小程序发布。Wafer帮助小程序提高了解决效率,它的门槛还是有点高,小程序的开发者需要理解基本服务端的支持,随着小程序对个人开发者的开放,比如说在前端开发和后端开发的加入,我们希望这个过程能够更简单一点,所以我们思考怎么把它变的更简单。

我们的核心思考方向是在这么多步骤中哪些是可以优化的,首先在开发的流程中,我们去掉了购买的环节,给大家一个免费的开发环境。在开发环节,我们希望更多的开发者加入,还没有马上发布的时候,如果你要购买一个主机,基础上是有压力的,这个压力是非常高昂的,所以我们优化了之前的购买选项。

在这个步骤完成以后,我们在想开发的过程中怎么让它变的更简单,想尽量不要有小程度服务端开放的概念,让服务端的开发和小程序的开发紧密结合在一起。我们把开发环境还有代码部署做了一个紧密的结合,小程序员在开发者数据方面完成了开发以后,这两个部分结合,直接在开发者平台上提交服务端代码的部署,然后完成服务端的演讲,他能在里面完成相关的日志,这对我们做了很好的支持。

我们结合了小程序前后端的开发和调试。开发者在完成小程序前后端的开发之后,需要在开发者工具上跳转到腾讯的控制台,从开发环境到生产环境,完成了小程序云端的部署,提交小程序的审核和发布。这个方案我们把它放在了小程序的文档上,有很多开发者加入进来,降低了一定的门槛。

Wafer2,一定程度上降低了小程序的开发门槛。今年我们在思考有一些什么样的优化时,可以降低门槛,开发者一定需要知道一个运维方式,小程度通过微信扫描就可以使用。

为什么小程序和云服务一定是两个割裂的东西,结合在一起怎么样?结合在一起,刚才的很多步骤都是不需要的。我们从两个方向思考,第一个怎么做,怎么融合小程度和云两个不一样的技术体系。第二个产品体系上怎么做,如何把两个产品融合在一起,变成一个产品。

首先技术上指导,传统的云服务、小程度前端请求,到了云服务,云服务需要发出一个校验的请求,微信服务器再根据这些信息提供什么样的服务。这个环节我们做的事情是要优化这个模型。

我们在技术上做了一个优化,调换了微信服务器和腾讯云的位置,因为经过了微信的服务器,所以我们知道上来的请求对应的用户是谁,他的ID是什么,那么就完成了Wafer1的通用用户信息平台。云服务这时候就可以进来的用户是谁,从而省去了将来的较验过程。同时我们在微信的服务器和云服务器做了很多的部署,我们搭建了一些IoT网络,使这两个之间的延时变的非常少。我们只要做到对所有的小程序都开放这个能力,技术上实际上就做到了。

技术上解决了微信和云的条件之后,在产品上,我们定了两个基本决策,第一个云能力应该是小程序的基础能力。开发、框架这些东西应该是在一起的,不是天然有的,我们经过授权,有一个腾讯的帐号才能使用,在开发者平台上,要用这个东西就可以了。

开发者不需要去理解过多的概念,过去开发者需要完成整套的小程序建成服务,然后再进行逻辑的开发,在我们的思路中这套东西是不应该有的。整套系统里面,我的云服务知道上来的人是谁,请求的IP,这些东西是存在的,云服务的开发经验以及运营经验应该怎么配制,这些东西我们都希望它是不存在的。

回头看Wafer2怎么做,云能力是小程序的基础能力,只要在一个地方开发就能做到前后端的部署。我们把这套方法定义为小程序云开发,我们解决了产品和技术上的问题,接下来要做的是在这套方案上丰富云开发的能力。

这是一个开发基础能力的表,在一个服务中,我们把Wafer分为这几个模块,第一个模块是数据处理和运效模块,消费者把信息传到我们的云服务平台上,然后把这些服务进行数据处理和拼接后,给小程度的前端,云函数,在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码,不需要做之前烦琐的云端服务。从目前的一些实践来看,这种开发方式是非常高效的。

第二个模块是数据库模块,任何模块都离不开数据存储,我们用数据库来完成这个模块,它可以在云端便捷获取。一些复杂的应用满足不了用户的需求,但它可以在云函数中进行完整的数据库凸显。

第三个部分,文件存储模块,在云开发端我们需要存储功能完成功能的。过去我们存储一个照片,可能我要在小程度的前端,去调取,在云开发中这一过程会变的非常简单,他只要在前端调用一个文件,这个文件的目录是什么,他就可以把这个文件存储到云端。

最后,在小程度开发中,我们提供了一个完整的云控制台,用户可以上传我的云函数,做到部署是非常快捷的。我们经常会遇到一些落点,在云开发中可以进行扩容,落点下去的时候,我们也可以避免资源的浪费。

在小程序的开发者程序中,我们结合了这一套能力,在传统的管理器、编辑器的基础上加了云开发的入口,把云开发的相关部署放到小程序开发者工具里面,提供完整的平台,包括监控、服务以及其它的信息,可以看到整个系统运行的情况。

我们现在在小程序的中心有一个非常好的标准,对于推出的官方小程序,我们会慢慢放上来。我们在不断开发一些新的小程序,比如我们向高校做了一个教学,通过一两周就会储量一个小程度后台的管理版本。我们内部,像相册这些东西都是完整地基于小程序的开发来做。最右侧的这个是游戏团队现在新做的游戏,这个游戏也是完整地搭建在小程序的开发上,对它的质量是有信心的。

最后,我们做的是让小程序的开发更简单,并且开发的后续有更多的能力和大家见面,希望大家能够开发出更好的小程序。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档