Low-Code Is Slightly Toxic, But It Works

原创 精选
Techplur
Is low-code development a miraculous technology that allows your application to get into production in 30 minutes and at a 90% cost savings?

Is low-code development a miraculous technology that allows your application to get into production in 30 minutes and at a 90% cost savings?

Some say programmers’ jobs are at stake.

This has happened to you before: you worked on collaborative debugging with the front-end all morning, discussed requirements with the project manager all afternoon, debugged all night, and awoke to a series of alarms on the second day. At this moment, your exhausted mind has generated a novel notion: why not utilize low-code?

Or, you may have seen some news about the low-threshold development of software recently, which may go like this: “30 minutes to build a registration application," “2 hours to launch a message-posting application," or "Receive an offer of over 10,000 RMB even if you are a recent college graduate."

During COVID-19, there have been a few instances in which non-programmers have created simple programs that increase the efficacy of limiting the spread of illness. With the assistance of low-code, several "novices" may implement "agile development," which saves money and time compared to conventional software development. Typically, the development process will involve a number of processes, including demand research, product design, software development, debugging, testing, and front-end to back-end delivery. The procedure may require at least five working days and 10 people, making low-code a popular technique for solitary developers.

The low-code development platform uses visualization, modularity, and drag-and-drop to replace the code written in traditional development, reducing the redundant and repetitive coding work, thus saving costs and increasing profits.

It seems that low-code is blurring the boundaries between professional developers and non-professional developers, slowly reshaping the relationship between employees from IT and other departments.


Scarcity is the key

It seems that software development tools are following their own Moore’s Law that every 18 months, on average, a new development tool will emerge and claim to cut costs by 50%, while business needs will increase by twice as much. For example, the evolutionary path of programming languages started with the machine language of “01001001”, then with the assembly language of “mov” and “add”, and the high-level language of “if” and “else”.

But will low-code be the next generation of languages? It seems unlikely at this point. The iteration of programming languages is driven by the rapid growth of market demand. Since its inception in the 1950s, the demand for software development has been growing at an ever-increasing rate, and software developers have been a scarce resource.

The industry has pulled out all the stops to solve the shortage:

1. Build frameworks and tools to improve developer productivity;

2. Lower the development threshold so that non-developers can also develop software. This move has been made under various names in the past decade, but the targets are similar, regardless of being called the fourth-generation languages, computer-aided software, or the now-hot no-code/low-code.

The underlying logic of the low-code hit is the inevitable digital transformation. Enterprises are nearly facing the same situation. There is a surge in demand for application development but a shortage of qualified programmers. Hence, it must modularize, visualize, and customize repetitive and consumable development capabilities.

In other words, programmers will not lose their jobs, just like the spread of ERP applications that support secondary development has not reduced the market demand for professional programmers. Companies often need additional expert positions for this new development tool because they need practical and implementable solutions to check and make adjustments in time instead of hiring an entire development and maintenance team for the extended operation.

Professional developers then may lose the opportunity for less technical and repeatable projects that do not require creativity. After all, defining requirements alone can make developers argue with project managers and product managers for weeks.


It’s All about Jobs

From a certain point of view, even though the traditional development model is tedious, it still relies on a programmer to accomplish it. But the emergence of the low-code has made it less stable. It is natural for programmers to worry about whether they are strong enough to keep their jobs.

This may not sound very encouraging, but the popularity and commercialization of any software or language are not driven by the individual preferences of programmers but by the market’s business needs. If there is no better, faster, and more perfect solution to the “developer scarcity” problem than low-code, then the wide use of low-code is inevitable.

Existing traditional developer frameworks and tools can’t keep up with the pace of this urgent need. Three months vs. 30 minutes, the decision is straightforward to make.

It doesn’t mean that programmers will be caught in the Squid Game of “one replaces the other."

Just as mainstream programming languages are leading the way in their respective fields, low-code needs to achieve a “mixed coexistence” in the ecosystem.

No-code: the IT industry may gradually move away from using code primarily for business workflows and digital marketing content.

Low-code: It will provide the backbone of most custom UI layouts and application logic (front-end and back-end).

“High”-code: “High”-code will persist for complex software components and essential software (tools, operating systems, etc.), such as 3D game interfaces and their underlying game engines, and mega CRM systems. The implementation is very complex, and software like this is highly standardized; in most cases, it can be done by off-the-shelf SaaS software directly.

The coexistence of the three different approaches and philosophy requires interoperability. Predictably, in this balance, users can merge any existing software components, whether open source, commercially licensed, or built on their own. They should not be limited to components for low-code platforms or the need to write custom code specific to that platform to achieve this.

