drawio简介以及下载安装
drawio简介以及下载安装
drawio是一款非常强大的开源在线的流程图编辑器,支持绘制各种形式的图表,提供了Web端与客户端支持,同时也支持多种资源类型的导出。访问网址:draw.io或者直接使用app.diagrams.net直接打开可以使用在线版本。如果用户长期使用可以下载安装到本地电脑使用。
中国版的drawio被集成进了drawon桌案项目中去,网址drawon.cn。用户可以点击注册账号,使用线上SaaS版本。
项目起源
drawio项目的历史可以追溯至2005年,当时JGraph团队开始开发mxGraph,这是一个基于客户端的JavaScript与SVG的图表库,用于在Web应用程序中创建交互式图表,支持了Firefox 1.5和Internet Explorer 5.5。
2012年,JGraph团队将已有的程序删除了Java applet相关的部分,并且从域名diagram.ly改为draw.io,这是因为创始人觉得io比ly更酷,而drawio则成为了一个基于mxGraph的图表编辑器,可以在浏览器中运行并创建图表,最初是一个内部工具,而后来mxGraph团队决定将其作为一个开源项目发布。
在2020年JGraph团队处于安全和版权的考虑,将draw.io移至diagrams.net域,diagrams.net目前仍然是一个活跃的开源项目,拥有大量的用户和贡献者,支持多种图表类型,包括流程图、组织结构图、UML图等,同时还支持多种文件格式,包括XML、PNG、JPEG、PDF等。
mxGraph项目现状
mxGraph的项目地址:https://github.com/jgraph/mxgraph, 这是一个基于客户端的JavaScript与SVG的图表库,用于在Web应用程序中创建交互式图表。 该库并未实用任何第三方软件,也无需插件。可以被集成到其他基于前端应用中。
该项目是基于javascript语言开发的, 并不支持typescript语言,如果需要支持typescript语言,可以使用这个项目typed-mxgraph:https://github.com/typed-mxgraph/typed-mxgraph。
开源项目
github搜索drawio获得如下结果

下表给出一个源码说明(重点项目)
| 项目名称 | github地址 | 说明 |
|---|---|---|
| jgraph/mxgraph | https://github.com/jgraph/mxgraph | drawio的核心图形渲染库, 该项目已经很稳定,目前已经是readonly模式 |
| jgraph/drawio | https://github.com/jgraph/drawio | drawio.io在线版本的库 |
| jgraph/drawio-desktop | https://github.com/jgraph/drawio-desktop | 基于electron的桌面端安装版本的软件 |
| jgraph/drawio-github | https://github.com/jgraph/drawio-github | github上安装了drawio应用 |
| hediet/vscode-drawio | https://github.com/hediet/vscode-drawio | vscode上安装插件可以使用drawio |
| jgraph/drawio-libs | https://github.com/jgraph/drawio-libs | drawio相关的组件库 |
开源协议说明
源代码是基于Apache v2协议而授权的。 整个核心代码均是开源的。但是有一些边界函数,发不起来非常困难,因此采用的方式就是我们来维护他们。
JGraph提供的图表以及图表模板是基于CC BY 4.0协议授权许可。 还有一些内容的使用遵循第三方公司版权协议。 我们会检查所有的情况,原始的许可在该项目下会被允许。
除此之外, 最小化尺寸的javascript 以及java库在该工程中被使用。 这些所有的许可都是基于Apache2.0协议, 不包含任何GPL以及AGPL的协议。 对所有的第三方代码都进行了详尽的检查。
衍生出来的产品
如下图所示基于mxGraph所衍生出来的产品:

从图中,可以看出,国外的Tldraw和Excalidraw均是基于drawio所开发。 而国内的drawon.cn 以及有道云笔记,processon和飞书文档均是基于drawio的源码所修改。
下载使用
官方发布连接
用户可以使用jgraph/drawio-desktop这个项目的发布本版,下载,并安装到自己的电脑上使用。
https://github.com/jgraph/drawio-desktop/releases
下载安装包,支持windows, linux, 和macOS操作系统。如下分别对安装包进行说明
如下图为github的截图

