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

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
Android开发 iOS开发
iOS 替换WebView网页图片为本地图片
iOS 替换WebView网页图片为本地图片
495 0
|
XML Java 程序员
Spring6框架中依赖注入的多种方式(推荐构造器注入)
依赖注入(DI)是一种过程,对象通过构造函数参数、工厂方法的参数或在对象实例构建后设置的属性来定义它们的依赖关系(即与其一起工作的其他对象)。
476 3
|
12月前
|
安全 Java 编译器
什么是AOP面向切面编程?怎么简单理解?
本文介绍了面向切面编程(AOP)的基本概念和原理,解释了如何通过分离横切关注点(如日志、事务管理等)来增强代码的模块化和可维护性。AOP的核心概念包括切面、连接点、切入点、通知和织入。文章还提供了一个使用Spring AOP的简单示例,展示了如何定义和应用切面。
1341 1
什么是AOP面向切面编程?怎么简单理解?
宜搭教育行业权益调整
2024年12月1日起,教育行业体验版免费使用人数将调整为上限50人,每月可提交数据量调整为 1000 条,数据量免费总量仍为 2 万条。
1301 0
|
机器学习/深度学习 人工智能 数据处理
AI计算机视觉笔记六:mediapipe测试
MediaPipe是由Google Research开发并开源的多媒体机器学习框架,已被集成到YouTube、Google Lens等重要产品中。该框架支持多种功能,如物体检测、自拍分割、头发分割、人脸检测、手部检测及运动追踪等。本文档将指导你通过Python环境搭建与测试MediaPipe,包括创建虚拟环境、安装依赖库,并进行手指骨骼识别测试。具体步骤涵盖环境配置、摄像头数据处理及结果显示。
|
运维 Cloud Native 持续交付
【阿里云云原生专栏】从零到一搭建云原生应用:阿里云云原生应用平台实战教程
【5月更文挑战第24天】本文档是一份阿里云云原生应用平台的实战教程,介绍了如何从零开始搭建云原生应用。内容涵盖云原生应用的特点(容器化、微服务、CI/CD和自动化运维)以及阿里云提供的服务,如容器服务、服务网格和CI/CD工具。教程详细讲解了创建容器集群、编写Dockerfile、构建镜像、部署应用、配置服务网格和设置CI/CD的步骤。通过本文,读者将学会利用阿里云平台开发和管理云原生应用。
1259 0
|
前端开发
前端(十二)——深入理解和使用 async和await
前端(十二)——深入理解和使用 async和await
298 1
|
小程序 安全 API
微信小程序 | 小程序系统API调用(一)
微信小程序 | 小程序系统API调用(一)
|
运维 小程序 IDE
【云开发小课】钉钉应用云开发之部署小程序后端应用
本篇内容分享了钉钉应用云开发之部署小程序后端应用的介绍。
【云开发小课】钉钉应用云开发之部署小程序后端应用