What is a low-code development platform (apaas)? What is the value of a low-code development platform?

Hand code 6500 words , take you to quickly understand: what is a low-code development platform (apaas), what is the value of low-code, and the use logic and experience of low-code platform.

1. What is a low-code development platform (apaas)?

The low-code development platform is aPaaS (Application Platform as a Service), which is a platform that can quickly complete application system development with only a small amount of coding + drag & drop of visual components. The term was first proposed by Forrester Research in June 2014.

Low-code development platforms usually have the following characteristics:

  • Visual Integrated Development Environment (Visual IDE);
  • A large number of reusable and drag-and-drop components (drag & drop);
  • API Application Programming Interface (Application Programming Interface);
  • etc.

If you don’t quite understand this concept, you can think about the scene where Iron Man fiddles with designing various Iron Man on his holographic workbench in "Iron Man"... (although the current low-code platform is not so cool. , but roughly the same meaning).

If you think this example is too sci-fi, in fact, we can see similar tools and platforms around us, for example, Automator in the Mac system or shortcut commands in iOS (originally called workflow), or a few years ago. A burst of ifttt...

2. The value of a low-code development platform

If we need to use low-code, we must first clarify what value the low-code platform can bring us.

The following are some values ​​I have summarized for your reference.

1. Cost reduction and efficiency increase

According to statistics, the efficiency of low-code development in the application of enterprise internal informationization is about 67%, which is equivalent to one person being able to exert the human efficiency of 2-3 people. After the development is completed, the cycle of testing and optimization will be greatly shortened accordingly. Therefore, it may take 3 months for the same project to be done through traditional coding methods, but low-code is expected to be completed in about 1 month. Whether it is manpower occupation or time cost, low code has absolute advantages in reducing costs and increasing efficiency.

2. Gradually landing

You don't need to do a lot of preparation work to start coding like code development in the past. Through low-code WYSIWYG, rapid development features. Many business practices or optimizations can be developed in a few minutes and get feedback on the results. This will directly change the original corporate digitalization strategy plan. Make the overall planning process of digitization more calm. Don't worry about the problem that once you start developing a lot of things, you can't modify it and you can't go back. The modular development model will make the entire business more flexible and better able to match market changes.

​3. Full participation

Different from the situation where IT personnel must participate in traditional coding, for some basic changes or development work, the low-code platform no longer requires IT personnel to "hands-on". Business personnel can also configure the platform according to their own needs. In companies with shortage of IT resources, this model will greatly increase the enthusiasm of employees to participate in information construction, and better promote the implementation of enterprise digitalization.

4. Enterprise-level underlying capabilities

The most important significance of the enterprise level is that it must be able to become an important "pillar" of informatization that supports the development of various departments and businesses of the enterprise. The digital application scenarios of enterprises usually include data information management, business approval, various report analysis and Other business;

  • According to the business department, it can be divided into personnel administration, project, sales, research and development, production, etc.;
  • According to the current software category, it can be divided into ERP, SCM, CRM, OA, PLM, MES, etc.

There are other defining standards in various industries.

Therefore, if you want to purchase a low-code platform, whether it can support the above-mentioned scenarios to complete the system development task will be the most critical factor for all companies to purchase a platform. Nobody wants to buy a toolbox that only solves one problem.

5. Ease of use and maintainability

Many low-code development platforms often only emphasize the business development process, but ignore the subsequent operation and maintenance management. To know a normal and operational system, the completion of development is only the beginning, and there will be continuous optimization and development in the future. So who will develop, who can develop, and how to manage and maintain the version. Large-scale information systems require strict R&D management processes. Otherwise, if the operation is careless, it may lead to the loss of important business data of the enterprise and the paralysis of the business.

​This piece of low-code cannot be "opposed" to traditional code development. Enterprise-level low-code can remain the same as traditional code development in this area. In terms of operation and maintenance:

  • Support rights management for developers to achieve module and function restrictions;
  • Support to view the running status of the application, and monitor the occupied resources and times of automated transactions in the running process;
  • Support version management of the application system, can synchronize git, and realize branch pull and upload;
  • Support the application modification-release mechanism, and support the development and update process of "UAT-grayscale-production environment".

6. Embrace new technology

In addition to being able to support the development of conventional information systems, with the needs of market development, the integration of new technologies can produce different chemical reactions with low code. For example, with the sudden emergence of the concept of AIGC, Zhixin’s low-code  also actively responded, and took the lead in realizing the docking with ChatGPT and Stable Diffusion.