文件下载说明
blockmap文件:后缀名位blockmap的文件,它为一个XML格式的文档。包含了应用程序的文件列表,以及存储在包中的每个数据块的索引和加密哈希值。安装不需要该文件(点击文件名称可直接下载)。
| 文件名称 | CPU架构 | 操作系统 | 说明 |
|---|---|---|---|
| draw.io-22.0.2-windows-installer.exe | x64 | windows | x64架构windows操作系统的安装文件 |
| draw.io-22.0.2-windows-no-installer.exe | x64 | windows | x64架构windows操作系统直接运行无需安装 |
| draw.io-ia32-22.0.2-windows-32bit-installer.exe | x32 | windows | x32架构windows操作系统的安装文件 |
| draw.io-22.0.2.msi | 通用 | windows | windows系统图形化应用的基本安装包 |
| draw.io-arm64-22.0.2.dmg | arm64 | macOS | 苹果电脑arm64架构的应用程序 |
| draw.io-arm64-22.0.2.zip | arm64 | macOS | 无需安装的版本,解压直接运行。 |
| draw.io-universal-22.0.2.dmg | 通用 | macOS | 苹果电脑通用版本 |
| draw.io-x64-22.0.2.dmg | x64 | macOS | x64架构macOS电脑的安装包 |
| draw.io-x64-22.0.2.zip | x64 | macOS | 无需安装,解压直接运行 |
| drawio-aarch64-22.0.2.rpm | aarch64 | linux | aarch64架构的linux系统的安装包rpm格式 |
| drawio-amd64-22.0.2.deb | amd64 | linux | amd架构的linux系统的安装包deb格式 |
| drawio-arm64-22.0.2.AppImage | arm64 | linux | arm64格式的linux系统的安装包 |
| drawio-arm64-22.0.2.deb | arm64 | linux | arm64架构的linux系统的安装包deb格式 |
| drawio-x86_64-22.0.2.AppImage | x64 | linux | x64架构的linux安装包appImage格式 |
| drawio-x86_64-22.0.2.rpm | x64 | linux | x64架构的linux安装包,rpm格式 |
如何选择不同的安装包,首先思考您所使用的操作系统是什么,一般情况下PC电脑会有三种操作系统,windows, macOS, linux, 安装顺序,windows普及率最高,其次是macOS, 最后是linux。 然后再看你的操作系统是基于那种CPU架构。 最后再找到对应的包下载即可。
例如: windows 操作系统,x64架构,不需要安装直接能运行的包为:draw.io-22.0.2-windows-no-installer.exe
其他途径下载
本节就讲到这里,希望对你有所帮助。
windows安装版下载地址,在drawon上上传了一份, 点击这里: https://www.drawon.cn/template/details/64ba16195eab3d5d6a01a278
相关文章:
drawio简介以及下载安装
drawio简介以及下载安装 drawio是一款非常强大的开源在线的流程图编辑器,支持绘制各种形式的图表,提供了 Web端与客户端支持,同时也支持多种资源类型的导出。 访问网址:draw.io或者直接使用app.diagrams.net直接打开可以使用在线版…...
Sql Server 数据库中的所有已定义的唯一约束 (列名称 合并过了)
查询Sql Server Database中的唯一约束 with UniqueBasic as (SELECTtab.name AS TableName, -- 表名称idx.name AS UniqueName, -- 唯一约束的名称col.name AS UniqueFieldName -- 唯一约束的表字段FROMsys.indexes idxJOIN sys.index_columns idxColON (idx.object_id idxCo…...
elasticsearch (六)filebeat 安装学习
filebeat 安装:文件节拍快速入门:安装和配置 |文件节拍参考 [7.17] |弹性的 (elastic.co) 解压缩后,以配置nginx日志为例。 Nginx module | Filebeat Reference [7.17] | Elastic filebeat 配置中, - module: nginx access: …...
算法通关村第一关|青铜|链表笔记
1.理解 Java 如何构造出链表 在 Java 中,我们创建一个链表类,类中应当有两个属性,一个是结点的值 val ,一个是该结点指向的下一个结点 next 。 next 通俗讲是一个链表中的指针,但是在链表类中是一个链表类型的引用变量…...
【记录】使用Python读取Tiff图像的几种方法
文章目录 PIL.Imagecv2gdal 本文总结了使用 PIL Image, cv2, gdal.Open三种python package 读取多通道Tiff格式遥感影像的方法。 PIL.Image PIL对Tiff只支持两种格式的图像: 多通道8bit图像单通道int16, int32, float32图像 多通道多bit的tiff图像PIL不支持读取…...
JOSEF约瑟 多档切换式漏电(剩余)继电器JHOK-ZBL1 30/100/300/500mA
系列型号: JHOK-ZBL多档切换式漏电(剩余)继电器(导轨) JHOK-ZBL1多档切换式漏电(剩余)继电器 JHOK-ZBL2多档切换式漏电(剩余)继电器 JHOK-ZBM多档切换式漏电…...
Linux部署kubeedge 1.4
文章目录 一、机器信息二、环境准备(所有节点操作)2.1. 修改主机名2.2. 开启路由转发2.3.安装Docker(所有节点)2.4.部署K8S集群(单机版,云端节点) 2.5.安装Mosquitto(只在边缘节点安装)三、安装kubeedge 1.…...
第一章习题
文章目录 x ( t ) j e j w 0 t x(t)je^{jw_0t} x(t)jejw0t x [ n ] j e j w 0 n x[n]je^{jw_0n} x[n]jejw0n 求基本周期: T 2 Π w 0 T\frac{2Π}{w_0} Tw02Π 对x[n],T为有理数才算 1、求信号x(t)2cos(10t1)-sin(4t-1)的基波周期 2 Π 10 Π 5 \frac{2…...
nvm、node、npm解决问题过程记录
在Windows10如何降级Node.js版本:可以尝试将Node.js版本降级到一个较旧的版本,以查看问题是否得以解决。可以使用Node Version Manager (nvm) 来轻松切换Node.js版本,具体完整步骤: 首先,需要安装Node Version Manager…...
Linux- DWARF调试文件格式
基本概念 DWARF是一个用于在可执行程序和其源代码之间进行关联的调试文件格式。当开发者使用调试编译选项(例如,使用gcc时的-g标志)编译程序时,编译器会生成这种格式的调试信息。这些信息在后续的调试过程中非常有用,…...
软件工程第六周
软件体系结构概述 体系结构:一种思想,而框架就是思想的实现,设计模式就是根据某一特殊问题实现的框架。 体系结构:体系结构是软件系统的高级结构。它定义了系统的主要组成部分,以及这些部分之间的关系和交互方式。 框…...
node+pm2安装部署
1、安装node 下载node安装包: wget https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz 解压: tar -xvJf node-v14.17.0-linux-x64.tar.xz 配置环境变量,在/etc/profile文件最后添加以下脚本: export PATH$P…...
大数据学习(11)-hive on mapreduce详解
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…...
MyBatis基础之自动映射、映射类型、文件注解双配置
文章目录 自动映射原理jdbcType同时启用配置文件和注解两种配置方式 自动映射原理 在 MyBatis 的配置文件(settings 元素部分)中,有一个 autoMappingBehavior 配置,其默认值为 PARTIAL ,表示 MyBatis 会自动映射&…...
8、docker 安装 nginx
1、下载镜像 docker pull nginx 2、本机创建目录 1)创建nginx挂载目录 mkdir /usr/local/nginx 2)进入nginx目录 cd /usr/local/nginx 3)创建 www和logs目录 mkdir -p www logs 3、创建nginx容器 此容器用于复制配置文件,复…...
关于Skywalking Agent customize-enhance-trace对应用复杂参数类型取值
对于Skywalking Agent customize-enhance-trace 大家应该不陌生了,主要支持以非入侵的方式按用户自定义的Span跟踪对应的应用方法,并获取数据。 参考https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/cust…...
手机路径、Windows路径知识及delphiXE跨设备APP自动下载和升级
手机路径、Windows路径知识 及delphiXE跨设备APP自动下载和升级 一、APP安装程序文件版本和权限信息 1、运行时动态调用Android apk的AndroidManifest.xml获取versionName 2、运行时动态调用IOS ipa的info.plist获取CFBundleVersion (和entitlements)…...
GitLab 502问题解决方案
由于最近 gitlab 切换到另一台服务器上部署的 gitlab 后,经常出现 502。平时重启 gitlab 后都能解决,今天突然重启多次后都还是 502(重启日志是正常的),遂通过 gitlab-ctl tail 查看日志进行排查。 gitlab-ctl tail通…...
selenium打开火狐浏览器
项目上需求为:甲方OA 系统是IE系统,需要从IE系统点个按钮打开火狐浏览器单点登录跳转到我们的系统 前期解决方案为:打开浏览器就行了,然后就用的是打开本地浏览器,但是由于B/S架构,有别人远程访问我的ip来…...
多标签分类论文笔记 | ML-Decoder: Scalable and Versatile Classification Head
个人论文精读笔记,主要是翻译心得,欢迎旁观,如果有兴趣可以在评论区留言,我们一起探讨。 Paper: https://arxiv.org/pdf/2111.12933.pdf Code: https://github.com/Alibaba-MIIL/ML_Decoder 文章目录 0. 摘要1. 介绍2. 方法2.1 Ba…...
【Java并发进阶】多线程案例核心解析(单例模式、阻塞队列、定时器、线程池...)
在实际开发中,多线程不仅仅是“会创建线程”那么简单。如何安全地共享数据、如何协调多个线程之间的协作、如何提升系统性能,才是工程中的重点。本文结合经典案例,深入理解:单例模式、生产者-消费者模型、阻塞队列、定时器、线程池…...
Polars 2.0清洗卡顿?,一文讲透Arrow IPC缓存、predicate pushdown与schema inference协同配置逻辑
第一章:Polars 2.0清洗卡顿现象的根因诊断Polars 2.0 在大规模数据清洗场景中偶发的卡顿并非源于计算能力不足,而是由内存管理策略变更与惰性执行链中隐式物化点触发不当共同导致。核心问题集中在 lazy() 查询计划在遭遇特定 I/O 模式或类型推断失败时&a…...
计算机基础:从半导体到CPU指令执行全解析
1. 从半导体到逻辑门:计算机的物理基础 计算机的核心部件CPU本质上是由无数微小开关组成的精密电路,而这些开关的物理基础就是半导体材料。半导体之所以被称为"半导体",是因为它的导电性介于导体和绝缘体之间。这种特性使得我们可以…...
西门子1200水处理程序全解析
西门子1200水处理程序 包含1200PLC通讯点表,CAD原理图,操作说明。 触摸屏包含了组态画面,操作画面,参数设置画面,报警记录等。 V16以上可以打开最近在搞西门子1200的水处理程序项目,今天来和大家分享一下其…...
万物识别镜像在内容安全场景的应用:SpringBoot集成与效果展示
万物识别镜像在内容安全场景的应用:SpringBoot集成与效果展示 1. 万物识别镜像技术解析 万物识别-中文-通用领域镜像基于cv_resnest101_general_recognition算法构建,是一个强大的视觉识别工具。这个镜像最突出的特点是能够识别超过5万类日常物体&…...
用Python和ROS 2 Humble手把手教你写一个简易机械臂仿真器(附完整代码)
用Python和ROS 2 Humble构建2自由度机械臂仿真器:从零实现运动学与轨迹可视化 在机器人开发中,机械臂的运动控制一直是核心难点。传统实体设备的高成本和复杂调试流程让许多开发者望而却步。本文将带你用Python和ROS 2 Humble构建一个完整的2自由度机械臂…...
音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区
音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区 在专业音频制作领域,采样率设置是决定录音质量的基础性环节。许多工程师虽然熟悉44.1kHz或48kHz这些标准数字,却对背后的奈奎斯特采样定理存在认知偏差。这些误解轻则导致后期处理…...
PowerBI进阶技巧:利用SWITCH函数实现动态自定义排序
1. 为什么需要自定义排序? 在PowerBI报表设计中,数据排序是最基础却最容易被忽视的功能。系统默认提供的升序和降序排列,就像餐厅里只有"辣"和"不辣"两种选项,而实际业务场景往往需要"微辣""中…...
Java并发包中锁机制的底层实现原理剖析
实现java并发包中的锁机制底层主要有两种方式:1.基于jvm的monitor机制和对象头中的mark,synchronized关键字 word实现并通过锁升级(偏向锁→轻量级锁→重量级锁)优化性能;2.java.util.concurrent.locks包中的锁基于abstractquedsynchronizer&…...
认知迷雾计划:用废话消耗AI算力
被低效会议吞噬的AI资源在软件测试领域,AI驱动工具正逐步承担自动化测试、缺陷预测、日志分析等高价值任务。然而,一种名为“认知迷雾”的隐形威胁——即低效会议产生的海量冗余信息——正在持续消耗宝贵算力资源。本文从测试工程视角,剖析废…...
