Introduction
In the software development world, the low-code genie is out of the bottle. Enterprises have figured out that low code is the only way they can hope to keep up with demand for new business apps. According to Statista, 58% of business users stated that low code development is more than 40% faster than traditional development. Digital transformation has to be a collaboration between IT and the business. Working together, they can determine the highest value workflow automation targets and deliver outstanding user experience with the help of low code.
The best low code platforms enable citizen developers and professional developers to work together. They support the design, build and deployment of custom applications that can give business a competitive advantage. With hundreds of low code platforms available, how do you choose one? We have put together a few considerations for helping your team decide.
Related Article: Low Code Development: Reasons Developers Use Low Code Platforms
Leverage All Your Team’s Skills
There are many reasons businesses utilize low code tools. Being able to support citizen developers and professional developers is critical, and low-code can help create a soft landing for people without coding experience.
Look for a low code platform that supports both citizen developers and professional developers in an integrated environment. Drag and drop development will suit some users, but working with code directly might be preferable to others. Make sure that when specialized code is required, it can be easily included in the project.
Ensure there are tools (e.g. branch and merge) to support multiple users working in parallel on the same project. Also look for tools that allow professional developers to wrap custom code in shareable libraries. Make sure these can easily be leveraged by the rest of the development team.
Design Standards Support
A big part of developing business applications is user interface development. With low code, when you decide a screen needs a button, the code for the button is generated. The behavior of the button, including how its appearance changes with active/inactive states, animation on mouse-over, etc should also be generated.
Many thousands of hours have been invested by UX designers in optimizing the behavior of all kinds of UI elements. The good news is that you can leverage that investment. Look for a low code platform that implements an existing design standard (e.g. Google’s Material Design).
Integration Standards Support
When building a new application, how easy is it to securely integrate existing data sources using protocols like REST? If your new application needs to provide data to other applications, does it easily fit into your system landscape? Look for a low code platform that follows the OpenAPI standard.
Most new applications will need a database for storing application data. Consider if the low code platforms you are considering support your preferred database type. The low code platform will manage the database configurations for you. Even so, most companies don't like to complicate their environment with additional database types for good reasons.
Workflow Automation
It's no surprise that some of the leading low code development companies are former BPM (Business Process Management) players. Many enterprise application development projects have a need for managing long-running business processes, with multiple handoffs between teams.
RedHat commissioned 451 Research to look into "Digital Automation Platforms" and they concluded that emerging platforms "enable intelligent process automation, changing how business and IT teams collaborate to craft the modern cloud-native applications needed to realize digital transformation strategies".
If your use case includes process or workflow automation, choose a platform with integrated process modeling. Once again, standards are the order of the day, BPMN (Business Process Model and Notation) is the one to look for here. Check if process execution is handled by a proprietary process engine, or with an embedded open source engine like Camunda.
Application Deployment and Scaling
Your application is built and it's time to deploy it. Can you deploy to the cloud infrastructure of your choice, or are you locked into a proprietary runtime environment? Is there a licensing cost to the runtime application? If you plan to have a large number of users, per-user costs can rapidly increase the cost of your low code initiative.
Look for a low code development platform that generates applications that run on an open source platform. This will give you the flexibility to run applications on-premises, on the cloud of your choice or a hybrid of the two. Additionally, you can scale up without paying exorbitant licensing fees.
Continuous Integration / Continuous Deployment (CICD)
Chances are, your software development organization already has some CICD infrastructure in place, why not leverage it? Ask if the low code solutions you are considering can integrate with your existing source code repository. Ideally you should be able to use your existing process for deployment pipelines with your low code apps.
Why shouldn’t “infrastructure as code” get the low code treatment too? If you plan to run your app in containers, look for a low code solution that can generate Kubernetes specifications (like Helm charts) automatically.
Mobile Apps
Developing mobile apps for internal workflows or applications can increase overall development effort. This is a good time to ask yourself if you really need a mobile app. Responsive UIs and Progressive Web Apps (PWAs) can give a solid app-like experience in the browser. This can save the extra effort of developing native mobile apps on multiple platforms.
If your low code development projects include delivering highly polished consumer-facing mobile applications, make sure you consider this in your selection. Some consumer scenarios actually favor PWAs. For example, attendees at a large event may not be willing to download and install an app on their device. A link in an email that opens a PWA enabled web app in the browser can provide all the needed functionality.
Conclusions
You have probably noticed a common thread to these selection questions. Industry standards exist for a reason. Don’t spend time re-inventing the wheel when it comes to the “plumbing” needed to run your app. Focus on the features that make your business app unique and valuable.
Open source software is another way to magnify the output of your team and get maximum deployment flexibility. Look for a low-code platform that makes it easy to leverage open source. Running your app on open source means you can scale to thousands of users without incurring additional license costs.
Apex Designer
We developed Apex Designer to be a powerful low code platform for developers and business developers. It is opinionated but flexible, and generates applications that run in containers on an open source stack. It has branch/merge capability for effective team working and supports CICD through common repo/pipeline technologies.