Through the docking with ChatGPT, the AI ​​intelligent development of business systems (such as intelligently generating data models, assisting in writing codes, automatically generating business logic automation, etc.), further improving development efficiency.

Stable Diffusion, as an important model in the field of AI images, is integrated into Zhixin's low-code, and Zhixin's platform can quickly call the needs of AI-generated graphs and graph-generated graphs in relevant image business scenarios. Serving e-commerce, design, advertising and other fields, it has greatly improved business productivity.

3. Experience in using low-code development platforms

Let's take  Zhixin low-code  as an example to discuss in depth the usage logic of the low-code platform.

application design process

The application design process using Zhixin low-code is similar to the traditional development process. It is divided into the following five steps: model design, page design, interaction design, process design, and authority design.

Model design: use the data table module for model and field design

Example: We want to create an employee information table. The content of the employee information table is as follows:

First of all, we need to analyze according to the employee information table to determine the field type in the weaving letter corresponding to each column.

column name

Field Type

Job number

single line text

Name

single line text

gender

list selection

age

integer

Home address

single line text

After determining the field type of the form, configure the model in the system

​Created data table display

​Page design: use view modules for data display design, and use website modules and custom pages for page development for complex pages

Page settings support 7 configuration modules from display settings, filter conditions, tree structure, data filtering and sorting, toolbar, form configuration, and event monitoring. Users can configure data pages that meet their needs according to actual business scenarios.

​Configured page display content and corresponding effects

​Interaction design: use controls to design operation buttons

Users can use controls to expand interaction buttons that meet business needs, and can perform user-specified operation behaviors to meet the needs of actual application scenarios. The control supports adding configurations in various scenarios such as the table toolbar, data table details, dashboard, and right-click menu.

​Control configuration items

​Process design: use BPMN to design workflow

Zhixin's workflow is a process design tool based on BPMB2.0, which supports users to complete the design and development of various business processes through workflow. For example, we need to complete an approval process for invoice reimbursement:

The following figure is the flow chart of the invoice reimbursement business:

​Based on the business flowchart, configure the corresponding process in the workflow:

​Privilege design: design team roles and application roles

Team roles are the scope of authority that can be assigned to users in the Weaving Team, including team management, application management, application design, and invitation of members. Generally speaking, the internal authority allocation of the team can refer to:

  • IT and operation and maintenance personnel: application management application design
  • Administration and personnel: Team management invites members
  • Company members: no permissions required

Application roles can configure roles and permissions for members in the application, and can set permissions in each module of the application.

In addition to team roles, application roles can configure and manage permissions for members. In the system, there are many places where specific user permissions can be set according to different scenarios to meet business needs, for example:

  • Field permission setting
  • Record row permission settings
  • Approval permission setting
  • Special data validation via automated configuration

The above steps can be performed sequentially, or can be divided into iterative cycles.

The design process and usage process of the application in Zhixin low-code are separated. After modifying the application settings, the application needs to be released to take effect. The release version number of the action app is incremented each time it is released. Application releases can only be released incrementally, not downgraded. If there is a downgrade requirement, you need to take a snapshot backup of the application database when releasing the application, and restore the backup when downgrading.

Install deployment and upgrade

After the application design is completed in the application designer, the application can be exported as an imr (InforMat aRchive) installation file, which contains all configuration items of the application. Multi-environment test deployment can be achieved by distributing the imr files in different environments. A typical installation and deployment process is as follows:

It is strongly recommended to back up the imr file and store it in the product library every time the production environment is released.

environment variable

When deploying applications in different environments, it is necessary to dynamically adjust some parameter values. For example, the address of the payment service corresponds to the test payment address in the test environment, and corresponds to the real payment address in the production environment.

environment

address

test environment

https://test.pay.com/pay

Production Environment

https://pay.com/pay

These parameter values ​​will be referenced by automated programs or scripts. In order to ensure the migration of applications in different environments, Zhixin provides the function of setting environment variables.

In the weaving letter, you can set the mapping relationship of the environment ID value, and use the expression function Context.appEnvProp(propKey) to obtain the value of the current environment ID equal to propKey. The current environment properties of the application are modified on the application settings page.

Release Notes

When the application version is upgraded, the version number should be incremented. Zhixin has no strict requirements on the format of the version number. It is recommended to use the format of major version.minor version.revision version to set the version number. For each version, a version description can be added in the application settings. Version notes can be written in markdown format. When importing or upgrading an application, Zhixin will display the version description of the installation file.

