The low-code landscape
by Declan Healey, Mar 28, 2019
As a growing number of enterprises are seeking solutions that promise accelerated delivery times of business applications, the landscape of low-code development platforms continues to expand with a variety of service providers. In contrast to no-code development platforms, these platforms represent a cost-effective method for companies with an existing team of developers.
On average, our codebots will write 92% of an application’s source code; the remaining 8% is left to the creative talent of human developers. We envision a future that involves humans and bots working together to create amazing software. Codebots are not here to replace us, but to help us!
Outlined in a 2016 report published by Forrester, the primary low-code platform segments have traditionally included general-purpose platforms, process app platforms, database app platforms, request-handling platforms, and mobile-first app platforms. However, a shift towards the general-purpose usage of low-code platforms has emerged to address an increasingly broad range of application use cases.
Mendix, OutSystems, and Appian are all leaders in the broader low-code space, in light of their offering and commercial strategy. However, various limitations from tech-stack and code constraints to overall platform control exist across the different vendors.
The rise of the citizen developer
The notion of the citizen developer has long existed in SMBs and larger enterprises. These are the users who, are not traditional IT or software professionals, but might discover an opportunity to optimise some business process and take it upon themselves to create the respective application.
As low-code development platforms become increasingly powerful and popular, these tools are further enabling today’s citizen developers like never before. On the other side of the equation, these platforms are designed to accelerate the delivery of applications from the perspective of traditional software developers.
Currently, these platforms are serving what are completely independent categories of users with vastly different skill sets and needs. Whilst the citizen developers crave simplicity and guidance, the software and IT professionals demand customisability and flexibility. The question must therefore be asked - is it possible for a single platform to properly serve each of these segments?
The most mature platforms, notably Mendix, Outsystems, and the Salesforce App Cloud, are adept at catering to the needs of both citizen and professional developers. In regards to the latter, a significant proportion of these developers commonly seek solutions to reduce their tools and increase cross-communication. However, the adoption of these novel low-code platforms frequently disrupts those workflows many traditional software developers hold dear.
Rather than adopting mindset to replace existing development technologies, Codebots has been specifically built to as a developer collaboration tool, enabling bots to work alongside empower developers and their existing workflows.
Whitebox, not blackbox
Low-code platforms are not only helping bridge the gap between business processes and software systems, but also serve to accelerate the delivery of software applications. Typically, a citizen developer might wish to initially build a significant part of some application according to their unique specification, later engaging a professional developer to ‘get under the hood’ of the application for further customisation.
How then are we able to customise those applications built on these platforms? To what extent can we do so? Must we also learn new technologies and languages as necessary? As all professional developers crave customisability and flexibility when building bespoke software applications, these all represent the natural questions they will ask themselves as they embark down the low-code path.
Many low-code platforms have already developed a reputation for outputting source code that looks like machine-written code. As a result, developers have struggled to interpret and alter the generated codebase, particularly on the client-side.
For any application that is built using Codebots, all of the source code outputted by the bots themselves looks as though it was written by any other human developer. Within this, human developers have the ability to add custom code to designated ‘protected regions’ to achieve their customisation goals. The future we envision involves human developers working directly alongside bots to create amazing software.
No two software applications are the same, nor are the requirements of the teams and ecosystems that exist behind these. One of the greatest limitations that is inherent in the vast majority low-code development platforms on offer are constraints around technical stacks.
As an example, the back-end code of any application developed on the OutSystems platform will be generated in only either C# or Java. Similarly, those users of Appian must refer to the use of their own proprietary expression language in order to achieve any advanced functionality. Ultimately, the more advanced the logic required, the harder it is to build with the Appian expression language.
To ensure we are not constrained by any technology, Codebots has abstracted the process of creating a new bot, both on the client-side and server-side. Already, we have a C# bot, a Java bot, and a LAMP bot for back-end development. Whenever there is a demand for a different tech stack, we simply create a new codebot to meet this.
Whose IP is it anyway?
Perhaps the greatest overarching concern when developing a bespoke software application on any third party platform lies with the ownership of the resulting intellectual property.
Of the low-code development platforms currently on offer, Appian reserves the right to retain a component’s source code that is used as part of an application. As a result, these components can’t be altered without potentially breaching contractual requirements. Further to this, those users of other providers who have attempted to move their applications from the respective platforms have struggled with obtaining the necessary access to their application. Rather, they are effectively ‘locked in’ and have no option but to continue developing on that platform, even if they technically retain ownership of the application.
Codebots writes and develops the application source code separately, giving customers full control and ownership of their target application. As soon as any user developing on the platform has outputted source code, it is remains theirs and theirs alone.