何为云开发?why 云开发?聊聊我们的故事

2021-04-22 23:46:12 浏览数 (1)

继续致力云开发技术分享

大家好,我是鱼皮,今天想和朋友们分享一个好消息,再分享一波技术!

好消息就是,我被任命为『 腾讯云开发高级布道师 』啦!

这是腾讯对云开发技术达人的一项荣誉认证,虽然我的技术和见闻远配不上 “达人” 这一称号,但也算是对自己小小的认可吧。

感谢冠宇哥、博群哥、李东哥、天杰哥等所有帮助过我的大佬们。

下面先聊聊我和云开发的故事吧。

我和云开发

我是从大三时开始正式使用云开发的,当时正好要上线一个小程序,了解到云开发可以大大提高开发效率,还提供免费空间,就试了一下,然后就真香了。

在越来越多的使用云开发后,我已经爱上了用云开发,虽然我的后端主语言是 Java,但只要是做小程序,我都会将云开发作为第一技术选型,无服务开发部署、免运维、集成 SDK、打通微信生态,太香了!

之后,在云开发做校园推广的时候,我在学校开展了云开发校园技术小作坊,给同学们科普了一波小程序云开发。

随着对云开发的了解逐渐深入,以及看了更多的成功案例,我发现用云开发做网页也是一个不错的选择。因此在开发『 编程导航 』网站时,我选择了云开发,不仅作为整体后端技术栈,还用于前端动态及静态站点的部署。

通过不断地实践和踩坑,我对云开发产生了信赖,对于云开发的使用也有了一些自己的方法和见解。所以作为一名知识博主,我经常用各种不同的形式来宣传云开发,好的东西就是要让更多人知道!

比如之前写过几篇云开发的文章,还出过很多介绍云开发的视频:

此外,在直播的时候,也有很多朋友对这项技术感兴趣,我都会耐心解答。

平时,我也在持续记录自己在使用云开发中的问题,并且向云开发团队反馈。

今后我会更加努力,产出更多的云开发实践类文章,普及云开发技术知识,带大家感受高效的开发模式!❤️

好了,听到这里,很多朋友可能还完全不了解什么是云开发,那接下来就是科普时间。

腾讯云云开发技术

如果你想要有自己的项目或产品,小程序是你的不二之选,而云开发将帮助你事半功倍倍倍倍倍。

目前,各大主流互联网公司都在推行小程序生态建设,比如微信小程序、支付宝小程序、百度小程序、字节跳动小程序等。

根据 QuestMobile 提供的行业研究报告,截至 19 年 4 月底,微信、支付宝和百度的小程序数量分别为 230 万、20 万和 10 万个,估计而如今,从阿拉丁研究院发布的《2020年小程序互联网发展白皮书》 来看,微信小程序数量已超 380 万!小程序的数量甚至超越了原生 APP,成为第一应用生态!

这一趋势归因于小程序的独有优点,以 微信小程序的优点 为例:

  1. 用户多(十几亿),流量大
  2. 小程序无需安装,使用方便,用户体验好
  3. 依托平台,社交裂变,易于分享
  4. 对于开发者,相对于APP更易开发,生态广
  5. 小程序功能强大,足以满足大部分需要
  6. 依托微信,安全可信

在介绍主角云开发之前,我们先了解一下小程序的传统开发方式。

传统开发

一般开发一个系统,我们需要开发前端后端

前端即用户看得见、听得见、点得到、可操作性的界面。

后端则支持前端,默默提供数据操作等各种服务。

同样,开发小程序,我们也需要开发前端和后端。

小程序前端的开发方式主要有:

  1. 官方原生语法(wxml、wxss)
  2. 封装框架( WePy MpVue 等)
  3. 跨端开发框架,一套代码可编译至多端运行(Taro Chameleon 等)
  4. 低代码,可视化拖动(腾讯云微搭)
  5. 直接购买

而后端呢,我们可以自己开发,各大主流语言如 Java、Python、Golang 都可以。开发完成后,然后还要搭建一个数据库,租一个服务器等等。非常麻烦,这也是导致很多同学的技术栈过窄,只局限于前端或后端,无法开发出功能丰富的项目的主要原因。

重复工作做多了也很累,谁不想简单一点呢?

后来,『 小程序云开发 』出现了,让很多没有后端基础的同学也可以成为 全栈开发者