Advice from team members

For simple application scenarios, such as task management requirements, if the application does not involve complex logical calculation operations, the application designer can be a product manager. The configuration process of such applications can be completed in a graphical way.

For complex large-scale applications, such as ERP, MES, and PLM, we recommend that the application design team consist of the following roles:

  • Product manager: responsible for sorting out requirements, such as model design, page design, interaction design, and permission design;
  • Developer: Responsible for automatic construction, script writing and expression writing in the process of model design, page design, interaction design, and authority design;
  • Testers conduct functional tests on the system, which is similar to the traditional development model, but based on the large number of functions provided by Zhixin, the number of personnel will be greatly reduced.


After using the logic, I will finally talk about how I built a work order system from 0 to 1 using low-code.

In order to fully experience the construction process, I tried to build an application used by the content department to meet the needs of other departments. It is a bit like the "temporary work order" of the content team to solve the current collaborative office software with too large division of labor and inter-departmental temporary needs. Issues such as lack of attention, executors unable to understand task priorities, and leaders not being able to control progress.

What the app hopes to achieve is:

  • 1. Temporary demand can automatically become a job to be assigned through the input of the demand side.
  • 2. The corresponding person in charge will assign personnel to implement according to the specific situation.
  • 3. The executors can arrange the priorities by themselves by understanding the urgency of the tasks, and upload the results after completion.
  • 4. The results are checked and accepted by the person in charge of the corresponding division of labor and the requester.
  • 5. The progress of the whole process should be clear at a glance, which is convenient for accountability and has statistical data for archiving.

If I put it in the past, I can only ask for help if I don't know how to program, and it is difficult to get attention for such a small demand. Now we can consider using a low-code platform to try to build it ourselves. Among the low-code products, there are more famous low-code products such as Yida and Zhixin Informat. This time we still choose "Weaving Letter Informat" for practical operation.

In Zhixin Informat, you can choose to build a blank application, or you can choose to build based on an existing template. The template center provides OA management, customer management, project management, epidemic prevention and control, production management, invoicing management and other types, the number exceeds hundreds.

According to actual needs, I chose the feedback work order template in the template, which seems to be out of bounds. What I like is the feedback work order, task list, customer information, service application, pending work order, and pending receipt in work order management. Work orders, pending work orders, processed work orders, and satisfaction return visits are a complete set of after-sales management processes, and this set of logic is just right for my needs.

All content is in the form of components. For example, if I want to add a scoring module to the page, I only need to drag it to the corresponding position. After a frantic renaming, deletion, and dragging, the application basically has a prototype and can be tried.

Of course, if you need to implement some complex functions, or the existing components cannot meet the requirements, you still need code and some functional logic. Therefore, low-code still has certain limitations for programming beginners, but for those who have a certain programming foundation, it can be much more convenient and faster, saving a lot of basic operations.

After all the adjustments are completed, the application is launched, and friends are invited to test the results. After the friend fills in and initiates the application, the corresponding person will receive a message prompt of the demand.

Click to view the details of the requirements, and the relevant personnel will be responsible for the approval of the task, and if it is passed, the division of labor will begin. Of course, if it is unreasonable, it can naturally be rejected.

After the approval, the corresponding executors can be arranged to complete the progress of the demand.

After the executor completes the task, there will be an acceptance process, which will be checked and evaluated by the demand proposer and the person in charge of the division of labor to confirm the end of the demand.

Throughout the process, you can also clearly see the progress of the project, when and where the task has been carried out, and where it is stuck, it is very clear. The expected function is indeed achieved by simply modifying the "after-sales work order" template of the same logic.

During the test, we found that no matter whether the application is online or not, it can be adjusted at any time. For example, during our actual test, a friend found that some links should adjust the authority management. This is indeed forgotten when I built it, so I hurried to add about This part of the settings is fine.

Summarize:

Simple and fast, but there are still certain thresholds.

The construction of the application is very fast, and the whole process takes about an hour. During this period, the main time is to sort out the logic of the application, that is, to think about the structure and what each place should be. The actual workload is not much.

In fact, after reading my construction process, you should understand that building applications with low-code is very simple, even much simpler than PPT templates. In the case of clarifying the logic of the application, it is like building blocks or building Lego toys. You only need to use a little computer to complete the building operation.

1. In actual use, it is indeed possible to complete the construction of some simple applications without code. When there is no need for code, it may be more like construction, and the feeling of development is relatively weak. Drag and drop can solve most of the needs.

