The right low-code software development platform will significantly reduce costs over the entire software development lifecycle. They also shield developers from having to worry about how their project will be deployed across various devices, interfaces and platforms, enabling them to remain focused on quickly delivering business applications and value.
Below is a list of the key elements to consider when evaluating a low-code platform. Finding the right solution that addresses all of these areas will help simplify application development, increase the pace of delivery and insulate developers from the ever-changing underlying technologies in the long run.
The key elements to look for from a low-code platform:
- Breadth of application creation capabilities
- Simple integration with new and existing systems
- Depth of the development environment
- Simplified application maintenance through business rules
- Broad cross-platform support and deployment options
Breadth of Application Creation Possibilities
The most successful low-code development platforms will assist in the rapid prototyping, design and deployment stages of creating enterprise-grade web and mobile applications. Abstracting the business logic from the underlying programming code can help to build supportable and maintainable applications that last.
Working alongside business analysts and end users, prototypes should be defined in short order so that ideas can be fleshed out and processes simplified. Gathering user feedback early through the use of real-time prototyping often saves time on the back-end of the development phase and greatly increases user acceptance.
Flexible Deployment Options
Low-code platforms will typically address the needs of deploying applications to many different device types from mobile phones and tablets, right through to desktop and web browsers. The use of responsive design techniques helps significantly. Many low-code solutions take a mobile-first approach. That sometimes means the desktop version can suffer if additional development is not done. One must also have flexible deployment options that enable deployment of server-based application components In a wide range of cloud platforms as well as on-premises and hybrid configurations.
Low-code development platforms are designed to boost developer productivity by providing an intuitive development environment that hides and abstracts low-level functionality to achieve much greater levels of efficiency and a shorter learning curve. The entire application life-cycle should be taken into account when considering developer productivity with low-code platforms. Not all deliver as well in all use scenarios. Do your homework and consider LANSA’s white paper on 5 Key Considerations when Selecting a Low-code Platform.
Simple Integration with New and Existing Systems
Many applications are thought of as single entities that service a particular task or function. The reality is that under the covers, applications involve a series of multiple integration points, communicating with many different components including databases, internal and external APIs and connected devices. This integration of multiple components is, therefore, a critical element in the strength of any low-code platform.
Many low-code platforms will claim to integrate with ‘everything’ through the use of RESTful APIs. Whilst this is useful and RESTful APIs have a valuable role to play, they may not always be available and may need to be developed externally in order to allow the integration to take place. Low-code solutions are designed to do away with external development, so requiring a lot of external development negates its promise.
The ability to integrate with a wider selection of integration points is therefore imperative. Most organizations have legacy applications with EXEs, DLLs and .NET components that contain code that runs their business. Integrating with these without having to wrap them as RESTful APIs is important. Check your low-code provider to ascertain the level of effort needed to integrate low-code apps with these other frequently occurring Interfaces In typical real-business ecosystems: XML, JSON, PDF, Spreadsheets, CSV, EDI, S/FTP, AS2, SMS, POP3, SMTP, HTTPS, SSH, ZIP, etc.
Depth of the Development Environment
Organizations will often be attracted to low-code solutions because it’s very difficult and expensive to find and hire full-stack developers that can quickly work on any aspect of an application. Low-code development platforms shield developers from the complexity and accelerate the application development process by auto-generating all of the source code on behalf of the developer.
Developers should never need to see the generated source code. However, with some platforms, they may need to drop down into the code (and out of the low-code environment) to maintain or extend the application beyond the capabilities of the low-code solution. Dropping into Visual Studio or Eclipse and reverting back to traditional application development negates the benefits and promise of low-code. In addition, having to drop out of the low-code environment will often break a fully integrated DevOps process.
When building, maintaining and extending applications, the best low-code platforms should never require developers to leave the low-code environment. The more often developers are forced to work outside the environment, the less “low-code” those platforms become as developers have to revert to traditional application development. This has massive implications for maintenance which will now need to be done both inside and outside the low-code environment. With weaker low-code platforms, this happens most often when:
- Redesigning screens
- Modifying code
- Debugging applications
- Deploying applications
Being able to perform these tasks within the development environment ensures that both development and ongoing maintenance does not become fragmented. It is also far easier to introduce new developers into the project.
Simplified Application Maintenance Through Business Rules
Business rules that include details of how information should be handled are very important to applications. In an application context these can include:
- Data definitions
- Table definitions
- Business logic
Maintaining these business rules is an ongoing challenge. Multiple applications often need to refer to and use the same rules. Hard coding them in every program increases the maintenance burden and introduces potential inconsistencies by having rules residing in multiple places.
There is great architectural advantage in storing all the definitions, connections and rules in a centralized business rules engine, external to the application whereby when a rule is changed, all applications that use it will automatically inherit the change. The execution of the rule will be guaranteed and enforced in every application.
High-end low-code platforms typically separate business rules from the applications themselves into a business rules engine that should allow for:
- Creation, storage and maintenance of definitions in a single repository
- Storage of definitions at an independent data services layer
- Importation of existing data schemas
- Accessibility of business rules from programs outside the low-code platform
Broad Cross-Platform Support and Deployment Options
One of the key benefits of a low-code solution is that it shields developers from the underlying technologies and easily allows migration from one technology to another. The same is true for deployment options. Low-code development platforms that possess many deployment options, can ease a future migration path and help easily port applications over to a different technology stack if required in the future.
It’s critical that low-code platforms support a range of deployment options and capabilities including responsive UX/UI design, options for contemporary Google Material Design standards, iOS, Android, database agnostic support Including MySQL, SQL Server, DB2, MongoDB, Oracle, Sybase, cloud, on-premises, hybrid cloud and servers spanning Windows and Linux.
Portability is as important as supporting the deployment options listed above. High-quality low-code development platforms will provide a level of abstraction enabling easy portability of server platforms or databases with little to no modifications of applications. Migrating to or from the cloud must also be a simple process, as well as supporting hybrid environments.
In addition to mobile and web applications, standalone or client-server Windows desktop applications for laptops and workstations and Windows server programs initiated from job schedulers, are important within many organizations. Where Windows is a critical part of the infrastructure, the low-code solution must also provide support for building native Windows apps.
Beyond the Technology
The right low-code development platforms are those that significantly reduce the total cost of ownership (TCO). This encompasses the initial design and development as well as the ongoing application maintenance, modernization and extension. The ability to easily maintain and extend applications must therefore be a key consideration when selecting a low-code platform.
In addition to the technical considerations of a low-code development platform, selecting the right vendor to partner with is also critically important. For low-code solutions factors including the following should be considered:
- History of supporting customers with application development, including number and types of projects undertaken
- Track record of staying current on new technology
- Ability to support proof-of-concept projects
- Support, training and mentoring options offered
- Professional services offerings
- Customer reviews and references
It’s important to be sure the vendor will be available to support development efforts on an ongoing basis. Major digital transformation projects can often take years and whilst the low-code approach will reduce the time to deliver, it’s important the vendor and its platform will be there for the long haul.
Markets are rapidly evolving and the businesses who succeed in the future will be the ones who use technology to steal a march on their competition and make the most of the new opportunities presented. In practice, this means new systems and applications will need to be created or existing ones updated and modernized.
Traditional application development methods fall short and cannot keep up with the demands of the business for innovation in the tight timescales required. Low-code development platforms offer a new and better way to meet the business need for high-quality applications, delivered in a timely fashion with easy deployment and maintenance options.
Low-code has never been more accessible to organizations large and small and it presents the greatest opportunity for new applications to deliver transformational value to the business.
In this series of articles, we’ve listed the challenges of building new applications and how low-code can help to address them. In addition, we’ve summarized the key capabilities to look for when getting started with low-code platforms.
For a deeper description of key capabilities that you should seek in a low-code platform, take a look at our white paper on the 5 Key Considerations when Selecting a Low-code Platform.