9
头图

Low code is on fire again.

In recent years, major Internet companies such as Tencent, Alibaba, and Baidu have entered the market. The financing of low-code platforms at home and abroad is often tens of millions or even hundreds of millions, and the huge controversy that accompanies the heat... all illustrate the popularity of "low-code".

In fact, low code is not a new concept, it can be traced back to the "fourth generation programming language" in the 1980s. In 2014, Forrester formally proposed the concept of low code. Low code is a kind of software development technology, derived from the high-level language of software development. allows users to build and deliver application software more quickly with less coding in a visual way, reducing the cost of software development all-round way. Compared with traditional software development methods, the low-code development platform integrates the IDE (integrated development environment), server and database management tools required for software development and deployment, covering the entire life cycle of software development. We can understand it as Visual Studio + IIS + SQL Management Studio (.NET technology) or a combination of Eclipse + Tomcat + MySQL Workbench (Java technology).

Less coding, faster delivery, lower cost, and covering the entire life cycle of software development. No matter how low the code is, it can be said to be a good software development tool. So, why did it cause controversy, and even criticized by one of its main user groups-programmers? The idea that "low-code development will replace programmers" is popular. Is it right?

Why does the low code arouse the disgust of professional developers?

The technological wave has triggered tremendous changes, and has also brought countless "replacement theories", such as whether machine translation will replace human translation, whether robot reporters will replace human reporters, and whether low-code development will replace programmers.

Although low code is popular, programmers have a different mentality:

  • Contempt: The many advantages of low-code technology are just hype. This technology is more suitable for beginners and cannot solve complex technical problems;
  • Fear: fear of being replaced by low code;
  • Conflict: Can the low-code development platform cover all requirements? The large number of packaged components makes the low-code development platform more like a black box, which may cause technical problems such as difficult to debug, difficult to modify, and iterative upgrades; the low-code development platform is configured with a large number of components, simple A large amount of development work can be completed by the drag and drop action, and programmers no longer need strong technical skills.

So, are the above reasons really tenable? Let's look at them one by one.

the threshold of 16170faec81dfe low code really low?

The low-code development process is often compared to building blocks: like building blocks, applications such as data reporting, process approval, etc. can be quickly developed by dragging and dropping components in a visual manner to meet the relatively simple office needs of the enterprise.

But this does not mean that low-code development platforms can only do this.

In the "Critical Capabilities for Enterprise Low-Code Application Platforms" (Critical Capabilities for Enterprise Low-Code Application Platforms) released in September 2020, Gartner listed 11 key low-code capabilities.

Source: https://www.gartner.com/en/documents/3991223/critical-capabilities-for-enterprise-low-code-applicatio

Here we focus on three of the key capabilities.

  • Data modeling and management: This indicator is commonly referred to as " model-driven ". Compared with form-driven, model-driven can provide data model design and management capabilities that meet the database design paradigm. The higher the complexity of the developed application and the higher the requirements for system integration, the more critical this capability is.
  • Process and business logic: Process application and business logic development capability and efficiency . This ability has two layers. The first layer refers to whether complex workflow and business processing logic can be developed using the low-code development platform; the second layer refers to the convenience and ease of use when developing these functions.
  • Interface and integration: programming interface and system integration capability . In order to avoid the phenomenon of "data islands", enterprise-level applications usually need to be integrated with other systems for synergy. At this time, built-in integration capabilities and programming interfaces become critical. Unless it is confirmed that the project does not involve system integration and expansion development in the foreseeable future, developers should pay attention to this ability.

These key capabilities indicate that the low-code platform has strong capabilities in modeling and logic, and the interface and integration capabilities enable professional developers to complete the parts that low-code cannot achieve, and realize complex applications through the collaboration of low-code and professional code development. The development of . When it comes to high-value or complex core business, professional developers need to understand business requirements and clarify business logic. From this perspective, the threshold for low-code development is not low. The fact is also true: Haibi Research mentioned in the "2021 China Low Code/No Code Market Research Report" that by the end of 2020, technical personnel accounted for more than 75% of low code users, occupying a dominant position.