为了更好地了解小程序云开发,首先介绍一下何为云。

何为云?

云有如下定义和特点:

  1. 成千上万的服务器,组成了海量网络节点,像云一样无处不在
  2. 用户无需购买硬件,即可迅速创建、释放或使用任意资源
  3. 云已覆盖全球,足不出户使用世界各地的云设备
  4. 包含云服务器、云计算、云存储、云数据库、云函数等各种资源
  5. 由专业厂商提供服务,如腾讯云、阿里云、百度云、搬瓦工、Vultr 等

那么什么是云开发呢?

何为云开发?

早期腾讯云官方的定义是:云 端一体化,快速构建小程序、Web和移动应用

而如今,云开发概念升级,已经是一套完整的云原生产品解决方案。

在传统开发中,我们需要自己开发增删改查等接口,准备后端服务器、安装搭建数据库环境等。此外,如果是企业级应用,可能还需要考虑如下特性及功能:

  • 文件存储、内容加速、冷备热备、网络专线
  • 负载均衡、容器服务、弹性伸缩
  • 监控告警、安全加固、网络防护、异地容灾
  • 高可用、高并发、高扩展

听着就很麻烦!

而实际上,我们的核心关注点应该是 业务逻辑,即实现功能。是否有一种新的开发模式,可以让开发者可以更专注于业务逻辑呢?

云开发应时而生。

云开发是由腾讯云和微信团队联合开发,集成于小程序控制台的一站式后端云服务,帮助开发者快速全栈开发并上线小程序。

云开发包含以下核心功能:

能力

作用

说明

云函数

无需自建服务器

在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码

数据库

无需自建数据库

一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库

存储

无需自建存储和 CDN

在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理

云调用

原生微信服务集成

基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力

HTTP API

通过HTTP,实现小程序外访问云开发资源

使用 HTTP API 开发者可在已有服务器上访问云资源,实现与云开发的互通。

乍一看好像云开发也挺复杂的,不妨用两张图来对比下它和传统开发模式的区别。

传统开发模式 VS 云开发模式

传统开发模式:

云开发模式:

绝大多数业务之外的问题,都可以交给腾讯云提供的统一服务来解决!

此外,云开发的一大亮点是提供了非常方便的集成 SDK,直接操作数据库、上传下载文件;打通了微信生态,一行代码就能调用微信开发者接口,比如发送模板消息等;此外,还提供了一些强大的开放能力,如音视频、内容安全审核、图像识别、AI、智能对话、短信等。

以开发 “文件上传” 功能为例来对比:

传统开发:前端 后台 运维,估计耗时 120 分钟。

云开发:仅前端,仅需 5 分钟!通过 wx.chooseImage 和 uploadFile 接口,直接将文件直接上传至腾讯云存储和托管,省时、安全、可监控,免运维。

再以开发 “插入数据” 功能来对比:

传统开发:前端 后台 运维,自己搭建维护数据库,至少耗时 90 分钟。

云开发:仅前端,仅需 2 分钟。通过云开发的数据插入接口,快速入库至腾讯云,保障高性能和安全性,在小程序控制台还可以随时对数据库进行可视化监控及管理。

可视化管理数据库:

真的是非常贴心了,那么如何使用云开发呢?

如何使用云开发?

如果要在小程序中使用云开发,很简单,创建小程序后,直接打开微信开发者工具,点击 “云开发”,申请就可以了,10 秒钟自动得到一套环境。

对于小型产品,免费版完全够用!

如果要使用云开发做网站或移动应用,可以在腾讯云开发官网开通环境。

具体的云开发使用方法就不在文章中介绍了,腾讯云官方和云开发爱好者们提供了非常贴心的教程。

学习资源

最后给大家推荐一些学习资源。

云开发学习指南

这里的教程都是精品,可以学到云开发的基础使用和所有的高级特性。

云开发官方文档

微信小程序云开发官方文档

腾讯云云开发 B 站官方账号

这里有很多优质的云开发视频教程,还会定期请讲师直播教学答疑。

以上所有的教程都可以在『 编程导航 』搜索 “云开发” 找到:

地址:https://www.code-nav.cn


目前,云开发的功能越来越强大了,云托管、云 CMS 及微应用、一键部署、低代码等,欢迎大家学习,感受技术带来的美好!

0 人点赞