In recent years, the heat of low code is very high in China. Tencent, Bytedance and Ali and other Internet giants have layouts in the direction of low code. Low code is very attractive to the market, as we can see from the IPO size, but low code and no code are both positive and questionable. This article will introduce low code from a programmer’s point of view.

What is low code

Low code is a software development approach that requires little or no coding in the process of building an application. A low code platform is a set of tools that develop software without an extensible coding language using a visual interface with simple logic and drag-and-drop capabilities. The main goal of low code is to reduce the amount of manual coding (that is, writing code from scratch) and increase the amount of code that is reused.

Low code has three components:

  1. Visual integrated Development Environment (IDE) : It is a core part of low-code development platforms. It is usually a drag-and-drop interface that developers can use to create the desired interface, and they can also use it to add handwritten code. Typically, a developer completes most of the application with components built into a visual integrated development environment, and then customizes the last mile with custom code.
  2. Connectors: Low-code platforms use connectors to plug various back-end services, databases, and apis into the platform, and connectors give the platform extensibility and enhanced functionality.
  3. Application lifecycle manager: If low-code platforms are to generate robust applications, then it needs to have high-quality lifecycle management, tools for testing, debugging, deploying, and maintaining code, which is a necessary step in creating any application no matter how you create it.

Low code vs. no code

I mentioned earlier that low code consists of three parts: visual integrated Development environment (VIDE), connector, and application lifecycle manager. Codeless platforms also have these three parts. At first glance, they don’t seem to differ much, except for customizable and uncustomizable code.

When logging in to any two low-code platforms and no-code platforms it’s easy to notice that their target audience is different, and if that’s the only difference between them, then it’s entirely conceivable that low-code and no-code platforms will one day converge. Code-less platforms remove the ability to write code, while code retains the ability to write code, because of the underlying philosophy.

Programmers are constantly trying to improve the reuse of components, functions, or classes, and you can assume that the entire industry is built on that desire, just think of the Open apis and NPM package managers. If you think you’re taking the easy way out with a low-code platform, then imho, you’re probably already taking the easy way out with open source solutions like React, Vue, and Scaffolding.

Low code is not a subversion of tradition, but a continuation of it. Theoretically, low code respects the fact that developers still need to customize. Customization capability is the difference between low code and no code at the DNA level. Codeless is typically designed as a “disposable” application with a simple interface and no customizability or advanced functionality.

Low code scenarios

The internal tool

Internal tools don’t have flashy looks and interactions, but developers spend a lot of time with them, with one study showing that developers spend nearly a third of their time building internal applications, rising to 45% in companies with more than 5,000 employees.

Developing internal tools with low code is not to say that internal tools are not important, it is important. However, it’s fair to say that internal tools are not always where developers want to spend their time, or how organizations want to spend their R&D resources. Using a low-code platform allows in-house tools to be developed faster, even by non-developers, allowing professional developers to spend more time doing more challenging, complex things.

MVP

MVP, or Small Viable Product, was developed by renowned startup expert Eric Reese and requires developers and startups to deliver products faster, get feedback earlier, and take customer needs into account. MVP is a good use scenario for low code, which can shorten the software development cycle.

Advantages and disadvantages of low code

Low code has a variety of advantages and disadvantages, depending on the low code platform and how it is used.

benefits

  1. Added time value: Low code development allows developers’ ideas to be executed to production more quickly than manual coding.
  2. Improve developer productivity and efficiency: Many low-code platforms come with pre-built components, and most platforms have the ability to reuse components, making low-code development easy to assemble.
  3. Faster response to market changes: Low-code platforms enable products to flexibly adapt to market changes and customer needs by quickly delivering the latest applications or easily updating existing applications in line with the latest trends in customer experience.
  4. Lower costs: Low-code platforms require less programming expertise, which helps reduce the lack of IT resources that many companies face and eliminates the need to hire more development experts.

The bad

  1. Vendor lock-in: While manual coding is complex, it is flexible and extensible, and low-code platforms have the potential to lock developers into a limited ecosystem, although this disadvantage depends on the low-code platform you choose.
  2. Scalability: Non-hand-written code may not be robust enough to scale, and if low-code platforms are built without scale in mind, in extreme cases such as Double eleven, this can be bad.
  3. Technology mobility: If vendors don’t design low-code platforms with technology mobility in mind, things can get ugly when applications built with low code need to be updated or the underlying technology needs to change.
  4. Software governance: Low code allows more people to participate in software development, which reduces costs for the enterprise, but makes software governance more complex. If unauthorized changes are made by a broad group of developers or, worse, disgruntled former employees, they can pose a serious security threat to the software.

The impact of low code on software development

Low code development will not replace traditional software development, but it will change software development in some areas, and the changes will be dramatic.

The code will add more abstractions

Historically, low code has been another layer of abstraction between the developer and the code. The roots of low code can be traced back to the fourth-generation programming languages of the 1990s, computer-aided Software Engineering (CASE), and rapid Application Development (RAD) tools that attempted to achieve the modern goal of low code: building real applications in less time and code.

Even modern frameworks like React and Vue are a low-code form of JavaScript that requires more code to get the same results.

Low code will increase the range of software developers

Low code allows more people to participate in software development, and it broadens the pool of software developers, which means companies don’t need to hire software developers for every software requirement. This does not mean that developer hiring will slow down, but companies can reallocate developer hiring from certain projects, such as in-house tool development, and place more professional software developers on customer-facing needs and complex and unique software development issues.

conclusion

Google ‘Is Low code the future? ‘will return more than 2 billion results, baidu search’ is low code the trend of the future? ‘returns over 40 million results. In fact, low code is not the future, it is part of the future, and it will shine in internal tool development.

Regardless of the commercial value of low code, only from the technical point of view, low code platform includes technologies such as forms engine, process engine, component richness, data management, extension function, micro front end, rules engine, version management and CI/CD, programmers can completely expand their professional ability with low code as the starting point.