anything be done with low code?

The programmer's work revolves around development requirements. When choosing a development tool, the first question that programmers usually consider is: Can this tool cover all needs? If requirements increase or change, does the tool support related operations? These issues also apply to the selection of low-code platforms.

In the actual project delivery process, if we can only meet 99% of the needs and the other 1% cannot be met, then there is a high probability that real users will not pay. Therefore, when evaluating low-code products, we must ensure that the platform can support the development of all system module types, and at the same time, it must have sufficient scalability to ensure that modules developed using pure code can be seamlessly developed with low-code modules. Integration, and this is inseparable from the programming interface.

Take the domestic mainstream low-code development platform movable type grid as an example. The platform provides out-of-the-box development components, and at the same time provides programming extension capabilities for each layer of the system to meet the high scalability requirements of enterprise-level application development. With the help of a layered programming interface, developers can implement new functions in pure code, without being limited to the version of the low-code development platform and existing functions.

Icon: The programming expansion capability of movable type

Of course, in terms of specific application areas, low-code development platforms also have their good and bad points. At present, low-code development is more used in 2B enterprise application development, and low-code platforms are not suitable for head Internet applications with a large number of users, and applications with high requirements for algorithms and complex data structures.

Low code development is uncontrollable?

"The low-code development platform is a black box, and internal problems cannot be investigated and resolved. What should I do if I find a problem during the development process? What should I do if iterative upgrade is difficult to achieve?" Many programmers have this kind of doubt.

But what we need to pay attention to is that the low-code development platform is essentially a software development tool , and user model and software development cycle support are one of its key capabilities. In other words, a mature low-code development platform has the functions required for the entire life cycle of software development, which greatly simplifies the developer's technology stack and further improves development efficiency.

Specifically, in the face of frequent demand changes and difficult troubleshooting, the low-code development platform introduces a version management mechanism to more efficiently conduct code review, version management and coordination, and iterative software upgrades. As for debugging, log analysis is undoubtedly a good way. For example, the movable type grid outputs the execution process and details in a log format, which is convenient for programmers to debug efficiently.

For programmers, is the low-code platform a limitation or a boost?

"Low code" means less code. I don’t write much code anymore. How can programmers grow and gain a sense of professional accomplishment?

actually not.

First, development ≠ writing code. A low-code platform can reduce a lot of repetitive work, improve development efficiency, free professional developers from simple and repetitive development needs, and devote their energy to more valuable things, such as improving technology and clarifying business logic.

Secondly, the componentization and drag-and-drop configuration of the low-code platform lowers the development threshold. Novice programmers can use such platforms to get started quickly and speed up upgrades. Experienced programmers also have the opportunity to participate in more projects, and even lead teams, Accumulate more experience points and achieve rapid growth.

Ningbo Juxuan is an example. Since 2009, this company has focused on exploratory research in the fields of intelligent manufacturing, industry 4.0, and system solution integration. After being exposed to low code, the project leader found that the development efficiency has been greatly improved. The traditional method requires one month of development for projects that can now be completed in half a month or less. In addition, its practical experience shows that the learning cost of low-code development is low. After one week of study, freshmen can work on projects in two weeks, and they can develop proficiently in one month.

The company won the Application Innovation Award in the 2021 Enterprise Low Code Application Competition. The winning work is a digital intelligent manufacturing system for the bearing industry. This system mainly integrates ERP, MES, WMS and equipment-machine networking system, covering the whole process functions of sales, purchasing, warehouse, planning, production, finance, etc., and has been put into use at the production site. During the development process, the development team of Ningbo Juxuan successfully solved the problems of high customization requirements and multi-terminal requirements by using the low-code platform, and completed the project delivery in time.

Picture: Handheld terminal and mobile phone mobile terminal system interface of Ningbo Juxuan bearing industry's digital intelligent manufacturing system

Conclusion

When the fog clears and the low-code development platform re-emerges as a high-efficiency development tool, would you choose it?


六一
556 声望347 粉丝

SegmentFault 新媒体运营