关于ivx和mendix的对比
文章目录
Ivx和mendix都是面向低代码、无代码的开发,今天我们一起聊一聊二者的区别,相信大家看完此篇文章就知道应该如何选择哪一个低代码开发平台了。
本文从以下几个方面来对比Ivx和Mendix的区别:
- 代码量
- 编程属性
- 体验感
- 应用场景
- 适合人群
- 开发框架
- 生产部署
- 高并发
- 使用层面
1.从代码量上来分析ivx和mendix的区别
ivx相当于通用无代码,Mendix只能说是低代码,对于特殊的场景还是需要写很多的代码。
2.从编程语言属性来分析ivx和mendix的区别
Mendix语言能力弱:
- 无“变量类型”组件,无法完成赋值等复杂运算的无代码表达;
- 只有组件概念,没有分层。
ivx语言能力强:
- 包括“变量类型”组件;
- 组件分为“小颗粒—原子组件”、“中颗粒—用户自定义组件”、“大颗粒—小模块”;立体的组件构造,类似 “氨基酸—蛋白质—细胞” 的关系。
3.从安装和使用体验感来分析ivx和mendix的区别
1)Mendix
可以在本地安装MendixStudioPro软件(需要配置环境JDK、.NET、C++),也可以使用在线编辑器进行编写(对网络有要求,外网环境所以会慢一些)。部署的话可以一键部署在云环境上(服务器在荷兰,所以有些慢。)
2)ivx
完全云原生,云端完成 开发/调试/发布/部署/运维 等应用全生命周期管理。
4.从应用场景和系统上来分析ivx和mendix的区别
从应用场景上来看,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)这么多种。
5.从适合人群上来分析ivx和mendix的区别
两个产品的出发点都相同,适合人群上来看是一样的,如下几条,但是Ivx对于有编程基础的用户,一般培训1~2周即可上手开发, 对于完全没有编程基础的,一般培训2个月左右,可以上手开发。
- 计算机相关专业的学生和老师
- 数字媒体/设计/传媒/营销相关专业学生和老师
- 想转型互联网相关专业或对快速编程有需要的学生老师
- 初中级前端程序员和后台程序员
- 想从事SOHO的软件外包人员或小团队
- 对快速编程或数据处理有需求的白领/蓝领(例如金融财务等)
IVX的学习成本也很低,如下所示:
- 对于有基础的程序员,可以采用咨询的方式,提供免费课程、文档、Demo、模版用于学习和研究;
- 组织线上培训,讲师2000元一天,讲授实操课程,安排作业,批改作业,问题解答;
- 组织线下培训,讲师3000元一天(包食宿差旅),驻场教学,5个工作日起订;
6.从开发框架上来分析ivx和mendix的区别
mendix使用的开发框架:
- 前端:HTML5, CSS3, React Native
- 后台:运行环境是JVM + Scala
mendix使用开源框架/技术:
- 前端:任何开源的组件都可以引入进来,灵活性高
- 后端:可以引用其他语言JAVA
mendix使用自研技术框架/技术:
- 工作流引擎(自研),但不太符合中国国情。
ivx使用的开发框架:
- 前端:JavaScript的React框架
- 后台:Node/Rust/Go
ivx使用开源框架/技术:
- 前端:2D物理引擎Pixi、3D引擎:three.js、画流程框架图:AntV X6、DragonBone
- 后端:封装AWS的IaaS层组件(OSS ES MySQL NoSQL redis MQ 流数据处理 iot)
ivx使用自研技术框架/技术:
- 微服务框架(自研)
- 工作流引擎(自研)
7.从生产部署上来分析ivx和mendix的区别
产品生产代码方面独立部署方面ivx生成可编辑的“源代码”(建议用户不要直接编辑,而且通过iVX二次开发后再导出)
- 前端生成 JS
- 后台(业务逻辑部分)生成 JS,后续支持生成Java PY C#
- 自动生成mysql ES redis等SQL语法
- 不支持自动生成SQL语法的数据库例如Oracle等,通过DBO,手写SQL集成并发给数据库1. 开发完后,最终生成加密文件:mpk(mendix自有格式),Mendix开发完应用之后,并不会生成可以继续编辑的“源代码”;(无JavaScirpt代码,无Java代码,无SQL代码)
- microflow流程图生成PC端代码;nanoflow流程图生成手机端代码;
- 不支持自动生成SQL代码,链接外部数据库需要下载DataBaseConnector组件,该组件采用JDBC链接;mendix1. 支持生成Docker镜像和裸金属直接部署
- 前端WebPack打包JS
- 前端一个包,后台一个包,加一个中间件,即完成所有代码生成
- 中间件,不包括任何业务逻辑,只负责和云计算资源通信和管理1. 只打包成一个mpk包,然后配置一些环境依赖,即可部署;(mpk需要通过安装Mendix Studiopro来打开)
- 支持Docker部署,需要安装java JRE与Openjdk环境和Oracle数据库
8.从高并发能力上来分析ivx和mendix的区别
产品云端部署私有部署ivx云端部署:依赖AWS云,所有节点和资源都是弹性的,并且按Serverless的方式进行收费私有部署:实现运行环境资源和生成应用程序解耦,私有部署的并发能力只依赖于所部署环境的资源情况;(通过Config文件进行配置,通常修改IP地址即可) - 支持Kubernetes集群部署;(Docker形式)
- 支持裸金属单机部署;mendix可以运行在MendixCloud,作为一个集成解决方案,MendixCloud上的授权节点包括多个环境、备份、监控、高可用性等允许在Kubernetes私有云集群中部署和管理Mendix应用程序。它自动化了一些操作,如数据库配置、监视和日志记录,如果使用Mendix Docker buildpack,这些操作必须手动执行。
支持多种K8S集群类型,
多种容器源服务器:docker hub,或者local单节点MicroK8s等方式9.从写代码以及IDE整合程度上来分析ivx和mendix的区别
9.1.通常哪些情况需要写代码
Mendix
- 前端:默认全段组件(数量40+,样式固定)不能满足需求,需要写一些CSS和JS代码;
- 后台:microflow/nanoflow本身不支持复杂逻辑的“无代码表达”,复杂逻辑要编写代码,并封装成外部API进行调用;
- 只有数据结构List组件支持循环逻辑(for),通过函数可以实现:获取最大、获取最小、计数等;
ivx
- 整个应用开发通常不需要写任何代码;
- 但也支持嵌入代码,包括(对程序员友好): 自定义组件,可以写JS或引用npm包;(react) CSS SQL 自定义函数(处理数据/特殊加密等)
9.2.IDE整合程度
mendix
1、是一个开发工具StudioPro,所有的开发都在一个工具上进行
2、自主设计的组织架构和权限管理(但是不能从前端页面重新创建角色,只能在开发时设计好所有的角色,后期追加角色需要重新在开发里追加)
ivx
- 完全整合的IDE,所有开发都在一个页面内进行;
- 完全自主设计组织架构和权限管理,不会默认包含该框架; (虽然包括用户组件、权限管理模块)
10.从可重复使用灵活性上来分析ivx和mendix的区别
10.1.可重用
产品颗粒度和可重用分级服务可重用/数据可重用mendix1、本身提供很多个组件,以及成熟的组件市场(生态);
2、通过编写Java程序,可自定义扩展组件;
3、可以通过microflow/nanoflow,编写自定义组件;通过组件市场提供ivx有多层颗粒度:
- 原子组件(基础组件)
- 扩展组件(自定义组件,支持npm包,或手写JS代码参考自定义组件模版)
- 小模块(前端小模块、后台小模块、综合小模块,iVX可重用的组件)
- 模版/源代码/模型1. 支持微服务和公开服务(通过IP访问);
- 支持微服务创建、调度、唤起,支持微服务各种权限管理;
- 支持数据的各种权限访问和管理;
- 有“组应用”概念,一种应用可以方便共用一些数据或服务;
10.2.前端灵活性
产品灵活性前端组件相对定位&绝对定位支持虚拟Dom,动态渲染
V_if V_for数据驱动Canvasmendix目前已有的前端组件都可以无代码进行实现,但是你要是引用外部的组件,需要写一点JS代码自带的组件40+,也可以自定义组件
相关的文档:https://docs.mendix.com/没有绝对定位和相对定位的概念暂不支持暂不支持暂不支持,可引入外部组件ivx所有前端效果都可以无代码实现;200+,可以自定义组件
doc.ivx.cn 可以找到相关文档支持相对定位;支持绝对定位;支持虚拟Dom的动态渲染支持(数据绑定的,数据改变自动重新渲染前端页面)支持10.3.后台能力
产品接入数据能力数据库能力OSS/redis/MQ/流数据处理Socket/Mqtt(物联网支持)ivx1. 通过DBO组件(手写SQL),可以链接外部数据库(Oracle、MySQL、PostgreSQL、SQLServer等); - 固定文件导入:excel动态或静态导入;
- 通过外部API接口;1. 支持关系型数据库:索引,支持Join,支持事物,支持View;
- 支持非关系型数据库;
- 支持ES;
- 支持复杂SQL语法的自动生成;
- 支持DBO的手写SQL语法的集成;(针对Oracle/Postgre)
- 支持Excel的静态导入/导出,动态(运行时)动态导入/导出/计算(服务器端计算,再保持格式导入Excel表中);原生支持,基础组件原生支持,基础组件mendix1. 数据库,可使用DataBaseConnector链接外部数据库(Oracle、Mysql、SqlServer等)
- Excel导入,可下载excel importer和MxModelReflection进行Excel模版设计和导入操作
- 通过外部API接口1、提供DataBaseConnector数据库链接
2、不支持生成SQL语句通过组件市场支持通过组件市场支持11.ivx与Mendix的优势
Mendix优势:
- 组件生态;
- Mendix后台采用Java开发,组件也支持Java开发;
iVX优势:
- 生成可编辑可部署源代码;(mendix只有不可编辑的mpk)
- 有完整的后台组件系统;(依赖云计算产品,严格来说mendix无前后台分离概念,业务后台概念)
- 前端自定义能力更强;
- 无代码逻辑表达能力(包括前和后台);
- 全中文,且对国内平台(微信、支付宝、字节等)支持更好;业务逻辑(例如工作流)符合国内实际业务需求;
- 价格便宜;
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。