Ivx和mendix都是面向低代码、无代码的开发,今天我们一起聊一聊二者的区别,相信大家看完此篇文章就知道应该如何选择哪一个低代码开发平台了。
本文从以下几个方面来对比Ivx和Mendix的区别:
ivx相当于通用无代码,Mendix只能说是低代码,对于特殊的场景还是需要写很多的代码。
Mendix语言能力弱:
ivx语言能力强:
1)Mendix
可以在本地安装MendixStudioPro软件(需要配置环境JDK、.NET、C++),也可以使用在线编辑器进行编写(对网络有要求,外网环境所以会慢一些)。部署的话可以一键部署在云环境上(服务器在荷兰,所以有些慢。)
2)ivx
完全云原生,云端完成 开发/调试/发布/部署/运维 等应用全生命周期管理。
从应用场景上来看,Ivx和Mendix都相差不大,例如:
支持较复杂业务体统开发;
支持企业OA,BPM/Bi/表单,在线表格;
支持ERP,CRM,HR,CMS,iot物联网/MES,大数据项目,电商,IM,音视频应用;
支持网站开发,游戏,动画,数字媒体;
从支持的应用系统上来看,mendix显得就有点差劲了,只支持Web,Android/iOS,Windows/Mac,各种小程序(WebView)这几个系统。
而Ivx则支持Web,Android/iOS,Windows/Mac,微信小程序(原生)各种小程序(WebView)这么多种。
两个产品的出发点都相同,适合人群上来看是一样的,如下几条,但是Ivx对于有编程基础的用户,一般培训1~2周即可上手开发, 对于完全没有编程基础的,一般培训2个月左右,可以上手开发。
IVX的学习成本也很低,如下所示:
mendix使用的开发框架:
mendix使用开源框架/技术:
mendix使用自研技术框架/技术:
ivx使用的开发框架:
ivx使用开源框架/技术:
ivx使用自研技术框架/技术:
产品 | 生产代码方面 | 独立部署方面 |
---|---|---|
ivx | 生成可编辑的“源代码”(建议用户不要直接编辑,而且通过iVX二次开发后再导出) 1. 前端生成 JS 2. 后台(业务逻辑部分)生成 JS,后续支持生成Java PY C# 3. 自动生成mysql ES redis等SQL语法 4. 不支持自动生成SQL语法的数据库例如Oracle等,通过DBO,手写SQL集成并发给数据库 | 1. 开发完后,最终生成加密文件:mpk(mendix自有格式),Mendix开发完应用之后,并不会生成可以继续编辑的“源代码”;(无JavaScirpt代码,无Java代码,无SQL代码) 2. microflow流程图生成PC端代码;nanoflow流程图生成手机端代码; 3. 不支持自动生成SQL代码,链接外部数据库需要下载DataBaseConnector组件,该组件采用JDBC链接; |
mendix | 1. 支持生成Docker镜像和裸金属直接部署 2. 前端WebPack打包JS 3. 前端一个包,后台一个包,加一个中间件,即完成所有代码生成 4. 中间件,不包括任何业务逻辑,只负责和云计算资源通信和管理 | 1. 只打包成一个mpk包,然后配置一些环境依赖,即可部署;(mpk需要通过安装Mendix Studiopro来打开) 2. 支持Docker部署,需要安装java JRE与Openjdk环境和Oracle数据库 |
产品 | 云端部署 | 私有部署 |
---|---|---|
ivx | 云端部署:依赖AWS云,所有节点和资源都是弹性的,并且按Serverless的方式进行收费 | 私有部署:实现运行环境资源和生成应用程序解耦,私有部署的并发能力只依赖于所部署环境的资源情况;(通过Config文件进行配置,通常修改IP地址即可) 1. 支持Kubernetes集群部署;(Docker形式) 2. 支持裸金属单机部署; |
mendix | 可以运行在MendixCloud,作为一个集成解决方案,MendixCloud上的授权节点包括多个环境、备份、监控、高可用性等 | 允许在Kubernetes私有云集群中部署和管理Mendix应用程序。它自动化了一些操作,如数据库配置、监视和日志记录,如果使用Mendix Docker buildpack,这些操作必须手动执行。 支持多种K8S集群类型, 多种容器源服务器:docker hub,或者local单节点MicroK8s等方式 |
Mendix
ivx
mendix
1、是一个开发工具StudioPro,所有的开发都在一个工具上进行
2、自主设计的组织架构和权限管理(但是不能从前端页面重新创建角色,只能在开发时设计好所有的角色,后期追加角色需要重新在开发里追加)
ivx
产品 | 颗粒度和可重用分级 | 服务可重用/数据可重用 |
---|---|---|
mendix | 1、本身提供很多个组件,以及成熟的组件市场(生态); 2、通过编写Java程序,可自定义扩展组件; 3、可以通过microflow/nanoflow,编写自定义组件; | 通过组件市场提供 |
ivx | 有多层颗粒度: 1. 原子组件(基础组件) 2. 扩展组件(自定义组件,支持npm包,或手写JS代码参考自定义组件模版) 3. 小模块(前端小模块、后台小模块、综合小模块,iVX可重用的组件) 4. 模版/源代码/模型 | 1. 支持微服务和公开服务(通过IP访问); 2. 支持微服务创建、调度、唤起,支持微服务各种权限管理; 3. 支持数据的各种权限访问和管理; 4. 有“组应用”概念,一种应用可以方便共用一些数据或服务; |
产品 | 灵活性 | 前端组件 | 相对定位&绝对定位 | 支持虚拟Dom,动态渲染 V_if V_for | 数据驱动 | Canvas |
---|---|---|---|---|---|---|
mendix | 目前已有的前端组件都可以无代码进行实现,但是你要是引用外部的组件,需要写一点JS代码 | 自带的组件40+,也可以自定义组件 相关的文档:https://docs.mendix.com/ | 没有绝对定位和相对定位的概念 | 暂不支持 | 暂不支持 | 暂不支持,可引入外部组件 |
ivx | 所有前端效果都可以无代码实现; | 200+,可以自定义组件 doc.ivx.cn 可以找到相关文档 | 支持相对定位;支持绝对定位; | 支持虚拟Dom的动态渲染 | 支持(数据绑定的,数据改变自动重新渲染前端页面) | 支持 |
产品 | 接入数据能力 | 数据库能力 | OSS/redis/MQ/流数据处理 | Socket/Mqtt(物联网支持) |
---|---|---|---|---|
ivx | 1. 通过DBO组件(手写SQL),可以链接外部数据库(Oracle、MySQL、PostgreSQL、SQLServer等); 2. 固定文件导入:excel动态或静态导入; 3. 通过外部API接口; | 1. 支持关系型数据库:索引,支持Join,支持事物,支持View; 2. 支持非关系型数据库; 3. 支持ES; 4. 支持复杂SQL语法的自动生成; 5. 支持DBO的手写SQL语法的集成;(针对Oracle/Postgre) 6. 支持Excel的静态导入/导出,动态(运行时)动态导入/导出/计算(服务器端计算,再保持格式导入Excel表中); | 原生支持,基础组件 | 原生支持,基础组件 |
mendix | 1. 数据库,可使用DataBaseConnector链接外部数据库(Oracle、Mysql、SqlServer等) 2. Excel导入,可下载excel importer和MxModelReflection进行Excel模版设计和导入操作 3. 通过外部API接口 | 1、提供DataBaseConnector数据库链接 2、不支持生成SQL语句 | 通过组件市场支持 | 通过组件市场支持 |
Mendix优势:
iVX优势: