Mendix vs JEECG comparison

Mendix vs JEECG comparison

Preface

For this comparative analysis, we first searched for information on the Internet and conducted an analysis. Although the information was rich, many of them were repeated or not what we wanted. There are relatively few things that I really want to know about. The official website provides detailed documents for viewing. Many of them are very detailed, but it is too cumbersome to quickly understand them, so I use ------ tables. Comparative method, conduct a comparative analysis. Then based on the online introduction and the official website's explanation, I conducted an analysis and comparison with my own understanding. At present, these two platforms each have their own characteristics, advantages and corresponding disadvantages. In fact, in general, the biggest difference lies in whether it is used by professional developers or business personnel. This is the biggest difference between them (of course the JEECG platform also has many basic functions, which business personnel can also use normally. I am talking about the Online module here). After searching for information and documents, I have come to this conclusion. Of course, there are many differences. In fact, those differences are designed and implemented based on this difference. ----------Of course this is just my personal opinion.

Basic comparison

Problem/Platform Mendix JEECG
Whether to provide source code no yes
Is there documentation yes yes
Is there a tutorial yes yes
Tutorial detail level Very detailed Very detailed
Is there a video tutorial Yes (station b) Yes (station b)
Website response speed Relatively smooth (requires some loading time, but not long) Smooth
Domestic resources Very rich It is also very rich
forum There is a dedicated Chinese forum (the number of people who have not joined is unknown) github (number of stars: 30.7K, forks: 12.2K), also has corresponding QQ communication group
Maturity It has been developed for nearly ten years and has a relatively complete mechanism. Open source projects in recent years, github (Issues 32), but there are still certain problems

Advanced comparison

Problem/Platform Mendix JEECG
Development of front-end components Support react,vue Support vue
Development language support java,javascript java,javascript
final output application Code (front and backend, app code, sql file)
deploy Selective deployment customize
How data is integrated Provide data integration suites, including integration suites with software platforms such as Teamcenter, SAP, NX, Camstar, Capital, and Polarion. Integrate Sharding-JDBC to create data tables and generate sql statements
Whether you can develop complex processes and business logic Yes (it’s relatively simple) Can
layout arrangement Provide template development, you can also drag and drop freely Free drag
Functional application of the platform Saas application (microflow, microflow designer) An Online Coding mode -> Code generator mode -> Manual MERGE intelligent development development mode. (emphasis on this)
Whether to support mobile APP applications Support mobile APP Support mobile APP
advantage 1. Integrated design, full-stack development 2. Powerful page generation capabilities 3. Can be implemented without professional developers 1. The technology stack is active 2. The Online development model is powerful 3. There are many functional modules designed
shortcoming 1. There are certain potential dangers to security. 2. Development efficiency is relatively low. 3. Personalized development still requires the participation of front-end students in packaging components. 4. It is still difficult to connect to other platforms. 1. The project structure is too bloated 2. The code is not clean enough 3. JeecgBoot configuration items are complicated and dazzling, making it difficult for newbies to start.
Data model/interface/model-driven UI Providing model drive is reflected in three aspects: business data model, UI model and business logic model. These three models are all visual Can be customized
components Provides 1. Page components 2. Data export components 3. Various functional components 4. You can also develop and customize them yourself Custom component
Designer used Logic Orchestration-Microflow Designer Form designer, process designer, large screen design, report design, etc.

Microflows: Allowing the expression of an application's logic, microflows can perform operations such as creating and updating objects, displaying pages, and making selections. It is a traditional visual way of ending up in textual program code.

High level contrast

Problem/Platform Mendix JEECG
For people Trained property personnel + some programmers Programmers who understand development
Applicable companies There are more medium and small companies. If companies require high security , it is not suitable because the source code is not provided, so this is also a place to consider. It can be used by large, medium, small and large companies, as well as governments, banks and other institutions that need local deployment.
Secondary development The platform does not provide source code. Personalized development requires your own customized development, and the cost is relatively high. Provide source code to facilitate secondary development
template Provides a wealth of templates, which can be used to build some simple systems, such as portals. Simple ones are still good. It reduces the construction of several layers of logic to a certain extent and reduces the workload. There are relatively few system templates and they are relatively basic. They are mainly low-code generators and form designers.
Data table configuration When configuring some forms, a data table is generated, which is relatively simple to operate and can be operated by business personnel with certain training. Our database is configured in an online form, which requires developers who have a certain knowledge of the database to configure it properly. Configuration is also difficult.
Systematize The system is divided into sections. You can create a new independent system and integrate the modules you want. It is relatively clear to use. There is no systematic segmentation, and the relative data is relatively scattered.
data processing Configuring some data logic through the front-end page is not very secure. However, Mendix provides other relatively high security configurations. I have no way of considering how high this is. Handle some data logic. For example, the order number, etc. are processed in the code logic, and the logic is rigorous and safe.
system ecology You can also find someone to do custom development, integration, and deployment of data, so the fees are relatively high. Our own systems can be deployed independently and the perfect combination of data from different systems (OA, ERP) can be achieved

Comparison summary

Mendix provides relatively more oriented to property personnel. Developers have developed corresponding components and after some basic operation training, it is actually somewhat similar to Microsoft's powerApps. However, Siemens's one is more powerful. You can choose online development or offline development, and offline development has more complete functions. This Siemens software has been around for more than ten years, some bugs have been fixed, and improvements have been made to the user experience.

introduce

Mendix
  # Mendix是一个高效的aPaaS环境,建立在现代开放的云原生架构之上,具有可扩展性,可自由部署到几乎所有的基础架构,包括Docker,Kubernetes和Cloud-Foundry。该平台的无状态服务器架构支持按需纵向和横向扩展,而我们的公共云提供自助扩展,默认情况下具有高可用性(HA)。整个平台提供开放性和可扩展性的钩子,从用于自定义模型扩展的客户端和服务器端API到平台API和我们的开源模型SDK,它允许您将Mendix与现有工具(CI/CD和DevOps)集成,并构建脚本来管理、监控和修改应用程序的核心元数据。
# mendix studio pro 其实是一个windows应用,具有mendix全部能力,而网页版的mendix studio网页版的只有部分功能。

Compare

在这里插入图片描述

# Mendix如何支持模型驱动的开发
模型驱动开发(MDD)已经成为实现快速应用程序开发的主要方法之一。由于MDD使用可视化模型来定义应用程序逻辑、流程流和用户界面,因此MDD使开发人员和业务人员都能够快速构建应用程序,而无需进行劳动密集型的低级编码。因此,它比传统的编程语言(如C#和Java)
要快得多。为了让业务人员积极参与应用程序的设计和开发,我们完全采用了可视化MDD方法。MDD提供了一个优秀的沟通机制来协调业务和IT人员之间的“障碍”,从而确保更高的质量和更成功的结果。

# Mendix如何将模型解释优先于代码生成
Mendix 运行时直接执行模型,这意味着模型实际上是应用程序,而不是中介。与可视化建模设计实际生成代码的方法(例如Java或.NET)不同,Mendix的模型解释方法具有许多独特的特性和优势。

# Mendix如何利用微服务,容器和部署标准化
微服务提供的软件架构最适合小型敏捷DevOps团队。 这种体系结构最能从容器的质量中获益。容器使您能够以自动化的方式在任何云中部署应用程序,并确保质量、可重复性和速度。部署标准化使小型DevOps团队能够处理与操作相关的任何事情。

# 无状态在Mendix中是如何运作的
现代Web规模的应用程序利用无状态体系结构作为支持更大的可伸缩性和弹性的手段。无状态性通过允许根据需要轻松添加额外资源来支持不断增加的用户或处理负载,从而支持水平可伸缩性。每个用户请求和每个事务都可以由任何一个可用的运行时实例来处理。如果您的性能需要您处理更多的事务或用户请求,您可以简单地添加另一个运行时实例来解决部分的流程。由于状态是在运行时之外管理的,因此可以通过更容易地将故障从一个运行时实例转移到另一个运行时实例来提高弹性。

# Mendix提供怎样的开放性和可扩展性
开放性是任何现代应用程序平台的基本架构要求,这意味着该平台应允许应用程序轻松共存,且能利用其他应用程序和应用程序服务。这也意味着平台本身应该适合您的IT环境,并支持您的核心开发流程与标准。

#企业功能和非功能需求极难从纯模型驱动的开发方法中处理,可扩展性对于满足企业应用程序的所有实际功能和非功能需求至关重要。如果模型解释不允许您更改生成的代码,则必须具有扩展性才可行。

JEECG
# JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性! ----借用官网的一句话。
# 这里我就列举一下它商业版多了的功能进行一个简化
1.Online表单配置
2.Online报表配置
3.Online图表配置
4.完善工作流模块,使用开源流程引擎activiti,遵循BPMN2.0国际标准,具有更稳定、更健壮的工作流性能。
5.表单设计器
6.BPM流程设计器,
7.流程监控,直观的查看流程实例、任务信息,并能对任务进行干预
8.OA办公,常用流程集成:请假、出差、采购、会议等流程设计完成,直接应用;OA系统七大功能模块建立:我的计划、我的日程、待办中心、审批查看、文档中心、通讯录、及时通讯、我的邮箱等
9.移动APP,提供移动开发框架,混合开发技术,已经对接流程相关模块,实现了PC和移动端同步审批操作,可以制作APP
10.提供代码生成器、Online在线开发、Online报表、Online图表 等更多核心模块源码;
11.大屏设计器,类似阿里云DataV,实现在线设计数据大屏与数据可视化效果,支持各种地图、图表、报表等丰富组件;支持二次开发。

#然后就可以看到了它商业版多了大部分功能就是Online配置在线生成,跟设计器。还有移动APP,而移动APP的源码价格是单独卖的。

Related questions answered

Mendix

1. The general process of its development.

# 看Mendix测试

2. Its low-code integration, final output.

# 应用程序

3. Its production and application deployment situation.

# 门迪云	2022年7月21日
#Mendix私有云	2022年8月26日
#SAP业务技术平台(SAP BTP)	2022年8月4日
#其他部署选项	2020年10月26日

4. Its low-code designer.

# 微流设计器----------------Mendix的逻辑编排的核心思想是把控制颗粒度细化到后端实体属性然后把设计好的微流挂载在前端页面元素的事件上进行触发,

5. For components

#1.页面组件
#2.数据导出组件
#3.各种功能组件

6. Its data model/interface/model-driven UI

# Mendix提供的模型驱动体现在业务数据模型、UI模型以及业务逻辑模型三个方面
这三个模型都是可视化,而且它们既可以作为业务需求说明书,也可以作为设计原型,更能直接编译成最终的应用App。
当业务人员和IT开发人员可以更好地基于同一可视化模型进行协同开发时,显然可以大幅提高沟通效率,减少因需求理解偏差造成的重复修改或者质量问题,并大大缩短开发周期。数据驱动下,越早发现数据的价值,其所产生的业务价值就越高,缩短开发周期是至关重要的。

7. Its drag and drop, whether the page is arranged in columns, free combination, or module development

# 提供模板开发,也可以自由组合排列

8. Languages ​​supported by secondary development

# vue,react javasrcipt后端java

9. Does it support mobile APP applications (whether it is a terminal, a small program, an h5 page, or an app)

#app

10. Function application of this platform

# 1、后端开发

- 利用了微流替换了单一的后端的接口逻辑,组件提供后端的实现的逻辑
- 工作流,审批流程,会涉及到不同的角色用户,不同的阶段,审批,而mendix能快速开发该类应用程序。
- 数据模型;支持持久化,非持久化实体。

# 2、前端方面

通过大量前端的组件快速开发页面,并与数据模型关联,可以做到可视化编程。

- 纳米流,前端js处理流程
- 与后端数据模型进行一个绑定
- 可是化编程
- 组件

#3、运维-部署一体化

#4、可多人协作开发

11. The smooth experience of this platform

# 比较流畅有时候一定的时间加载

12. Authorization status, whether the purchase of some source codes is supported

# 不开源,需要购买平台。

13. How data is integrated

# 数据驱动需要去实现软件世界及物理世界的各个系统或设备的数据集成。
#Mendix提供了丰富的数据集成套件,包括与Teamcenter、SAP、NX、Camstar、Capital、Polarion等软件平台的集成套件(还在不断增加中),这些套件可以在权限控制下实现对目标集成平台各种数据的任何操作。

14. Whether you can develop complex processes and business logic

# 可以(相对于其他平台来说还算复杂,但是相对于来说业务流程还不是很复杂)

15. Advantages and Disadvantages


# 优点:

 一体化设计,全栈开发,以数据模型为驱动,可以适用简单页面的开发场景。

强大的 页面生成能力,支持手机,平板,并且提供大量的组件,绑定数据模型,以及前端组件,快速开发页面输出,完全不需要前端同学的开发页面了。只需要前端的同学封装好相应的组件,然后业务人员进行一个简单的培训就可以实现页面的生成应。

调试一体化,对于前端的开发同学,无需要等待后端接口,对于后端的同学,可以快速生成页面调试

部署运维,支持一键部署mendix cloud,当然还支持其它的平台。

# 缺点:

不是专门的为发开同学设计的低代码平台,更多的是倾向于没有开发经验的业务同学,提供开发的能力

实际页面,接口逻辑,也就是所谓的微流建模,其实并没有那么好用,开发效率比较低下,服务化,对接其他的平台都很难。因为都需要一个组件化的开发。

# 建议:

对于简单的页面的开发,是没有什么问题的,对于后端的简单的增删改查,也是完全没有问题的。

大量的组件都是直接和领域模型数据绑定在一起的。当然的这个也是后面的能够优化的点。
JEECG

1. The general process of its development.

# 看JEECG测试

2. Its low-code integration, final output.

# 代码(前后端,app代码,sql文件)

3. Its production and application deployment situation

# 采用nginx+tomcat部署方案
# 后端服务发布到tomcat中
# 前端部署到nginx中

4. Its low-code designer.

#流程设计器,表单设计器, BPM流程设计器,大屏设计器。

5. For components

# 自定义组件

6. Its data model/interface/model-driven UI

# 可以自定义

7. Its drag and drop, whether the page is arranged in columns, free combination, or module development

# 自由组合排列

8. Languages ​​supported by secondary development

# javasrcipt,vue,java

9. Does it support mobile APP applications (whether it is a terminal, a small program, an h5 page, or an app)

# 购买源码,框架为uniapp.可以打包生成小程序,h5页面,app

10. Function application of this platform

# 一种Online Coding模式-> 代码生成器模式-> 手工MERGE智能开发开发模式。(重点这个)

11. The smooth experience of this platform

# 流畅

12. Authorization status, whether the purchase of some source codes is supported

# 不支持拆分卖,需要整套购买。

13. How data is integrated

#集成Sharding-JDBC建立数据表生成sql语句

14. Whether you can develop complex processes and business logic

# 可以,由开发员进行开发

15. Advantages and Disadvantages

#优点:
# 技术栈活跃
平台使用的技术基本都是Java领域当下最活跃的框架,各种文档资料很多,学习曲线低,二次开发几乎无技术壁垒。

#Online开发模块功能强大
Online开发模块涉及表单、报表、图表、图表组合等功能,同时配合平台的表单设计、流程设计、大屏设计等功能,几乎可以无代码实现企业应用的常见功能。
ps:我也让我们的产品经理尝试使用Online模块去完成某系统基础数据的开发,实际效果也证实了它的功能强大。当然部分功能是要商业版才有的。

#缺点
# 项目结构过于臃肿
使用低代码平台的用户的大多数需求是快速成型中小型系统,而当前Jeecg_boot的项目结构,system子模块过于臃肿

#代码不够整洁
作为一个代码洁癖着,看到Jeecg_boot代码中充斥的代码警告总觉的有些不适。

#配置比较复杂

JeecgBoot配置项比较复杂,看的眼花缭乱,让萌新看起来无从入手

Summarize

经过查阅资料,跟使用大致的开发流程,给我的一种感受是这样的。两款平台都有相似的地方,比如说都是为了减少代码,通过组件化,进行一个快速开发,也做了内置生成,但产物不同,一个是可以完整运行的程序(Mendix),一个是生成代码,前端后端sql语句(JEECG),给我一种看法就是它们面向的人群是不一样的,Mendix倾向于物业人员,不懂开发的也可以进行一个开发,JEECG更倾向于java开发工程师,或者说偏向于全栈开发工程师,为什么说java开发工程师呢,因为你会发现online在线开发,那种配置,跟生成的代码,就是倾向于java工程师来使用的,前端生成个前端的代码,可能还没有人家去组件库拿开源的组件来使用的比较快呢。如果说JEECG想要更深入的了解,那还得叫一个拥有并且熟悉java开发的同学来进行一个使用分析源码。而且我们这边已经跑起来开源项目来了,但是支持个登陆跳转,其他页面的跳转有点问题,后端的问题,想要解决一下。经过体验Mendix,生产如果说封装好了需求组件,确实不需要写什么代码,物业人员经过培训也能进行一个开发使用。不过给我的一种感受,每次都要点击保存运行,页面才会发生变化,也就是说没有一个热更新。而JEECG是设计器确实挺强大的,功能多,流程复杂。--------------当然这只是我的个人看法。

Guess you like

Origin blog.csdn.net/nihaio25/article/details/126783449