As more low-code and no-code software development solutions enter the market, spurred on by the increase in citizen developers in business departments who want to develop their own applications, the eternal question remains: How do you enable these user-friendly software development tools, which require very little hard-core coding skills in citizen developers, to address the nittier requirements of software applications that still require highly skilled IT professionals to custom-code interfaces and other infrastructure tunings that are beyond the skillsets of citizen developers and the capabilities of low code and no code?
SEE: Business leader as developer: The rise of no-code and low-code software (ZDNet/TechRepublic special feature) | Download the free PDF version (TechRepublic)
The answer may well be flex code, which provides the same benefits of low- and no-code tools (e.g., ease-of-use and visual interfaces) while also offering higher-code functionality for greater customization and control. Flex code even allows users to build applications by using their own preferred programming language.
How flex code works
“As the name implies, flex-code solutions offer flexible coding options, providing the benefits of low- and no-code solutions while enabling advanced customization and flexibility to go deeper when needed,” said Sean Knapp, CEO and founder of Ascend.io, which provides flex-code solutions.
Let’s break that down.
Flex code is flexible because it can accept and work with no- or low-code from the most basic application development. Flex code can also facilitate and automate high-code solutions, such as those found in custom code because it has the ability to interact with the underlying IT infrastructure to create the deep down code manipulations and tunings that native code requires. Flex code can do this because it communicates with the automation built into the underlying IT infrastructure and lets that infrastructure’s own built-in automation fill in all of the deep down functions that an IT developer would have had to hand code in the past.
The value proposition for all developers throughout an organization, whether they are citizen developers with scant programming skills or highly skilled IT application developers who cut native code, is that their development work is lessened. The underlying flex code can do much of the work for them. For example, flex code can express the logic of a computation in a program without having to execute the sequential control flow of that logic that the underlying IT infrastructure needs to understand in order to execute the program. Flex code can do this because the infrastructure itself can do it and flex code can work with that infrastructure.
The use of flex code also simplifies companies’ software development platform choices.
“Historically, teams had to decide if they were taking a no-, low-, or high-code approach, and all members were committed to the same method” Knapp said. “Flex code enables the compatibility (and interchangeability) of these different approaches, giving each member of a team the ability to interact with the platforms the way that works best for them—high-code environments for those who want or need to customize code when necessary, and low- to no-code environments for those who want to work in the visual interface.”
Does the flex code always work?
“Flex-code solutions require domain-specific control systems that understand the ecosystem at multiple levels. It is also up to either the control system to provide support to various underlying systems or have developers tap deeper into the high-code interfaces to do so,” Knapp said.
In other words, if a particular platform has a control system that does not interpret and automate the control system sequences at multiple levels of the system, potentially from bare metal up, it might not mesh well with flex code.
This is an area where IT and end users need to figure out where flex code fits as a strategy and where it is better to stay with other forms of application development.
SEE: Low-code app development: How Microsoft’s Power Fx language is evolving (TechRepublic)
There will be the inevitable cases where a flex code approach can’t effectively communicate with underlying software infrastructure, but there is still a strong case for incorporating flex code in a development environment.
First, when developing high-code applications, system infrastructure is constantly changing, and developers must keep up with that. A flex-code approach that automates the deep down infrastructure coding reduces the amount of hand coding and can ease the job of software maintenance.
Second, a flex-code approach can facilitate a wide range of development—from no code to high code. Flex code could conceivably be adopted as a uniform development platform, although there might be some low-code users who still do not have enough IT skills to use flex code.
“Low- and no-code solutions offer exceptional benefits for many users,” Knapp said. “By leveraging visual programming interfaces, these tools abstract away the majority—if not all—of the coding required to implement business logic, opening up the ability for a broader range of users to drive business outcomes.”