In a recent BrainBlog post I discussed the spectrum of low-code/no-code platforms. At the no-code end of this spectrum are tools for business users to create a variety of business applications via straightforward, drag-and-drop style interactions.
At the other extreme, low-code platforms like OutSystems focus on accelerating and streamlining the work of professional developers, as they build enterprise-grade applications.
Fair enough – but what do we mean by enterprise-grade?
Simply building applications that are suitable for use in large organizations isn’t sufficient. After all, most of the no-code platforms are perfectly good at creating a wide range of useful apps that would be at home in any bank, manufacturer, or insurance carrier.
Enterprise-grade, in contrast, refers more to the broader IT context of the platform, as well as the applications people create with it.
The Power of Bespoke
No-code platforms are generally useful for creating apps of a particular type. Some platforms may support form-based apps, while others might be better at workflow-centric ones.
Enterprise-grade low-code platforms, in contrast are suitable for bespoke applications – a term that essentially means custom-built, where the only constraint on the capabilities of the resulting applications is the imagination of the developers.
How well apps created on a platform work within the enterprise application environment is another essential part of the enterprise-grade story.
No-code platforms support simple, straightforward integrations with other applications that have modern APIs. To be enterprise-grade, however, a low-code platform must support the full range of integration technologies and approaches, from RESTful APIs to message queuing to traditional data integration.
Such integration requires a skill level that may fall well beyond the skill set the no-code platform providers target.
Enterprise-grade applications also work well in the context of diverse execution environments. Some apps may run on traditional, on-premises runtime environments, while others may run in the cloud – or support hybrid scenarios, for example, where the application runs in the cloud but integrates with data or other applications that reside on-premises.
As most of today’s enterprises are undergoing digital transformation, the digital context is also part of the modern meaning of enterprise-grade. Digital means supporting customer preferences and behavior regardless of their choice of device or interaction modality.
As a result, enterprise-grade low-code platforms must be able to create fully responsive applications – applications that look and work just as well on desktops, laptops, tablets, and smartphones. Furthermore, it should also be possible to deploy apps for iOS, Android, or mobile web – without further development.
Enterprise-grade low-code platforms must also provide low-code capabilities across the various tiers of an enterprise application – including database, integration, business process/workflow, and user interface.
Many no-code platforms only focus on one or two of these tiers. Even in the case of low-code-based bespoke applications, developers won’t necessarily need to hand-configure the application across every tier – but to be enterprise-grade, the low-code platform must provide such capabilities in case the development team needs them.
This support for multiple tiers also ties directly to the scalability of the platform, and the applications built on top of it. Any enterprise-grade application should be able to scale to any given number of users without impacting the performance of the overall application or any of its tiers.
In some cases, an organization may call upon its low-code platform to aid with legacy migration. In such situations, developers are building replacement apps for existing, legacy apps, with the intention of migrating and updating the functionality of those apps. The new apps must therefore serve all the roles the legacy apps performed, including user interface, integration, and data interactions.
Finally, and perhaps most importantly, any enterprise-grade platform must support the organization’s security context – and do so following low-code principles. For example, it should be straightforward for developers to integrate an app with LDAP or Active Directory, and then to configure user roles and permissions for that app via simple, low-code principles.
The Intellyx Take
In many cases, a simple, lightweight app that meets one or two of the requirements for being enterprise-grade is sufficient to meet requirements, and in those cases, a no-code platform may suffice.
In the more general case, however, an enterprise-grade low-code platform like OutSystems is essential, especially when the organization requires most or all of the capabilities listed above.
In the final analysis, it is important to keep in mind the full range of requirements an organization may have for such a platform, from user interface, to ease-of-use, to security and compliance. Purchasing a low-code platform that has more capabilities than you need today is a better choice than going with a lightweight no-code platform that may turn out to be lacking as requirements evolve over time.
Copyright © Intellyx LLC. OutSystems is an Intellyx client. At the time of writing, no other organizations mentioned in this article are Intellyx clients. Intellyx retains full editorial control over the content of this article. Image credit: OutSystems.