目录
前言
小程序是什么
什么是小程序的云开发
目前国内云开发相对较成熟的云计算技术
1、阿里云
2、腾讯云
3、百度云
4、天翼云
5、金山云
6、Ucloud
7、华为云等公司
云开发与传统开发的区别
云开发
传统开发
总结
为什么要用云开发来开发程序
畅谈云开发趋势(我们已腾讯云为例)
腾讯云副总裁刘颖大大曾在第二届“小程序·云开发”技术峰会上提出了几点
云开发重新定义开发
从单点云到全面云
人人可做开发者
云开发都给程序员开放了那些功能
1.云函数
什么是云函数
云函数与轻服务的关系
云函数的特点
2.云数据库
什么是云数据库
云数据库的特点
3.云存储
什么是云存储
云存储的优点
4.后端云服务
5.静态托管服务
什么是静态托管服务
功能概述
静态托管服务优点
6.全栈网站托管扩展
前言
云开发(CloudBase)是云端一体化的后端云服务,采用serverless架构,免去了移动应用构建中繁琐的服务器搭建和运维。同时云开发提供的静态托管、命令行工具(CLI)、Flutter SDK等能力降低了应用开发的门槛。使用云开发可以构建完整的小程序/小游戏、H5、Web、移动App等应用。
云开发与传统的前后端开发模式天然互补。基于云开发构建应用层/服务中台,能够弥补传统开发模式的“效率低、耗时多、依赖后台、不够灵活”等问题,更快响应业务需求。
小程序是什么
随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端。它的出现打破了人们认识移动端的隔膜,由以前的需要先下载app然后在开始工作的老式模式,逐渐的趋向于小程序app(无需下载)的形式。
小程序是一种不需要下载安装即可使用的应用,它实现了应用的随开随用,用户只需要用微信扫一扫或者通过微信搜一下即可打开应用,使用完即可关闭,还可以把小程序添加到桌面,真正的做到了便捷方便,用完就走。
什么是小程序的云开发
云开发为开发者提供完整的云端支持,弱化了后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
从开发流程来看,以往开发一个微信小程序需要经过产品功能构思、模块划分、原型设计、UI 设计、前端开发、后端开发、接口联调、测试上线等开发阶段。有了「小程序·云开发」后,前端工程师将可以独立实现前端开发、后端开发、接口联调工作,且无需太多后端知识。
目前国内云开发相对较成熟的云计算技术
1、阿里云
阿里云,阿里巴巴集团旗下云计算品牌,全球卓越的云计算技术和服务提供商。创立于2009年,在杭州、北京、硅谷等地设有研发中心和运营机构
2、腾讯云
腾讯云有着深厚的基础架构,并且有着多年对海量互联网服务的经验,不管是社交、游戏还是其他领域,都有多年的成熟产品来提供产品服务。腾讯在云端完成重要部署,为开发者及企业提供云服务、云数据、云运营等整体一站式服务方案。
3、百度云
百度智能云于2015年正式对外开放运营,是基于百度多年技术沉淀打造的智能云计算品牌,致力于为客户提供全球领先的人工智能、大数据和云计算服务。凭借先进的技术和丰富的解决方案,全面赋能各行业,加速产业智能化。
4、天翼云
中国电信云计算公司运营的天翼云是一个运营商级别的一站式信息服务门户,为用户提供云主机、云存储、云备份、桌面云、大数据等全线产品,同时为政府、教育、金融等行业打造定制化云解决方案。
5、金山云
北京金山云网络技术有限公司(以下简称金山云),是金山软件旗下云计算企业,跻身于中国公有云市场三甲。创立于2012年,在北京、上海、成都、广州、中国香港和北美等全球各地设立数据中心及运营机构。由王育林担任金山云CEO。
6、Ucloud
UCloud是基础云计算服务提供商,长期专注于移动互联网领域,深度了解移动互联网业务场景和用户需求。针对特定场景,UCloud通过自主研发提供一系列专业解决方案,包括计算资源、存储资源和网络资源等企业必须的基础IT架构服务,满足互联网研发团队在不同场景下的各类需求。运维团队只需注册UCloud云平台,即可在管理界面中实现各服务的统一管理和使用。UCloud成立于2012年3月,UCloud已为上万家企业级客户在全球的业务提供云服务支持,行业涉及制造、零售、金融、游戏、直播等。
7、华为云等公司
华为云是华为公有云品牌,致力于提供专业的公有云服务,提供弹性云服务器、对象存储服务、软件开发云等云计算服务,以“可信、开放、全球服务”三大核心优势服务全球用户。
云开发与传统开发的区别
云开发
微信小程序云开发是一套解决小程序前后端开发的一种云端能力,它提供了一整套云服务器及简单、易用的API和管理界面,以尽可能降低后端开发成本,让开发者能够专注于核心业务逻辑的开发、尽可能轻松的完成后端的操作和管理。可能刚入门的小程序制作开发人员对这样的官方介绍有点摸不着头脑。直白点说,所谓的云端能力实际上就是服务器端,开发者自己不需要本地配置服务器和数据库、存储、云函数等基础能力,直接在微信官方提供的服务器端操作就行了。
传统开发
普通的开发,是需要自己准备服务器而且以上提到的基础能力。
总结
小程序云开发相对普通的开发,最大的优势就是更方便、更高效,节省开发成本。
为什么要用云开发来开发程序
第一个减少了域名和服务器的购买,云开发是原生的开发,直接开发直接使用,而且是按流量收费,避免了以往的买个服务器回来,一年要缴纳几百或者几千块的费用,但是每天流量又达不到服务器的峰值,有很多资源都浪费;所以云开发就有这个好处,避免了浪费使用,而且费用还便宜,不使用不扣费,而且支持亿级的调用,不用担心服务器因为压力过大而崩溃。
第二个减少了开发成本,减少开发成本主要体现在几个方面,上面说到了云开发不需要用到域名和服务器,首先这一笔费用就减去了,其次开发人员的配置上也减少了1名以上,最起码后端是不需要的,一切的后端问题都是有前端去处理,而且开发的效率更高了,因为以往起码3个人以上的沟通变成了2个人,沟通上不会有太多的障碍,但是不要以为人少了,开发效率就低了,现在是什么时代了?不能往往用人数去体现一个项目效率的高低的了。开发效率是更高了
第三个,因为没有了服务器续费的问题,所以云开发只要一上线是永久使用的,永久使用,永久使用,永久使用,重要事情说三遍,什么是永久使用?不用我多说了吧,就好像手机卡买回来了,只要你交了你的话费就能一直打电话那样。
第四个维护问题,对于维护来说云开发就简单很多了,一切掌握在您的手中,登录个云后台可以维护小程序上的所有内容,登录个小程序账号等监控云开发的所有数据,方便得很。
第五个安全问题,这个就不用多说了,云开发因为是腾讯云的内部服务器,如果您想到服务器被攻击的问题,那根本不用担心,百分之一千的放心,永远没这个事情出现,如果你想到了访问速度的问题,那也不用担心,访问速度基本不受地域影响,除非你那边没网络,一切都不是问题。容量无限,速度不限,安全可靠就是云开发。
畅谈云开发趋势(我们已腾讯云为例)
腾讯云副总裁刘颖大大曾在第二届“小程序·云开发”技术峰会上提出了几点
云开发重新定义开发
“小程序·云开发”采用Serverless架构,集成了腾讯云云函数、容器、云存储、云数据库等后端能力,让开发者无需自行搭建、运维服务器,即可在平台上开发、上线应用。除了小程序,云开发还支持公众号、Web应用、H5等,未来还将向App等更多端拓展,开发者可以一次开发、多端部署,显著提升开发效率、降低成本。腾讯云副总裁刘颖指出,过去一年多的实践数据显示,借助云开发,应用开发的人力成本可以降低50%、云资源使用成本可降低30%,“云开发集成了微信生态和腾讯云的各项能力,是腾讯C2B战略的技术抓手。”
从单点云到全面云
在场景方面,通过环境共享、静态托管等,实现从小程序向公众号网页,即Web端开发的场景拓展,进一步满足开发者的多端业务诉求。在能力方面,云调用不仅支持小程序服务端API免鉴权调用,也支持公众号服务端、微信支付能力、微信广告能力的免鉴权调用,让开发者更简单便捷地调用整个微信生态开放能力。在服务模式上,除了提供函数级别的Serverless化部署方式以外,云开发也提供了兼容Knative生态标准的Serverless容器服务模式,即云托管。在云托管模式下,无论是前端开发者还是后台开发者,都可以使用云开发部署小程序和网页,不受语言和框架限制。同时,云开发全面支持服务商的小程序SaaS部署模式,提供批量操作接口,实现云资源的统一管理和财务结算,进而提升服务商的小程序SaaS交付效率,降低后期运维成本。
人人可做开发者
通过低代码开发平台,没有技术背景的产品、运营也可以用云开发做应用。在开发门槛极大降低之后,人人都可以做“开发者”。对工程师而言,低码平台则是一个提升生产效率的工具。避免进行重复性工作,可以更加专注于业务逻辑创新、专注架构和算法设计。
云开发都给程序员开放了那些功能
1.云函数
什么是云函数
云函数提供了一种直接在云上运行,无状态的、短暂的、由事件触发的代码的能力。
云函数与轻服务的关系
函数即服务(FaaS: Function as a Service):函数即服务提供的是计算能力。原有的计算能力,无论是容器也好,虚拟机也好都承载在一定的操作系统之上,函数即服务把计算能力进行了进一步抽象。
后端及服务(BaaS: Backend as a Service):后端即服务,比如对象存储,数据库应用,缓存服务,我们也可以称之为Serverless,因为这些服务也能够在云上提供开通即服务,开通即使用的能力。在使用这些产品时同样不需要关注它的服务器是什么样的,它的服务器部署在哪里,而是服务开通就可以使用了,后面的运维工作都交给了云,所以不用感知它的最底层服务器。
云函数的特点
- 零运维:不再需要管理底层资源的服务器
- 秒级部署:运行无状态,轻易实现快速迭代
- 自动触发:完全由事件触发,空闲时没有资源在运行
- 聚焦代码逻辑:开发者只关心最核心的代码片段,跳过复杂的、无聊的其他工作
- 无穷弹性计算能力:根据请求自动平行调整服务资源,拥有近乎无限的扩容能力
2.云数据库
什么是云数据库
云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。例如:我们经常使用的阿里云数据库以及腾讯云数据库都是与mongoDB(非关系型)数据库有异曲同工之妙!
云数据库的特点
1.动态扩展性;
2.高可用性;
3.降低使用成本;
4.易用性;
5.高性能;
6.免维护;
7.安全。
3.云存储
什么是云存储
云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则通过向其购买或租赁存储空间的方式,来满足数据存储的需求。数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storage pool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。
云存储的优点
1、超大规模:云存储具有相当的规模,单个系统存储的数据可以到达千亿级别,甚至万亿级。
2、高可扩展性:第一,系统本身可以很容易动态增加服务器资源以应对数据增长;第二,系统运维可扩展,意味着随着系统规模的增加,不需要增加太多运维人员。
3、高可用性和可靠性:通过多副本复制以及节点故障自动容错等技术,云存储提供了很高的可用性和可靠性。
4、安全:云存储内部通过用户鉴权,访问权限控制,安全通信(HTTPS,TLS协议)等方式保障安全性。
5、透明服务:云存储以统一的接口,比如RESTFUL接口的形式提供服务,后端存储节点的变化,比如增加节点,节点故障对用户是透明的。
6、自动容错:云存储能够自动处理节点故障,从而实现运维可扩展,保证高可靠性和高可用性。
7、低成本:低成本是云存储的重要目标。云存储的自动容错使得可以采用普通的PC服务端来构建;云存储的通用性使得资源利用率大幅提升;云存储的自动化管理使得运维成本大幅降低;云存储所在的数据中心可以建在电力资源丰富的地区,从而大幅降低能源成本。
4.后端云服务
腾讯云、阿里云等是 IaaS、PaaS 服务,提供虚拟机级别的服务,知晓云是 BaaS 服务商(后端即服务),是基于应用级别的服务平台,开发者无需编写后端代码。
对于个人开发者:
- 你可以掌握一门新的技术,成为一名全栈工程师;
- 你可以不受开发技术的限制,一个人也能将一个想法落地,并且只需付出自己的时间和精力,无其他资源(甚至包括资金)的投入。
对于在校学生:
- 云服务是一种新能力,也是一个新趋势,将其作为毕业设计的选题方向,也是一个不错的选择;
- 如果你正在参加相关的竞赛活动,如果你正在为学校/社团/舍友开发一个小程序,知晓云不仅能帮你降低开发门槛,还能为你提供免费的云服务资源,支持你完成梦想。(申请云服务资源)
对于企业:
- 如果你是初创企业,则无需配备后端开发人员,最大化降低人力人本;
- 如果你的企业需要不断上线新的小程序或迭代小程序,可以极大提高开发效率。
对于技术服务商:
- 你可以将精力放在产品方案的设计上,从而更好地解决客户问题,获得客户乃至行业的认可;
- 免服务器搭建、免域名备案、免接口开发、免线上运维,不仅在开发过程中节省大量时间和精力,产品上线后的运维也无需投入过多的人力物力。
5.静态托管服务
什么是静态托管服务
静态网站托管(Website Hosting,WH)是云开发提供的一项服务,可为您提供可靠的托管能力。只需几分钟,您就可以开通静态网站托管,一键将您的静态网站资源部署在云端,我们提供内容分发 CDN 对您部署的静态网站资源进行加速。您还可以结合云开发的云函数、数据库等能力,直接扩展为带有后台服务端的全栈网站,可让您极速提供网站应用。
功能概述
1、SSL:由云开发提供的静态网站托管服务,支持 HTTP 与 HTTPS 访问。
2、快速分发:托管在云开发上的静态网站,均缓存在云开发的 CDN 服务器中,无论在何地访问,均可快速传递内容。
3、命令行部署:利用命令行工具,您可以轻松部署文件到云开发进行静态托管。
4、自定义域名:用户可配置自身的域名作为对外提供的静态网站 URL。
静态托管服务优点
1、极速
静态网站托管无论从开发者操作,环境资源的性能,都致力于提供极速便捷的服务。
操作便捷快速:开发者只需几分钟时间通过可视化操作即可轻松获取一个可部署静态网站资源托管的环境。
极速公网质量:腾讯多年的网络服务经验,无论开发者的客户使用哪家 ISP,均可享受相同的极速带宽体验。
2、弹性
无需担心您所托管的网站资源,腾讯云可支持快速扩缩容:
自动扩缩:资源可根据应用请求量自动横向扩缩。
3、易用
静态网站托管提供强大的可视化工具、CLI 命令行工具,帮助开发者快速构建服务,快速使用工具集成开发。
可视化操作:提供强大的可视化管理后台,支持对文件、云函数和存储进行可视化管理。
丰富的开发工具:提供 CLI 命令行工具,降低对接后端服务门槛。
清晰的文档:丰富和清晰的文档内容指引。
4、节约
按请求数和资源的实际运行收费,极大节约时间和资源成本,不仅价格合理,同时节约额外的服务运维投入成本,真正做到按需使用付费。
6.全栈网站托管扩展
在使用静态网站托管能力的基础上,在 JS 中可直接通过 SDK 使用云开发提供的云函数、云数据库等服务端能力,从而将静态网站应用拓展为全栈网站。