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

简介: 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

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
Android开发 iOS开发
iOS 替换WebView网页图片为本地图片
iOS 替换WebView网页图片为本地图片
678 0
|
SQL Java 数据库连接
Hive教程(08)- JDBC操作Hive
Hive教程(08)- JDBC操作Hive
2034 0
|
SQL 安全 Java
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
|
7月前
|
移动开发 监控 Devops
阿里云移动研发平台EMAS全解析——费用价格、版本对比、功能及使用场景整理
阿里云EMAS是云原生应用研发平台,支持App、H5、小程序等多端开发,集成DevOps、Serverless、低代码等技术,提供开发、测试、运维、运营全周期服务。支持HTTPDNS、热修复、移动推送等功能,助力提效降本、保障质量、提升用户体验,适用于个人开发者与企业。
|
3月前
|
机器人 API 数据安全/隐私保护
OpenClaw 接入钉钉企业内部机器人完整教程
本文详解OpenClaw接入钉钉企业内部机器人的全流程:通过钉钉开放平台Channels能力,以Stream模式(免公网域名)对接,步骤清晰、配图实操。涵盖应用创建、机器人开通、信息配置、版本发布及凭证获取,助力开发人员快速落地敏捷协作。(239字)
|
XML Java 程序员
Spring6框架中依赖注入的多种方式(推荐构造器注入)
依赖注入(DI)是一种过程,对象通过构造函数参数、工厂方法的参数或在对象实例构建后设置的属性来定义它们的依赖关系(即与其一起工作的其他对象)。
708 3
|
存储 人工智能 监控
钉钉对话机器人实现赞踩收集
本文介绍如何通过AppFlow记录钉钉AI对话卡片的用户反馈情况。首先确保已接入钉钉AI机器人,然后分三步实现:1) 修改钉钉AI消息卡片,添加点赞按钮并配置回调参数;2) 配置钉钉卡片点赞消息接收连接流,更新卡片状态;3) 设置日志收集节点,存储用户反馈数据。完成配置后,用户可在群聊中与机器人互动,并使用点踩点赞功能,反馈数据将被有效记录和分析。
1397 6
钉钉对话机器人实现赞踩收集
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
安全 关系型数据库 MySQL
解决:'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。 (MySQL环境变量的配置)
解决:'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。 (MySQL环境变量的配置)
5298 0
解决:'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件。 (MySQL环境变量的配置)
IDEA安装actiBPM插件
IDEA安装actiBPM插件
1127 10