uniCloud概述
uniCloud 是 DCloud 联合阿里云、腾讯云、支付宝云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。其 web 控制台地址为 https://unicloud.dcloud.net.cn。
uniCloud 的价值
对于程序员,可以用熟悉的 js 轻松搞定前后台整体业务。对于开发商,uniCloud 带来多方面的价值:开发成本大幅下降、开发效率大幅提升、上线和迭代速度大幅提速;新创公司无需雇佣 php 或 java 等服务器工程师,每年至少节省几十万;已有全栈工程师的团队,改用新技术栈也能大幅提升开发效率、降低成本;开发者只需专注于业务,无需操心服务器运维、弹性扩容、大并发承载、防DDoS攻击等;云资源租用成本也将大幅下降;如果不发布 Web 版,不需要购买备案域名,小程序和 App 可以免域名使用服务器。此外,uniCloud 为每个开发者提供 2 个免费服务空间(阿里云和支付宝云各 1 个),让开发者也能拥有自己的服务器。
快速入门
可以通过视频快速入门 uniCloud,只需 25 分钟即可掌握基础。
uniCloud是什么和不是什么
uniCloud 是 DCloud 在阿里云、腾讯云、支付宝云等的 serverless 服务上封装而成的,包含 IaaS 层(由云厂商提供硬件和网络)和 PaaS 层(由 DCloud 提供开发环境)。开发者可以自主选择硬件和网络资源的供应商,在不同云厂商之间切换。开户和付费通过 DCloud 渠道,但实际在云厂商处建立账户,价格是云厂商的标准定价,DCloud 只获取云服务厂商的返佣。开发时使用 DCloud 的工具,但应用上线时客户端直连云厂商的 serverless,不经由 DCloud 的服务器。
什么是serverless?
serverless 是目前很火的概念,它是下一代云技术,是真正的“云”。传统云服务让开发者免于购买实体服务器硬件,但仍需自己管理操作系统、web服务器、数据库等,这不是成熟的“云”。真正的云计算就像用水用电,即用即有、按需付费。serverless 把计算、存储的能力进行了云化,开发者只需要按量租用这些计算和存储能力,再也不用关心扩容和攻击。开发者不再有“服务器”的概念,因为没有一台具体的机器。当用户量激增时,系统自动承载更高并发,开发者只需按照对资源的消耗付费;如果没有用户使用,则无需为云资源付费。开发者写好云端业务代码(js 编写的云函数),通过 HBuilderX 部署到 uniCloud 上即可。serverless 让不懂服务器运维的开发者可以只处理业务,也让学生享受世界顶级的 IT 基础设施。目前国内已经有超过 60 万开发者在使用 serverless 云开发。就像 uni-app 可跨端一样,uniCloud 可跨云,基于 uniCloud,无需担心使用云开发被绑定到专用的小程序平台。uni-app + uniCloud 是跨端跨云的开发方案。
uniCloud为何可降低云服务租用成本
uniCloud 大幅降低云服务租用成本的原因有四:第一,传统云按占用的硬件资源的上限值加固定时长租用,而 serverless 按量计费,没有使用则无需付费,且资源是复用共享的,成本更低。第二,uniCloud 没有名目繁多的收费项,如负载均衡、高防、cdn回源等,只需按对计算资源、存储资源的消耗计费,无需为增值产品付费。由于 serverless 资源池巨大且没有固定 ip,DDoS 攻击者难以奏效,因此也无需购买高防套餐。第三,uniCloud 阿里云版、支付宝云版各为每个开发者提供 1 个免费的服务空间。第四,DCloud 拥有广泛的开发者,可以与云厂商谈判拿到更低的价格,所以 uniCloud 里的定价均低于云厂商的定价。基于以上原因,uniCloud 大幅降低了开发者云资源的租用成本,同时还能减少人工成本、招聘成本、沟通管理成本。
uniCloud降低前端掌握后端的门槛
前端工程师想掌握后端开发,传统上有六大门槛:学习 php、java 等非 js 的语言;学习数据库设计;学习 SQL;学习 linux、nginx 等系统和三方软件;学习服务器运维;学习系统安全。而有了 uniCloud,这些门槛全都降低:uniCloud 采用 js 编写后端服务代码,无需单独学习 php 或 java;基于 serverless,开发者无需了解 linux、nginx,无需熟悉负载均衡、高并发处理,不用关心系统补丁和 DDoS 攻击;uniCloud 推出了 opendb,包含大量开源数据库模板,常见数据表无需自己设计;通过 JQL(Javascript Query Language),会 js 即可掌握数据库查询,对联表查询、Tree 查询提供了简便的操作封装;uniCloud 提供了 uni-id,无需自己开发账户体系;uniCloud 在 DB Schema 中提供了与 uni-id 的角色权限体系配套的数据权限控制方案,让初学者也不会在权限控制中犯错。因此,uniCloud 是前端变全栈的最佳机会,只需熟读文档即可成为全栈。
uniCloud如何提升10倍开发效率?
uniCloud 最吸引人的是它将开发效率提升了 10 倍以上。在 uniCloud 推出的 3 年时间里,uni-app + uniCloud 已经变成了一个庞大的生态,包括非常多的工具、模块。开发效率提升 10 倍并非某个杀手功能的功劳,而是庞大的生态共同的作用。提升效率分八个层次:第一,提供众多现成轮子,不用自己写代码。官方维护的插件如 uni-id(用户系统)、uni-pay(支付)、uni-starter(快速开发模版)、uni-admin(admin后台)、uni-search(搜索)、uni-file-picker(文件上传)、uni-captcha(图形验证码)、uni-sec-check(内容安全审查)、uni-upgrade-center(App升级中心)、uni-push2(推送)、uni-im(IM)、uni-cms(内容管理)、uni-ai(AI能力)、uni-map(地理位置开发)等。还有大量的云端一体项目模板,如电商、博客、社交、网赚、影视、壁纸、游戏、短视频等,使用这些模板可极大幅提升效率。此外,uni_module 和 datacom 促进了生态繁荣。第二,如果没有现成轮子,使用 schema2code 代码生成工具,自动生成数据库的增删改查页面,而不仅仅是生成接口。schema2code 可以生成手机端和 admin 管理端的页面,并集成数据权限管理和值域校验,提高开发效率并避免漏洞。第三,如果 schema2code 搞不定,需要手写代码,使用 clientDB 将节省 80% 的服务端开发工作。clientDB 允许前端直接访问数据库,通过 组件或 JS API,无需写服务器代码。JQL 提供了大量运算方法,简化了联表查询和 Tree 查询。第四,如果仍然需要写云端代码,云对象让开发更简单。云对象把云端的代码变成对象方式,让前端 js 直接 import 并调用方法,就像使用前端的 js 对象一样顺畅。第五,HBuilderX 在云端协同中提供工具助力,可以解析本地 schema 文件,直接提示数据结构,减少错误和联调工作。第六,端和云的语言统一,都使用 js,提高了沟通效率、招聘效率和管理效率。第七,代码量减少到原来的十分之一,让 code review 效率和测试的效率也提升了十倍。第八,serverless 让开发者专注于业务,无需分心运维。因此,在三位一体的协同下,uniCloud 实现了开发效率的极大提升。
开发者使用反馈
其他服务端工程师如多年 php/java 工程师纷纷改用 uniCloud,前端工程师也能快速升级为全栈。uniCloud 已发展 3 年多,活跃服务空间数万,云函数日请求数量过亿,可放心使用。