DingTalk「开发者说」|云开发——更低成本的钉应用开发方式

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: DingTalk「开发者说」是专为钉钉开发者打造的栏目,分享钉应用开发的实战技巧、技术架构、解决方案,致力于成为钉钉与开发者的连接桥梁。本篇分享主要包括云开发平台的介绍、云开发平台在钉钉应用的开发链路、钉应用运行、开发资源投入的优势所在,以及开发实战演示。分享人:宁中,阿里云高级技术专家,云开发平台架构师

(一)关于云开发平台

云开发平台是云原生应用的集成研发环境。在WebIDE中,把云端的基础服务融合在应用研发过程,做到和PC应用一样的研发体验。支持团队协同研发,多环境部署,轻量级CI/CD。采用阿里云Serverless计算服务,自带弹性扩容、免运维的技术跨代优势。

云开发平台地址:http://workbench.aliyun.com

image.png

阿里云开发平台

(二)一站式钉应用开发

通过云开发平台开发钉应用,效率高,成本低。

  1. 学习路径打通:
  2. 钉应用的创建、配置;
  3. 丰富的钉钉能力库的开箱即用示例;
  4. 断点调试,API沉浸式学习环境;
  5. 研发路径打通:
  6. 一键绑定阿里云账户;
  7. 免登跳转至云开发平台;
  8. 钉应用配置回传;

3、演示:如何高效打通云钉一体研发链路

  • 第一步:进入钉钉开放平台的钉钉开放能力库,选择一个能力,比如学习培训与任务管理,点击“体验示例代码”;

钉钉开放平台钉钉开放能力库:https://open.dingtalk.com/list/

image.png

  • 第二步:一键跳转到WebIDE,页面右边是钉钉能力demo体验向导,根据提示逐步执行,即可快速打通链路,启动服务,最后生成二维码,通过手机扫码即可体验。

网络异常,图片无法展示
|
image.png



(三)云开发钉应用的优势及特性

  优势:

  • 降门槛
  1. 云开发中包含五大种业务场景, 4种编程语言的各类模板,总共50+个应用模板;
  2. 每个应用模板自带云环境架构,开箱即用;
  3. 平台提供免费生成测试域名,提供域名证书;
  • 提效能

1.一站式云应用研发服务,集成多种常用云服务,免配置;钉钉应用开发模式;

2.集成云效流水线,提供轻量级CI/CD功能;

3.支持在线协同编程,提升沟通效能;

  • 降费用

1.集成Serverless计算服务,弹性扩容,按量计费;

2.免运维,让前端开发者成为全栈工程师成为可能,减少资源岗位投入;

  • 保稳定

1.应用模板架构是最佳实践沉淀,可扩展性、稳定性经过锤炼打磨;

2.Serverless计算服务,脉冲流量轻松应对,保障服务稳定运行。


四大基本特性

  1. 零门槛启动
  • 工具本身免费,具有开发时免费额度, Serverless按量计费;
  • 提供丰富免费的应用模板、工程脚手架;
  1. 团队协同研发
  • 团队在线化,让每一个新人都可以立即投入到新业务开发;
  • 全云端的开发环境实现所测即所得;
  1. 云IDE环境
  • WebIDE 支持代码高亮、自动补全、全功能终端等接近本地 IDE 的特性体验;
  • WebIDE和本地IDE相结合,适配各种编程习惯,提供的云端代码托管服务,用户也可以将代码仓库克隆到本地,继续沿用本地IDE开发习惯;
  1. Severless部署
  • 无需购买和部署传统服务器,提供3种Serverless计算方式:FC、SAE、ASK;
  • 预置日常、预发、线上三套环境,支持一致的 Serverless 环境去开发、调试、运行云应用;
  • 实现免运维和按调用量付费,大大节省用户综合成本;


(四)WebIDE实战演示

本篇从两个方面演示:1、API能力的学习;2、钉钉应用的开发和部署。

  1. API能力的学习
  1. 首先,进入钉钉开发平台的能力中心;

钉钉开放平台钉钉开放能力库:https://open.dingtalk.com/list/

     b.选择一个能力,比如“自有OA审批助力费控报销”,点击“体验示例代码”(红框中);

image.png

    c.一键进入WebIDE,左边是代码工程,中间是工程说明,右边是体验向导;

image.png

   d.按照体验向导步骤逐步执行:

初始化DevStudio IDE环境→启动服务→更新应用配置(执行)→访问页面体验功能(扫码体验),在手机端体验这个应用,同步可以查看WebIDE中间部分的代码,可以在示例代码每一行的行号左边点击并建立断点,从中学习API调用能力并运用到自身代码工程中。

image.png

  1. 钉钉应用的开发和部署
  1. 首先进入“开发者控制台”;

image.png

 b.创建一个应用,进入“开发管理”;

image.png

  c.前置条件:

  • 绑定组织阿里云账号,开通云开发服务;
  • 绑定个人阿里云账号,完成云开发账号关联;

 d.点击云开发应用,进入云开发平台开发应用;

 e.同步云开发应用信息到当前页面,更新“开发管理”IP和域名信息后即可生效;

 f.点击在线开发部署,即可在WebIDE中进行开发、调试、部署、迭代;

 g.在钉钉开放平台,设置该OA审批的权限,在通讯录管理中开通成员权限;

 h.点击版本管理与发布菜单,确认发布。


