Have you noticed that every few years there are always some hot cutting-edge words in front of us, such as: cloud native, microservices, mid-platform, Servless, low code, etc. Have you ever wondered what drives these concepts? The conclusion is not difficult to find, from the goal of various concepts to merge similar terms, their essential goal is: improve the efficiency of research and development!

On the road to improving r&d efficiency, various solutions have different priorities. Some focus on improving infrastructure, some on optimizing system architecture, and some on updating production tools. Take the low-code platforms that are the hottest these days, which are more focused on the production tool side.

Production tools that are different from traditional ides

When it comes to the improvement of production tools, the first thing that comes to mind is the optimization on ides, such as ideas and Eclipse, while low-code platforms are fundamentally different from these.

In the product iteration of traditional development tools, we see more optimization points: more cool interface, more friendly coding association, more accurate error prompt, more convenient debugging process, more convenient construction tools and other improvement directions for traditional developers. Production tools in this area have greater flexibility because we are free to build our engineering style according to team preferences and management needs to achieve our development goals.

The realization goal of low code platform is different from that of traditional development tools. They are committed to letting users write less code, to a more friendly coding way, to reduce the talent threshold of digital system construction, so that more people can quickly get started and participate in the construction of enterprise information. So why can a low code platform lower the barrier to entry for developers and speed up the digital construction of enterprises?

I think there are mainly the following aspects:

Visual coding

Developers’ core coding logic, such as domain model design, user interface implementation, and business process planning, can be implemented with drag and drop.

For example, let’s take The yunshu product of Ozhe, which has been focusing on the low-code field for many years. Suppose we want to implement a corporate routine leave process, how to achieve it, to experience the main differences with traditional development!

Step 1: Domain model design. Under the traditional development mode, we need to do according to the database we use to complete the creation of the table structure, here we need to maintain the relevant creation script. Here we can see that we only need to design the domain model in a visual way, and we do not need to consider the specific database. The differences between different databases can be automatically adapted by the platform.

Step 2: operation interface design. Almost all low-code platforms offer wySIWYG form design capabilities. The principle is to componentize various common page elements and bind them to the domain model, and then complete the input, storage, reading and presentation of business data through configuration. Therefore, if the business requirements in the existing ready-made components can meet the case, users in the implementation of the time, is no need to write code can complete the interface design and implementation.

Step 3: Business process design. To streamline the business requirements, under the regular pattern, simple we can use the state pattern or some of the state machine framework to implement a lightweight, flexible complex or some, we need to implement workflow framework, a prerequisite for the need to do a lot of complicated configuration and need to study more to learn and good. As can be seen from the process design interface in the low code platform, the process development and configuration process is much simplified.

From the above a few product development core step, we can found that low code platform in as much as possible to encapsulate all sorts of common coding operation, as far as possible for users to what you see is what you get to complete each stage of the design and development procedures, as far as possible to reduce coding, for some simple demand, and realize the goal of zero code completion.

Integration of development operation and maintenance

Through the above visual coding, we can quickly complete the development of a business requirement. However, the development process for the realization of a requirement, just the early process, then what about the subsequent project packaging, version management, product launch?

For a mature, low-code platform, this must be covered! This is also a big difference from the traditional development model of the department. However, due to the different positioning of low code platform, there may be several different processing schemes, and there are two common ones:

Category one: SaaS deployment capabilities. Such low-code platforms tend to provide lighter implementation capabilities, such as online Excel tools. Used for some simple questionnaire survey, data collection and statistics and other functions. Such requirements do not require complex interface interactions, process control, or data processing. For example: Another product of Aozhe: Yuge

This kind of product is positioned as a lightweight and low-code platform, so its application scope is more inclined to some common models. Therefore, the platform will also improve some templates, so that users can quickly get started, and make secondary customization based on the industry’s inherent templates to quickly realize a set of applications that meet the needs of their team.

The entire development process is also much simpler than the cloud pivot mentioned above. For example, here is an agile R&D management application completed with this tool.

The application scenarios of these platforms are relatively simple, and they are often temporary and short-lived. They do not need to be deployed in a specific environment, nor do they have any connection with private resources. Therefore, these platforms can directly deploy and use user applications on the platform side.

Second: provide the ability to integrate DevOps with privatized resources. Compared to the lightweight, low-code platform above, this is relatively heavyweight. In the section of visual coding, the Cloud Hub is such a low code platform with integrated operational capabilities.

It covers builds from production versions:

To infrastructure maintenance:

To product launches:

Covers a requirement from development to online complete process. So, we can see that for a business requirement, through the application of low code platform, the whole product development process is integrated into one platform. This is very different from using traditional production tools. We no longer need to design our own code base version management, build package management, deployment resource management and a series of architectural management design. The overall management scheme provided by this kind of low code platform can support the whole process management of product development, testing and launching.

Powerful, but not a silver bullet

After looking at the second type of low code platform introduced above, does it feel very powerful? Will it be a silver bullet for development efficiency? Will the future be like what some manufacturers say: everyone will be developers in the future, and programmers will lose their jobs?

I don’t buy the “everyone will be a developer” argument. Because I still believe there is no silver bullet in software development! While low-code platforms look powerful, both lightweight and heavyweight low-code platforms are targeted at specific customer segments. There is no low-code platform that can adapt to all development teams and business scenarios. Therefore, low-code platform can not be called as a silver bullet to improve efficiency. It should be said that it can help development teams or enterprises improve efficiency on the premise of more meeting personalized needs.

For the lightweight low code platform, because the function is relatively simple, for the complex and changeable Internet C-end products that need more innovative elements, it is not suitable for use. In my opinion, this kind of platform is more suitable for some scenarios with more stable business logic, or some temporary data collection and statistics requirements, just like those template applications in Auger Lattice, which have been settled for a long time in the industry and are similar to most teams, with some minor changes in the application direction at most. Or some similar questionnaire and other temporary needs, especially suitable for use. Choose platforms where products are easy to use and don’t even need to be developed. Smart products and operations can configure themselves to fulfill simple requirements.

Heavy, low-code platforms can meet more complex business needs than lightweight platforms because of their more specialized features, and can adapt to more diverse team management models. However, the concepts involved in the use of such platforms are numerous. So it’s only fair to say that such platforms are easier for developers to use. For pure business people without development thinking, there is a certain threshold. This kind of platform is more suitable for large-scale development teams to develop internal systems of large enterprises. Compared with traditional development, it has lower requirements for staffing, but faster performance for development.

However, there is still room for improvement for some complex scenarios, especially for some highly concurrent business scenarios. Because in these scenarios, we often need to use a lot of middleware, caching, limiting, circuit breakers and other skills to ensure the good operation of the system. So, while I think a low code platform is a good tool, both lightweight and heavyweight, to address some of the scenarios of development efficiency. But if you want business developers to focus on business function implementation and cover all scenarios, you need to make enhancements in the performance architecture.

In general, I suggest that when selecting and applying low-code platforms, we must fully understand the relationship between the characteristics of our own business scenarios and the advantages of each low-code platform. Only by aiming at the target, can low-code platforms give full play to their value! Do not take the platform to see the demand everywhere, do not use a good tool in the wrong scene, be blasted for nothing!

Finally, do a little research: Have you started using low-code platforms? Do you feel that the low code platform has improved your productivity? Join our tech group and talk about your ideas!

Welcome to pay attention to my public account: Program monkey DD, get the exclusive arrangement of learning resources, daily dry goods and welfare gifts.