When to Use a Low-code or No-code Application Development Platform
You may have heard of some of the “low-code” or “no-code” application development platforms on the market. These systems enable companies to rapidly develop rich, database-enabled applications without writing much code – or in some cases without any code at all. This may sound too good to be true; after all, software engineering tends to be time-consuming and expensive. What can these platforms do, and what are they truly good for?
What are these platforms?
Low- or no-code development platforms generally enable users to quickly “configure” the functionality of web applications rather than “develop” them by writing code. If you have ever worked with a visual database like Filemaker Pro or Microsoft Access, these systems are similar in some ways, but are usually web-based. Most of these platforms contain an area through which developers can graphically map out the structure of the application’s database by defining what tables should be in place, their fields and how they should link together. Developers can then configure online forms to submit data to the database tables – as well as reports for displaying data, emails that get triggered when something happens (a form is filled out, for example), and other functionality. Piecing this functionality together turns it into a specialized web application that end users can log into and use for a specific purpose.
SiteRocket Labs has worked with a number of low- or no-code application development platforms, including Salesforce, Quick Base, Zoho Creator and most recently Caspio. Here are a few things that we have learned over the years.
The benefits
Significant time (and cost) savings
As we’ll discuss later, low/no-code platforms are not suitable for every type of project. When the project is right, however, the time savings can be tremendous. One project that we completed recently took a sixth (15-20%) of the time that it would have taken if we had developed its code using conventional web development technologies.
Great for “generic” interactivity
Low/no-code platforms really shine when used in projects that have a lot of “generic” functionality – in other words, projects that have a lot of the following:
- Online forms that store their data in a database
- Search forms and pages through which users can query and view the data
- Custom workflows (i.e. user A logs in, edits a record, email is triggered to user B, user B reviews record, etc.)
- Online reports that display graphs and charts of the data
Out-of-the-box functionality
Many of these platforms have libraries and/or marketplaces of ready-made applications that users can use and adapt to their own specific needs. This further reduces timelines and costs.
Security / HIPAA compliance
Several low/no-code platforms have built-in compliance with various regulatory requirements. For example, one of Caspio’s plans features out-of-the-box HIPAA compliance. Of course, the developer will need to ensure that their app complies with security best practices, but Caspio’s HIPAA plan makes it a very compelling alternative to building health apps using conventional languages (PHP, Python, Ruby on Rails, Java, ASP.NET, etc.) and hosting it on a cloud provider such as AWS.
Easy to maintain and upgrade
Because low/no-code applications are generally hosted by the companies that provide the platforms, server monitoring and maintenance are handled by the companies themselves, decreasing maintenance overhead. In addition, upgrading and changing the application itself in the future is often easier and less risky than upgrading a live codebase.
Things to watch out for
Now that the benefits are out of the way, it’s important to keep the following things in mind. None of these should be considered to be “deal breakers”; rather, they can help inform your decision about using one of these platforms, and know what to expect.
Not appropriate for every project
Although some low/no-code development platforms have a significant amount of functionality, it is impossible for any platform to do an infinite number of things. Therefore, applications that need very specialized interactivity or hosting requirements are better candidates for actual code.
Expect a learning curve
Most of these tools market themselves as being easy to use, but it will take time to get up to speed with them – especially if you need to build an application with some complex interactive features. You may want to consider hiring a specialist to set up the platform for you.
Your app must conform to the platform – not the other way around
Low/no-code platforms are not capable of handling every single use case, so most of the time you will need to adapt your needs to the platform rather than building something that precisely fits your desired workflow, look-and-feel or functionality. Additionally, you will need to deeply understand the chosen platform’s functionality – and limitations – when gathering requirements and planning it.
Development is quick, but everything else is the same
People often think that they can simply whip together a web application using a low/no-code platform and deploy it in no time. However, many parts of the web development process will take the same amount of time as with a conventional coding platform. For example, the planning and design phases often take the same amount of time. And if the app needs to have a very specific look-and-feel, you might end up actually writing a significant amount of “front-end code” (html/css/javascript) in order to customize its design.
Beware the fine print
All platforms charge fees based on usage. Sometimes the usage is based on the number of end users who can log into the application. Others charge for the amount of storage space, the server capacity, the number of interactive pages, and/or a combination of many items. Be sure to understand exactly what your costs will be before signing on with a specific provider.
Performance can be an issue
Some platforms can start to suffer performance issues if their databases contain too many records. Be sure to learn the performance limitations before signing on.
Lack of portability
Last but not least, if you build a web application on a low/no-code platform, and you decide to switch to a different platform in the future, you will need to rebuild it on the new platform – almost from scratch. That said, your data will never get lost; you will always have complete access to your data and can export it out of the platform easily.
In summary
Low- or no-code application development platforms are not suited to every type of project – in fact, they’re useful for a relatively small proportion of the projects that our company tends to work on. However, when there’s a good fit, the time and cost savings are significant and enable us to deliver great value. If you’re considering whether to develop a custom application on such a platform, feel free to reach out and feel free to bounce ideas off of us.