Therefore, your job is secure in the coexisting ecosystem, and there is no need to worry about losing it.


The Three Shortcomings

Even the most advanced tools will have their shortcomings; low-code is the same.


Black-box paranoid

The various visual components, logical actions, and deployment environments on the platform are all black-boxed that cannot be troubleshot and solved if something goes wrong internally.

This seems to be the most significant pain point when using low-code platforms, but it is not an inherent flaw of low-code technology itself.

Facing this kind of platform problem, just like the “blue screen” for the Windows system, we choose to use “abstract” to simplify the usual operations; thus, it is inevitable to encounter the “black box”. But to all developers who’d love to get to the root of the matter, would you drop Windows because of the blue screen?


Inconvenient Maintenance

It may look perfect to only use one or two commands and then generate everything. But if something needs to be edited, you might have to go back to the most fundamental part and find the need to inherit and rewrite the original class to achieve the essentials, even though some have bugs.

Concerning maintainability, the immature yet low-code naturally needs to be improved. But the root cause of low maintainability is not the problems of development tools, but the fact that the developers themselves did not follow some universal software development principles, such as engineering standardization, naming readability, and DRY/KISS/SOLID principles.

Therefore, low-code platforms should actively guide and help developers improve their applications’ maintainability. A good reference is Mendix, a well-known low-code platform. It not only supports basic model analysis and refactoring (useless models, object renaming, and sub-logic flow extraction), but it also includes application quality monitoring (AQM) capabilities based on the ISO/IEC 25010 standard.

Low-code, meanwhile, has its own application situations and capacity limitations. If the business environment is too complicated and difficult to manage, it is advised to convert back to a high-code strategy.


"Stack Lego bricks"

Some developers are not in favour of the low code. They may not like the functionality or poor experience and treat it as a tool to develop “toys”.

The simplicity may be why many developers scoff at the development method. Besides, most low-code applications generated are pretty basic, which are just simple apps with the function of “registration/audit form," and other cases, including security, performance, and scalability, are not guaranteed.

This has shown the imperative need for digital transformation development.

When a mature enterprise-grade low-code development platform is available, it will meet the functional requirements of most of the more “advanced” scenarios efficiently.

Meanwhile, there is another problem with the current development of low-code. Suppose major platforms use proprietary technologies to create a “walled garden” or use high-code alternatives as a last resort when no/low-code developers encounter limitations. In that case, the low code could cause so much harm to the industry.


A New Perspective

Ultimately, market demand is driving our production tools, and the spread of the COVID-19 pandemic has sped up the global wave of digital transformation. Although low-code is a new concept, its technology is just like other programming languages and technology stacks that pioneer new development methods and solve the scarcity of enterprise development resources.

Developers and technology managers need to rethink and reposition themselves.


Technological democratization

As the business environment and models change, with the support of cloud and AI, the digitization of SMEs will naturally lead to the reconstruction of the respective knowledge system and personnel business ability model. For example, editing video is no longer the sole skill of photography professionals since everyone can now easily do that on some apps.


Making professionals more focused

Low-code abstracts business logic in various industries so people can realize the creation of applications from the logic layer, which is ideal for the short lifecycle of temp applications and can even be burned after use, such as questionnaires and statistical reports. You can just operate it after some training without bothering the IT department. Meanwhile, high-code developers with full-stack skills can also create more challenging applications requiring more experience and encapsulate business logic into low-code modules.


Conclusion

As time progresses, there will only be more opportunities for technologists. 70 percent of new apps will be created using low-code or no-code technologies by 2025, as projected by Gartner. Low-code may be contentious at present, but with additional supporting tools, it may usher in a brand-new era for business and our lives.

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2020-11-17 07:02:15

2022-08-31 14:46:15

low-codeHipa CloudDevelopmen

2021-03-04 12:57:02

PaaSSaaSIaaS

2020-03-30 09:04:06

程序员Low CodeGoogle

2010-06-28 13:51:18

SQL Server

2009-07-14 15:34:46

综合布线数据电缆火灾

2019-10-15 15:19:59

Python爬虫low

2016-08-11 14:49:34

Java垃圾回收机制异常

2012-06-28 14:02:37

2014-07-24 09:32:31

机械三维

2012-11-27 16:20:26

e-Learning平

2014-07-08 13:42:28

上网行为管理

2022-01-13 08:31:55

操作系统控制台时间

2018-08-16 15:11:47

Code ReviewPPT代码

2015-12-23 16:14:46

e-works

2014-03-17 11:05:00

ScriptCode Blocks

2022-04-06 12:35:37

网络攻击勒索软件

2012-10-10 09:56:08

精益研发
点赞
收藏

51CTO技术栈公众号