Hello everyone, I'm Casson.
Have you noticed that every few years, the concept of low-code is turned up and hyped.
It's no wonder that the biggest cost in the software industry is the labor cost (programmer's salary). Low-code claims to be able to:
- Replacing several programmers with one outsourcing
- Replacing programmers with product, design, and finance people
- Replace programmer with xxxx
In a world where only programmers are injured and can reduce costs and increase efficiency, how can capital not love.
The concept has been flipped over and over for so many years, why is there no low-code platform that subverts the way programmers work?
Today, let's talk about this topic.
Welcome to join the human high-quality front-end framework group , with flying
Low code, are we talking about the same thing?
Is low code in the eyes of programmers and capital the same thing?
For programmers, the concept of low code is closer to DSL
. For example, JSX
is an abstraction of DOM
.
If the method of directly writing and manipulating the DOM is regarded as code, then the React code written using the JSX DSL is low code.
Because the former is the direct imperative writing code of the developer facing the host environment (browser).
The latter is for developers to manipulate state declaratively, React
this low-code platform then translates state changes into methods for manipulating the DOM .
For capital, the concept of low code is closer to Jenny's spinning machine . With him, the spinner (programmer) can be revolutionized.
Why can the former development model be popularized on a large scale in the industry, while the latter cannot?
This is to mention their essential difference - is it a tool or a platform?
Tools vs Platforms
The purpose of tools and platforms is to reduce costs and increase efficiency . What is the difference between them?
The smooth operation of an application from development to launch involves many different types of work.
The way to reduce costs and increase efficiency of tools is to help the types of jobs that do these jobs to reduce costs and increase efficiency , such as:
- Front-end and back-end frameworks improve business development efficiency
-
Git
code management for multi-person collaboration -
Github Action
Used to completeCI
,CD
process
The platform's way of reducing costs and increasing efficiency is to abstract the workflow and work content into modules, so that even a layman can piece together an application as long as he assembles different modules.
That is to say, the former reduces costs and increases efficiency by improving the efficiency of professionals , while the latter reduces the threshold for work in a visual way, allowing non-professionals to replace professionals .
But there is a problem here - although the platform shields the complexity of software development, he cannot avoid the problems that software development will encounter. for example:
How to deal with customization needs?
When encountering customized requirements that cannot be met by module assembly , what should a low-code platform do?
A common solution in the industry is to reserve the ability to write code for low-code platforms.
After all, the product of a low-code platform is also code. As long as the product code structure is clear, programmers can still develop customized requirements on this basis.
But the problem is, the intervention of the programmer, which will make the following mapping conditions respected by the low-code platform:
From modules assembled by laypersons to applications
became:
From modules assembled by non-professionals to patch code by programmers to applications
Will the subsequent iterations of this application also require programmers to intervene? Isn't this cost coming back?
How to develop collaboratively
Now let's assume that there is a huge low-code platform that is very easy to use and greatly improves development efficiency.
The boss sees that the employees are idle, which is no more uncomfortable than the stock market falling.
So, immediately pat your head to arrange new demand development. There are not enough developers, what should I do? hiring.
How do these people collaborate on low-code platforms? Is it possible to introduce the concept of Git
into the platform again?
how to test
An application would have bug
. No matter how perfect the low-code platform is, it can solve the single test of the module itself, but E2E
who will do the test? financial?
open mind
The above-mentioned various problems will appear as the complexity of the project increases and the maintenance time becomes longer.
How to solve it? Put an eye on it here, and someone who knows the answer, please tell me.
If it can't be solved, let's change the way of thinking. How can we prevent the complexity of the project from increasing? Don't let the project maintenance time become longer?
Then limit the application scenarios of low-code platforms, such as:
- Low-code platform for developing marketing campaign pages
- A low-code platform for developing enterprise official websites
Let's think about it again, the platform was developed to sell money, as long as the user collects the money before realizing the above problem, won't it work?
If you are not good at faking the Internet, then we can help traditional enterprises to digitally transform. I will set up an official website for you in 20 minutes. This transformation speed can be expected in the future.
Please, transfer payment.
Ideal low-code platform
Platform-based low-code is hard to get right, but tool-based low-code has good prospects. Take React
for example.
Before using React
, front-end developers directly operate DOM
. With React
, the front-end logic of the business is encapsulated into modules called components .
Next, React
came up with Server Components
, the component can run on the server side.
This step also encapsulates the server-side logic of the business into components .
At the same time, Hooks
can be hooked to view state on the front end and microservices on the back end.
Do you like this component -based, Hooks -based low-code tool ?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。