(一)关于云开发平台
云开发平台是云原生应用的集成研发环境。在WebIDE中,把云端的基础服务融合在应用研发过程,做到和PC应用一样的研发体验。支持团队协同研发,多环境部署,轻量级CI/CD。采用阿里云Serverless计算服务,自带弹性扩容、免运维的技术跨代优势。
云开发平台地址:http://workbench.aliyun.com
阿里云开发平台
(二)一站式钉应用开发
通过云开发平台开发钉应用,效率高,成本低。
- 学习路径打通:
- 钉应用的创建、配置;
- 丰富的钉钉能力库的开箱即用示例;
- 断点调试,API沉浸式学习环境;
- 研发路径打通:
- 一键绑定阿里云账户;
- 免登跳转至云开发平台;
- 钉应用配置回传;
3、演示:如何高效打通云钉一体研发链路
- 第一步:进入钉钉开放平台的钉钉开放能力库,选择一个能力,比如学习培训与任务管理,点击“体验示例代码”;
钉钉开放平台钉钉开放能力库:https://open.dingtalk.com/list/
- 第二步:一键跳转到WebIDE,页面右边是钉钉能力demo体验向导,根据提示逐步执行,即可快速打通链路,启动服务,最后生成二维码,通过手机扫码即可体验。
(三)云开发钉应用的优势及特性
优势:
- 降门槛
- 云开发中包含五大种业务场景, 4种编程语言的各类模板,总共50+个应用模板;
- 每个应用模板自带云环境架构,开箱即用;
- 平台提供免费生成测试域名,提供域名证书;
- 提效能
1.一站式云应用研发服务,集成多种常用云服务,免配置;钉钉应用开发模式;
2.集成云效流水线,提供轻量级CI/CD功能;
3.支持在线协同编程,提升沟通效能;
- 降费用
1.集成Serverless计算服务,弹性扩容,按量计费;
2.免运维,让前端开发者成为全栈工程师成为可能,减少资源岗位投入;
- 保稳定
1.应用模板架构是最佳实践沉淀,可扩展性、稳定性经过锤炼打磨;
2.Serverless计算服务,脉冲流量轻松应对,保障服务稳定运行。
四大基本特性
- 零门槛启动
- 工具本身免费,具有开发时免费额度, Serverless按量计费;
- 提供丰富免费的应用模板、工程脚手架;
- 团队协同研发
- 团队在线化,让每一个新人都可以立即投入到新业务开发;
- 全云端的开发环境实现所测即所得;
- 云IDE环境
- WebIDE 支持代码高亮、自动补全、全功能终端等接近本地 IDE 的特性体验;
- WebIDE和本地IDE相结合,适配各种编程习惯,提供的云端代码托管服务,用户也可以将代码仓库克隆到本地,继续沿用本地IDE开发习惯;
- Severless部署
- 无需购买和部署传统服务器,提供3种Serverless计算方式:FC、SAE、ASK;
- 预置日常、预发、线上三套环境,支持一致的 Serverless 环境去开发、调试、运行云应用;
- 实现免运维和按调用量付费,大大节省用户综合成本;
(四)WebIDE实战演示
本篇从两个方面演示:1、API能力的学习;2、钉钉应用的开发和部署。
- API能力的学习
- 首先,进入钉钉开发平台的能力中心;
钉钉开放平台钉钉开放能力库:https://open.dingtalk.com/list/
b.选择一个能力,比如“自有OA审批助力费控报销”,点击“体验示例代码”(红框中);
c.一键进入WebIDE,左边是代码工程,中间是工程说明,右边是体验向导;
d.按照体验向导步骤逐步执行:
初始化DevStudio IDE环境→启动服务→更新应用配置(执行)→访问页面体验功能(扫码体验),在手机端体验这个应用,同步可以查看WebIDE中间部分的代码,可以在示例代码每一行的行号左边点击并建立断点,从中学习API调用能力并运用到自身代码工程中。
- 钉钉应用的开发和部署
- 首先进入“开发者控制台”;
b.创建一个应用,进入“开发管理”;
c.前置条件:
- 绑定组织阿里云账号,开通云开发服务;
- 绑定个人阿里云账号,完成云开发账号关联;
d.点击云开发应用,进入云开发平台开发应用;
e.同步云开发应用信息到当前页面,更新“开发管理”IP和域名信息后即可生效;
f.点击在线开发部署,即可在WebIDE中进行开发、调试、部署、迭代;
g.在钉钉开放平台,设置该OA审批的权限,在通讯录管理中开通成员权限;
h.点击版本管理与发布菜单,确认发布。
(五)复杂钉应用的开发方式展望
- 支持钉钉小程序开发;
- 支持低代码自定义逻辑实现;
- 场景化BFF安装,让前端同学成为钉应用全栈工程师;
(六)常见问题解答
Q:云应用能调用存量的服务吗?
A:支持的,由于云开发部署的云应用是运行在用户的账户空间中,在部署云应用时,把VPC配置成存量服务相同的VPC中,云应用就能和存量的服务互联互通。
Q:在WebIDE写码不习惯,支持在本地IDE中写吗?
A:支持的,WebIDE后面其实对应了一个GitLab代码仓库,是云效发布的Codeup产品。开发者可以通过Git客户端命令check代码到本地,在本地IDE中开发代码,然后push到Codeup代码仓库。在WebIDE中对应有pull、push功能,和本地IDE开发能完全联动。
Q:云开发应用可以在阿里云所有区域部署吗?
A:可以的。在应用创建的时候,配置对应区域的产品线,如果没有对应区域的产品线,可以在创建一个新的产品线时,指定对应的区域。
Q:支持哪些编程语言的开发环境?
A:支持主流的服务端开发语言:Java、Nodejs、Python、php。现在云开发还支持支付宝小程序的开发,近期将会支持钉钉小程序的开发、发布。
Q:开发过程中涉及到阿里云的资源是免费的吗?
阿里云上的资源一般是不免费的,但具体云产品一般都会有一个免费额度,比如函数计算就有每月前100万次函数调用免费,这样一般在开发、测试阶段都是“零”费用的。
Q:调用外部数据库或者API方面有没有限制?
A:没有限制。云开发的策略是把应用部署到用户的账户空间,而不是平台托管方式,只要部署的时候配置成同一个VPC,和存量的云服务是互联互通的。云应用调用阿里云之外的数据库、API只要网络是通的,也是互联互通的。
Q:定制服务商能用这种云开发为客户开发应用吗?
A:可以的,实现层面上,和普通的定制开发一样,如果是SaaS方式,需要服务商做租户隔离。如果是私有化部署,就是部署在谁的云账户的问题,如果是全托管方式,这个云应用可以部署在服务商的阿里云账户中。如果是一次买断,ISV可以把服务部署在客户的阿里云账户中,后期运行产生的费用由客户在阿里云控制台结算。
Q:云开发过程中的数据库怎么管理?
A:云开发不是平台托管方式,是把云应用部署在用户的账户空间,因此没有云开发托管的数据库,云应用需要用到的数据库是用户自己的数据库,如果需要对数据库进行管理,可以用阿里云上的DMS。
Q:云开发环境是否支持安装第三方库?比如Python环境能否自己安装第三方库?
A:支持的,但对开发者的要求比较高,因为需要自己定义dockerfile,用户可以参考函数计算官网的帮助文档来配置。
自助服务中心:
钉钉开放平台能力中心:https://open.dingtalk.com/developer
云开发平台地址:https://workbench.aliyun.com