While low code offers several out-of-the-box services to assemble an application without writing code, there is a growing need for more sophisticated features to support the developer mindset and modern IT.
Working With Data
Most low-code platforms are extensible, providing direct integrations with major vendors and enabling IT to turn APIs, web services, and command lines into reusable building blocks. In addition, these out-of-the-box integrations will let you connect to external APIs, allowing easy use and management of authentication tokens, retrieval of data, and some level of query parameterization.
Outside of standard connectors, the developer is often faced with several nuances such as authentication, data validation, and error handling, sometimes making integration to a particular technology so complex that it can diminish the critical benefits of low-code development. Therefore, knowing if the platform supports industry-standard interfaces and protocols (e.g., REST, JDBC, OData), or whether it is open and extensible with custom code and APIs, will significantly influence adoption within larger development teams.
Customization and Complexity
One of the past criticisms of low-code development has been the perceived limitation on the types of apps it can deliver. In the past, many "solution or vertical-niche" platforms were centered solely around common business problems, concepts, or industries (e.g., workflows, BPM), which created a perception amongst IT teams around the lack of flexibility and the inability to provide the additional functionality that they would want or need.
However, as the role of the software developer and technology advances, so has the modern low-code platform. But customization options still vary widely from platform to platform. Some are proprietary "black boxes" that hide the code; some are open-source and provide access to the underlying code. Others offer the capability to supplement the generated code with additional custom code.
Before adopting any platform, it's essential to know how easy it is for developers to bring any external innovations into the low-code platform. Having the capability to build applications quickly while balancing the requirement for more complex functionality is a fundamental factor in developer adoption. To deliver fully customizable applications, developers demand a pro-code-like experience where they can quickly implement complexity in their solutions, accommodate for edge cases, or integrate unique solutions into even the most complicated technology stack.
Enterprise Development
For adoption in the enterprise environment, the developer may need to consider a deeper feature set related to their particular circumstances, including how the platform approaches asset reuse, scalability, DevOps, and compliance and security.
Reuse
The reusability of assets is a crucial driver of productivity among IT teams. A good low-code platform should allow users to re-use pre-configured modules, core functions, code snippets, and back-end integrators to build different applications swiftly.
Scalability
Low-code solutions should allow scaling for both usage in the environment and your application. For instance, you may have the infrastructure capacity to develop and deploy apps, but your license terms may restrict it, and vice versa. So when setting up, find out the platform's capacity and determine if it suits your scalability needs.
A genuinely scalable low-code platform has well-defined REST APIs that separate the UI from the back-end layers, allowing for developing applications at scale and ensuring that the key practices in terms of performance and design are followed as per industry standards. Ideally, the low-code platform must have fast API creation and binding tools with automated API documentation to help you re-architect your monolithic, legacy applications to modern, microservices-based micro-apps.
DevOps
A sophisticated low-code platform should integrate and support the capabilities of an Agile development process. When it comes to DevOps capabilities, consider:
- Versioning applications or integrating with a version control system such as GitHub
- Working across the development lifecycle (dev, test, and other environments)
- Ability to connect to tools that manage backlogs and roadmaps
- Integrating with continuous integration, change management processes, etc.
- Tools and other specific functionality to support disaster recovery and data sciences
Compliance and Security
While citizen developers often do not have the experience or understanding of security implications, it's a critical step for enterprise developers. Relying on your internal security team to evaluate the platform before purchase should be considered best practice. An expert is best placed to understand how the platform can accommodate role-based administration, data masking, and other considerations, such as HIPAA compliance, hosting constraints, or other security-related limitations.
{{ parent.title || parent.header.title}}
{{ parent.tldr }}
{{ parent.linkDescription }}
{{ parent.urlSource.name }}