How to choose a low-code no-code platform

Recently, Gartner, Forrester and other industry research institutions have successively updated low-code related reports, in which the low-code capability model has been adjusted. From an overall perspective, the above-mentioned industry research institutions have increased the importance of data models/model drivers and refined development control (governance)-related requirements when evaluating low-code development platform products.

In fact, with the generalization and deepening of low-code application scenarios, mainstream international research institutions have clarified the general direction of "low-code development and traditional development methods are consistent in application scenarios". And measure low-code development tools against the standards of developing complex systems and large-scale systems.

Core competency system

In this context, I compiled a low-code development platform based on my observation and understanding of the low-code industry and considering China’s unique needs. Core capabilities are divided into four aspects: development, expansion, experience and management, which serve as a reference for technology selection.

1. Development

1.1 Model-driven development

Model-driven is a mature methodology for software development and a common practice in enterprise-level system development. Model-driven development can be roughly divided into three stages:

Data model: According to the database design paradigm, a data model composed of data tables, relationships, constraints, etc. is produced

Business model: Build business logic on the data model to form a complete business model (also called domain model)

Interactive interface: develop interactive pages based on the business model, and arrange the business model to implement business operations

1.2 Visualization: UI design

Use visual methods to build front-end interfaces and front-end interactive behaviors. If your project needs to maintain a unified VI, then whether it supports the introduction of CSS files also needs to be included in the investigation project.

1.3 Visualization: Logic processing development

Use visual methods to build business processing logic on the front end or back end. For enterprise-level application projects with transactional requirements, such as ERP, WMS or finance, you need to focus on the development method of back-end business logic processing.

1.4 Visualization: System Operation and Maintenance

Low-code development platforms should focus on the entire life cycle of software development, and the visualization of deployment, iteration, monitoring and other links can also significantly reduce the overall cost of the software. cost.

2. Extension

2.1 Database Integration

Database integration capability is a necessary condition for opening up "data islands" and is also one of the lowest-cost solutions. Whether it can connect to an external database and whether it can call stored procedures on the database and other programming capabilities are crucial to software development projects of large enterprises.

2.2 WebAPI integration

Modern software systems and SaaS services provide external interfaces in the form of Web API for integration. By calling Web API, the low-code development platform can have more powerful development capabilities and wider application scenarios.

2.3 Programming interface

Changes in software requirements and IT environment usually exceed the iteration of the development platform. Programming interface is the last line of defense to avoid being "stuck in the last mile".

2.4 Extensible component ecology

Based on the programming interface, if there can be a component ecology, users can quickly find the development functions they need and avoid "re-creation". Wheel", why not do it.

3. Experience

3.1 Responsive page support

Responsive pages can be divided into two types: fluid layout and grid layout. Supporting responsive pages means that users do not need to design specifically for specific screen sizes, which can greatly improve UI development efficiency.

3.2 Customized native APP support

In order to make full use of the characteristics of the hardware, the development of native APPs for iOS or Android has not been abandoned.

Whether it is possible to build a fully customized native APP from logo to functions is still a must for some projects.

3.3 Localized mobile support

Mobile office is basically equivalent to DingTalk and WeChat in China, so the low-code development platform needs to be able to seamlessly connect with these two IM software The capabilities, from page embedding to user integration, cannot be ignored.

4. Control

4.1 Web version of IDE

Compared with the desktop version of IDE, the Web version has the advantages of faster deployment and more unified versions. , for large project development teams, it is acceptable to sacrifice a certain amount of development efficiency for this purpose.

4.2 Version Management

The high complexity and frequent demand changes of enterprise-level applications determine the importance of version management. In fact, in the field of professional development, version management has become standard, and a complete project management methodology has been derived based on this.

4.3 Code Warehouse Management

Similar to code, the assets developed by users using low-code tools are also the wealth of the company or team. How to save these assets safely and reliably and store them in a For code libraries such as Git on the LAN or the Internet, it is a good idea to configure access permissions.

4.4 LAN Deployment

In China, there are still many enterprises that have very strict requirements on the controllability of data and applications. If users need to develop core business systems for them, Supporting LAN deployment and being able to develop, deploy and use it without the Internet at all has become a reality that we have to face.

Hengping of typical products at home and abroad

In order to intuitively display the core competency system, I selected several typical low-code development platform products at home and abroad (outsystems, powerapps, movable type grid, DingTalk should be used) for horizontal evaluation. The evaluation here is only qualitative, not quantitative. One family’s opinion, for reference only.