云开发 Webify 正式上线:专为Web开发者打造的云上开发部署平台

情封 前端早读课 2021-07-29

今天,CloudBase Webify 正式上线,这是一个专为 Web 开发者打造的云上开发、部署平台,帮助开发者快速开发、预览、部署自己的 Web 应用。

官方文档

https://cloud.tencent.com/document/product/1450

控制台入口

https://console.cloud.tencent.com/webify/index

请在PC浏览器中访问和使用

前往 Webify 快速开始页面,你可以选择自己的代码仓库导入应用,或从现有的模板中直接创建,快速构建一个专属于你的 Web 应用。

Webify 想要解决什么问题?

对于大多数前端开发者而言,互联网的基础设施也许不那么友好。

例如,将一个前端项目从零开始发布上线到公网,通常需要考虑到下面的事情:

  • 申请域名,修改DNS

  • 将静态资源部署到服务器,并配置 Nginx(或者放到对象存储上)

  • 配置CDN

  • 配置 HTTPS 证书

  • 后续如果需要二次开发,还需要配置一套 CI/CD 工作流

除此之外,还有大量应用层面的问题:

  • 我的单页面应用(SPA)要怎么配置路由?

  • 我的 SSR 应用要怎么部署?

  • 我用的框架能直接发布到云上吗?

  • 我想用 Serverless 云函数写 HTTP API,要怎么处理?

这些问题正是 Webify 想要解决的,我们期望为 Web 开发者提供一个专属的平台,让开发者免除以上来自基础设施的烦恼,能够专注于 Coding,而不是管理基建。

Webify 提供怎样的能力?

从 Git 托管平台快速创建应用

Webify 支持从第三方代码托管平台直接创建应用,目前支持 Github、Gitlab、Gitee 码云三种平台,后续我们也会放开支持更多的 Git 平台。

例如,很多开发者会使用 Hexo 框架搭建自己的个人博客,并将博客推送至 Github,使用 Github Pages 部署。

这些类型的个人博客也可以直接一键导入并部署到 Webify 上:

查看 Demo(复制到浏览器访问):

https://my-hexo-site-0g2fpeyz0f499162-1255679239.ap-shanghai.app.tcloudbase.com/

从模板快速创建应用

Webify 还为开发者提供了一系列模板,包括 Vue、React、Angular、Next.js、Gatsby.js 等流行的 Web 框架。

开发者可以选取任意模板,然后使用模板创建一个新的代码仓库:

随后只需要把变更推送至代码仓库,便可以自动触发应用的重新构建和部署。

基于 Git 的持续发布(CD)工作流

在 CloudBase Webify 中,每个应用都可以与一个 Git 代码仓库绑定。绑定后,代码仓库上相应分支的任何提交,都会触发应用的构建及部署。

开发者可以基于此特性搭建自己的 Git 工作流:

例如,将应用与仓库的 master 分支进行绑定,平时采用 dev 分支进行开发,那么在发布新版应用时,只需要将 dev 分支合入 master 分支,便可以全自动构建及发布应用,无需任何手工流程,也无需集成任何第三方 CI/CD 系统。

域名与 CDN

Webify 为每个 Web 应用提供独有的默认域名,默认域名以 .app.tcloudbase.com 为后缀,开发者可以使用默认域名直接访问应用。

应用也支持绑定开发者自己的域名,在应用配置页面中可以直接进行操作。

无论是默认域名还是绑定的自定义域名,均默认带有 CDN 加速能力,最大程度加速 Web 应用的加载性能。

Webify 还有能力在筹划中?

筹划能力1:边缘路由

对于单页面应用(SPA)、服务端渲染(SSR)、Serverless 等较为复杂的 Web 应用场景,开发者通常需要进行服务端路由的配置。

我们正在筹划边缘路由能力,开发者可以在应用的根目录下放置一份路由配置文件,配置应用的路由逻辑,例如:

{  // 路由配置  routes: [{    // 单页应用(SPA),需要对所有路由都响应 index.html,由前端接管路由    src: '*',    static: 'dist/index.html'   }, {    // 将 /api/query 指向到某个云函数    src: '/api/query',    cloudFunction: { path: 'api/query.js' }  }],

  // HTTP错误码重写  errorOverrides: [    { status: 404, static: 'dist/404.html' }, // 对 404 错误返回 dist/404.html    { status: 401, redirect: '/login' } // 将 401 状态码重定向到 /login  ],

  // 自定义 HTTP 响应头  globalHeaders: {    'x-my-custom-header': 'xxxxxx'  }}

初期设计版本,具体使用方式请以实际上线后的技术文档为准

筹划能力2:免费HTTPS证书

目前应用绑定自定义域名时,需要手工选择已有 HTTPS 证书。

我们正在计划为 Webify 应用的自定义域名,提供免费的 DV 型证书,并提供自动续期功能,免除开发者手工申请、维护、续期证书的烦恼。

筹划能力3:Serverless HTTP API

开发一个高可用、能应对高流量的后端 API,对于一些前端开发者而言并不简单,而近年来兴起的 Serverless 技术正是解决这一问题的绝佳方法。

Webify 正在筹划支持 Serverless HTTP API,开发者只需要在项目的 api 目录下,添加对应的路由处理代码,即可直接部署一个云上 Serverless 化的 HTTP API(基于云托管或云函数)。

// api/hello.jsexport default async function handler(req, res) {  res.send(`${req.params.name} 的第一个 Webify Serverless API !`)}

应用部署后,即可直接访问:

> curl https://<AppName>.<Region>.app.tcloudbase.com/api/hello?name=CloudBase> CloudBase 的第一个 Webify Serverless API !

初期设计版本,具体使用方式请以实际上线后的技术文档为准

Serverless API 中,开发者可以直接使用云开发 CloudBase 的服务端 SDK,直接调用云数据库、云存储等云开发提供的 BaaS 能力:

// api/query.jsconst cloudbase = require('@cloudbase/node-sdk')cloudbase.init()

export default async function handler(req, res) {    const data = await cloudbase.database()        .where({            name: req.params.name        })        .get()  res.send(data.result)}
筹划能力4:更多的框架集成,包括 SSR、ISR、JAMStack

目前 Webify 集成了 React、Vue 等基础的静态 Web 框架,以及主流的静态网站生成器(Static Site Generator, SSG)如 Gatsby.js、Next.js 等。

我们后续也正在考虑集成更多更加复杂的 Web 技术栈或者框架,例如 Next.js SSR/ISR、JAMStack 等,方便开发者基于这些集成的框架,快速开发、预览并部署自己的 Web 应用。

主创寄语

Webify 专为前端、Web 开发者打造,集成了诸多流行的前端框架,与开源社区生态深度融合,我们希望能够为国内的开发者提供标准、高效、对开发者友好的一站式 Web 开发部署平台!

未来我们也会持续优化产品,提供更多的产品能力,包括 Serverless、预览、免费 SSL 证书等能力,敬请期待。

@Starkwang,CloudBase Webify负责人,Node.js 核心贡献者

(0)

相关推荐