(五)复杂钉应用的开发方式展望

  1. 支持钉钉小程序开发;
  2. 支持低代码自定义逻辑实现;
  3. 场景化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

云开发平台帮助文档:https://help.aliyun.com/product/161245.html

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
5月前
|
人工智能 移动开发 IDE
安利几款与钉钉平台无缝集成打通账号认证的企业文档管理系统
钉钉是很多中小企业都爱用的产品,开通账号就能直接使用了,应用生态非常丰富,尤其是AI技术的应用,走在行业前列。但仍有很多企业对于全面拥抱SaaS服务充满了顾虑,尤其在内部资料的管理这块,即使钉钉在线文档已经提供了非常优秀的协作体验,不少客户仍更偏爱私有部署在局域网里面的企业文档管理系统。那么能将企业内部部署的文档管理系统集成到钉钉平台上面,和钉钉文档并行使用呢?市面上又有哪些企业文档管理系统软件支持与钉钉的集成呢?这也是很多企业客户的疑问。
安利几款与钉钉平台无缝集成打通账号认证的企业文档管理系统
|
12月前
|
Cloud Native 安全 Java
构建高性能云原生应用:使用Golang的实践指南(邮件/短信发送、人脸识别、云点播、云直播项目)
构建高性能云原生应用:使用Golang的实践指南(邮件/短信发送、人脸识别、云点播、云直播项目)
|
开发工具 iOS开发 开发者
在iOS应用中接入阿里云的应用研发平台EMAS
在iOS应用中接入阿里云的应用研发平台EMAS
272 1
|
监控 前端开发 中间件
网关中间件研发首选一站式API协作平台:Eolink
大家好我是路飞,今天这篇文章和大家聊聊企业级网关中间件开发者,对API管理方面的需求,以及如何选择一款高效且功能强大的API管理工具。
|
存储 缓存 小程序
什么是云开发以及使用云开发时的一些“坑”
可能很多人不明白“云开发”到底是个什么东西,举个例子,在以前如果你要做一款可以多人联网同时在线玩的小游戏,是一件非常非常难的事,因为你需要客户端(根据不同的平台这里的客户端可能指的是手机,电脑或是其他的平台),还需要服务器,这是两个完全不同的领域。
138 0
|
新零售 监控 小程序
DingTalk「开发者说」钉钉工作台的能力开放
DingTalk「开发者说」是钉钉开发者最新上线的开发者栏目,联合阿里云ACE团队,分享钉应用开发解决方案、技术更新、实战技巧,致力于成为钉钉与开发者的桥梁与纽带,让更多的钉钉开发者传播技术、提升技能、分享观点。在数字化变革的时代,“云钉一体”“钉钉全面开放”战略之后,希望钉钉技术可以持续激发开发者的创造力,为组织数字化赋能。 本文主要针对钉钉工作台,讲解钉钉自定义工作台的开发方式、开放能力和优秀案例,以及工作台的开发实践。
1477 0
DingTalk「开发者说」钉钉工作台的能力开放
|
JSON 搜索推荐 前端开发
DingTalk「开发者说」- 酷应用开发之卡片开发和能力套件开放
本篇主要讲解钉钉酷应用中卡片的构造、接口和最佳实践,以及卡片未来的规划和能力套件开放。适用对象:产品经理和有技术背景的开发工程师。
DingTalk「开发者说」- 酷应用开发之卡片开发和能力套件开放
|
数据可视化 机器人 API
DingTalk「开发者说」钉钉连接平台,企业自建场景下如何实现系统互通
钉钉连接平台通过简单的低代码配置,帮助企业迅捷实现系统集成和连接,降低集成实施的周期和成本。本文主要介绍在企业自建场景下,如何使用连接平台的连接流实现系统互通,包括三个案例分享:1. 会议室预定后发送机器人通知;2. 企业报警信息通过机器人发送到群;3. 销帮帮新增客户同步到企业内部系统。
1684 0
DingTalk「开发者说」钉钉连接平台,企业自建场景下如何实现系统互通
|
监控 安全 数据可视化
DingTalk「开发者说」钉钉连接平台,快速实现企业系统互联互通
钉钉连接平台通过简单的低代码配置,帮助企业迅捷实现系统集成和连接,降低集成实施的周期和成本。本文主要介绍了连接平台的概念、产品优势和价值、适用场景和案例,以及技术架构。
2094 0
DingTalk「开发者说」钉钉连接平台,快速实现企业系统互联互通
|
移动开发 前端开发 小程序
DingTalk「开发者说」第7期 钉钉前端开放及其业务思考
DingTalk「开发者说」是钉钉开发者最新上线的开发者栏目,联合阿里云ACE团队,分享钉应用开发解决方案、技术更新、实战技巧,致力于成为钉钉与开发者的桥梁与纽带,让更多的钉钉开发者传播技术、提升技能、分享观点。在数字化变革的时代,“云钉一体”“钉钉全面开放”战略之后,希望钉钉技术可以持续激发开发者的创造力,为组织数字化赋能。 本篇介绍了钉钉前端开放的概况及其对开发者的业务价值思考,最后从高级技术专家视角,为大家讲解前端团队如何在业务中取得突破
DingTalk「开发者说」第7期 钉钉前端开放及其业务思考