Today, Low Code-No Code (LCNC) platforms are getting a lot of attention. Many new players are stepping into the market day by day. One can easily get confused about which one to consider for their specific needs. All these platforms differ, not only in terms of features and functionality, but also in their level of maturity. One has to make a careful selection of a LCNC platform, understand the capabilities, its ecosystem, community support around it etc. to avoid any future regrets. This article illustrates the different aspects and pre-requisites for selecting a right LCNC platform for your projects.
Low Code-No Code platforms are becoming important in rapid development and prototyping of enterprise and cloud applications. The concept of Low Code-No Code platforms is not new and has been there in the industry atleast for a couple of decades. The earlier platforms like Visual Basic or MFC from Microsoft had drag and drop and wizard-based IDEs, which allowed quick development of desktop GUI applications. Now, with the popularity of Cloud platforms, SaaS and PaaS, new age LCNC platforms are capable of doing much more than the old generation tools.
However, are they all providing the same level of features or functionality? How many of these products are living up to the hype? How can one find the right product from a long and ever increasing list of LCNC platforms that match user requirements?
This paper aims to answer such key questions and simplify the process of choosing the right LCNC platform for the user.
Following sections cover the various factors to be considered while selecting the right LCNC platform. While some of these criteria sound obvious, one has to understand the level of maturity of the platform also. For e.g., a particular feature may be supported by the tool, but it can need a great effort from the team to learn it and enable it in their specific scenario.
The very first categorization of LCNC platform is, whether it is a Low Code platform or it is a No-Code platform. As the name indicates, in a No-Code platform, there is no need to do any manual coding. NC platforms provides a Graphical User Interface (GUI) to create a database and/or a front-end. User can create simple forms and navigation between the forms using the GUI controls. Certain NC platforms allow the user to define table structures and relationships between the tables and generate UI components based on the table. Such UI allows CRUD operations on the underlying tables. NC platforms are best suited for quick prototyping of simple application scenarios and the development team does not need to include personnel with coding skills. In addition, NC platforms are useful where the software is developed for a short duration with a specific intent. Even though, coding skills are not required, most the of the NC platforms demand familiarity with database concepts, minimal configuration settings as well as application deployment options.
Most of the LCNC platforms in the market belong to the Low Code (LC) category. This allows users to start with rapid prototyping and then incrementally implement complex features with the help of developers.
There are many opensource low code platforms available. The most important thing to consider while choosing an opensource LC platform is the level of support available. There are platforms with good development community support. Some opensource platforms come with paid support by the vendor/promoters. Though the community support option is good for long-term projects/large projects, vendor supported platforms suit short-term projects. Some vendors provide trainings as well, which enables quick ramp up of the development team. The development team must handle deployment and maintenance of open source platforms, which can be a nightmare if timely and proper support is not available.
Open source platforms are recommended when:
Proprietary low code platforms have some advantages over open source platforms. Vendors themselves maintain the development community and provide much faster response to queries. They provide development, testing and deployment ecosystems, which makes it much easier for the users. Proprietary solutions are either vendor locked or vendor free. Most of the time, proprietary solutions show greater maturity compared to the open source solutions.
Almost all the low-code platforms provide a cloud deployment option, but only a few are available to host in on-premise servers. Consequently, if users are looking for a cloud-based platform, there are plenty of options available, but if they need to host an application on owned server, they must pick the right one.
Cloud-based solutions itself has two options. In the first category, the application hosting is managed by the vendor themselves. The other option is to get your application hosted on your own public/private cloud infrastructure. If you or your customer has your own cloud infrastructure, it is recommended to find a platform that belongs to the second category. This allows a lot more control over the CI/CD pipeline as well. Finding a solution with customizable/automatable CI/CD pipeline in the first category is difficult as well as a costly affair.
Many low-code platforms provide a monthly/yearly subscription model. This means even though a user has developed the application once, he/she has to pay the vendor lifelong for the hosting and maintenance of the solution. The vendor provides the platform for development and cloud platform for deployment. Users are allowed to configure the CI/CD pipeline as needed. Users can also get professional support throughout and can expect very low downtime of services.
Contrary to this, a few platforms allow users to clone the source code and host the application on their on premise server or cloud system. The subscription of the service is only for the development period. This is a better option if there is a team, which is capable of managing and maintaining the production environment.
Different LCNC platforms provide different development environments. But, most of them provide an IDE that either creates the front end, or table structure. Once the front end is created, the tool will create the database based on the UI components or vice-versa. This is something similar to the code first/database first approach in ORM frameworks. However, a few platforms provide an IDE for customizing the GUI as well as the data source, which will be much more flexible. Hence, when users choose a LCNC platform, it is necessary to check which of this approach is appropriate for their purpose.
The ultimate aim of LCNC is to expedite the development and at the same time meet all the customer requirements. Users may pick a tool that meets the above two criteria. However, only when they start using the tool, users will realize that the tool has several features that are either not documented or poorly documented, or difficult to use. Hence, it is critical to remember that these platforms can enable rapid development only when users acquire the required skills or capabilities. It is recommended to evaluate a few tools against specific requirements before zeroing on one.
When users opt for a non-open source solution, they need to consider the licensing model of the platform. Many platforms provide a monthly/annual subscription service for development and hosting. There are a few platforms that provide subscription service for development, but hosting can be done on owned servers or private cloud. In such cases, users can move the source code to git repo after development and avoid dependency with the vendor completely. If users do not have their own infrastructure, the subscription model becomes a hassle-free option.
QuEST has been evaluating and using many of the major LCNC platforms for several customers. Based on the domain experience, our experts help customers pick the right platform as per specific needs. While selecting the right LCNC platform is important, it is also important to reject LCNC platforms in certain situations, and opt for traditional development platforms like Java, python or .net.
Below are a few of the platforms ideal for most of the scenarios.
|Power Apps||Microsoft||– Easy UI development for web and mobile. It provides integration with various data stores(Microsoft Dataverse and others)
– PowerApps has multiple subscription options like per user/app/month, per user/month, pay-as-you-go etc.
|Amplify||AWS||– Platform to enable front-end apps (Angular, Ract.js ec) to leverage the services of AWS.
– Provides web and CLI tools for integration.
– Works only with an AWS ecosystem
|Mendix||Siemens Software||– A flexible low code platform from Siemens.
– Provides GUI for developing front end and back end components. Support for AI and Cognitive services, IoT etc.
– Pricing is on a higher side
|Budibase||https://budibase.com/||– Ideal for creating small portals, internal apps etc. Options available for vendor hosting as well as self-hosting
– Open source plans are free
|Formsflow||https://formsflow.ai/||– Comes with drag & drop form builder, powerful workflow engine, support for analytics and security.
– Open source plans are free. Vendor provides paid support and training
QuEST has strategic partnership with some of the big players in the LCNC space. Customers can benefit from QuEST’s partnership with Microsoft, Mendix and AWS.
While the expectations around LCNC platforms are quite high, our analysis determines that not all platforms are equal. There is long way to go for most of them. While selecting a platform, users have to critically review the capabilities and ensure that they make the right choice. The guidelines given in this article help in building this analysis.