2. It is easy to adjust in the later stage. After it goes online, it can be fine-tuned at any time according to actual needs, and there is no need to go back and forth to find customer service or IT.

3. And such as the "big data" we often talk about, the low-code platform also provides data analysis categories and plug-ins, and the templates will continue to expand in quantity and matching degree, which means that when building an application, the modification will be Fewer and fewer. In other words, the low-code platform will continue to be strengthened in terms of improving efficiency.

question:

I also found some problems in use in my experience:

1. The application framework cannot be restored after being accidentally deleted, but can only be rebuilt, and cannot be recovered through "undo", indicating that it is not particularly smart and there is room for optimization.

2. For beginners in programming, there are still certain limitations. Some complex applications and functions will involve function calls, which still require programming foundation to understand.

3. The horizontal layout of the PC version of the application homepage will look strange, and there is some room for optimization when adapting to the mobile terminal.

Where is the value of low code?

So, just "low threshold" and "high efficiency" are worthy of the pursuit of the entire industry? of course not. Although low-code still has some limitations, at least it has initially given IT development capabilities to people who don't understand IT, which will bring a lot of value.

1. Low code simplifies the difficulty of digitization. There are tens of millions of software, but why are there not many traditional enterprises that have successfully digitally transformed? Once there are remarkable results, it is also known as the benchmark of all walks of life.

Software is universal. Even industrialized software is developed after excavating, sorting out, and condensing common problems in specific industries. Most of the digital difficulties lie in "how to turn general-purpose software into a system that fits a specific enterprise." This creates a large number of trivial but particularly important fine-grained requirements, and it is also an important sticking point for digitalization.

Low code makes the digitization of these corner requirements easy. With the general system, the different needs of the sales department, production department, and financial department can be solved by themselves, and professionals can be found for complicated ones.

2. Low code liberates creativity and brings the possibility of innovation to enterprises. In the past, applications were developed by IT or outsourcing companies. They may have some understanding of the industry, but it is still difficult to fully understand the ideas of the demand side. The specifics of the department. Do the doctors in this department understand? When doctors can develop applications at will to solve their own work problems, they can also continuously add new needs and new ideas, and the possibility of precipitation and innovation is greater.

3. For individuals, it is a tool for efficient work. The above two points are more discussed from the perspective of the company, but the low-code audience still needs individuals. Using this tool proficiently, you can quickly build some daily work and even small applications in life, without waiting for someone to help you solve the problem. ".

In actual combat experience, generally speaking, developing some form and process applications with low code is easier than imagined.

Low-code can indeed lower the barriers to entry for development, allowing people who know more about business processes but have no programming foundation to participate in the construction of applications, which is similar to "letting people who can hear the guns make decisions".


Expanded content:

Comparison of traditional development and low-code development process

Taking the "ERP" system as an example, the comparison between traditional application development and low-code development

Traditional application development process:

1. Figure out the requirements.

2. Planning structure.

3. Choose the backend framework, some libraries, data storage and any third-party APIs.

4. Pick a front-end framework and hope not to deprecate it until you are done developing it.

5. Select the deployment stack, set CI, and create an operation plan.

6. Create wireframes and prototypes.

7. Manually write UI code in the JavaScript framework of your choice.

8. Write a bunch of failing tests.

9. Define the models and connect them to the data store.

10. Define and then write business logic code.

11. Create views that will provide or receive the necessary JSON data to or from the front end.

12. Implement your workflow and UI in the front-end framework of your choice.

13. Integrate third-party APIs using their published interfaces, or, if you're lucky, use a library supported by your language of choice.

14. Repeat until the test passes.

15. Test for security, performance, quality and user acceptance.

16. Deploy, patch, monitor, update until the end of the application lifecycle.

Low-code development process:

1. Determine the requirements.

2. Select any third-party API.

3. Draw the workflow, data model and user interface of the application in the visual IDE.

4. Connect your API, usually using automatic feature discovery.

5. If necessary, add any manual code to the front end or customize the auto-generated SQL query.

6. Test user acceptance.

7. Deploy to production and then push updates with a single click.

In addition to low-code development platforms, there are now no-code platforms that can complete application development without any code. Many people think that low-code and no-code are the same, but in fact, low-code and no-code The difference is quite big, and it should be distinguished when choosing a platform.

that's all.

If you like it, you can like it and collect it~

Guess you like

Origin blog.csdn.net/qq_41137493/article/details/131782756