I always like to hear how a person first learned about the low-code-slash-no-code phenomenon. That’s why trade shows are so much fun; you get to ask these kinds of questions of people walking into your booth. It’s usually one of my first questions--after scanning their badge of course.
In asking this, I also quickly discover that most people don’t know the difference between a low-code platform and a no-code solution, which sparks a lengthy and passionate explanation on my part. Because there are a number of very significant differences between low-code and no-code platforms, if you’re considering moving away from traditional application development, or even just want to try out visual application development, you’ll want to be aware of what you’re getting in each offering.
Let’s get to the bottom of the low-code vs no-code phenom and see precisely what’s what.
The GUI - The Genesis of Today’s Programming Environments
Programming languages have existed for more than 200 years—since 1804 and the arrival of the punch-card-programmable jacquard loom. And since the 1950s, new programming languages have appeared like clockwork. There are now around 256 of them, in fact. Which means the one thing developers are used to is change.
A more recent change in the programming world is integrated development environments (IDEs)—software applications that provide a suite of tools designed to simplify coding for professional developers and citizen developers alike. IDE’s roots trace all the way back to 1982 and a book by James Martin, “Application Development Without Programmers.” Martin suggested that because IDEs created a situation where fewer developers were needed to create applications, at some point the process may not require them at all. (No need to panic, developers. We still need you.)
Fast-forward to 2019 and the landscape has changed yet again. We’ve reached a point now where so much code has been written that there’s no sense in starting every application from scratch. In fact, when you use a robust low-code development platform that includes visual blocks of code containing as much as 90 percent of the functionality most applications require, the low-code platform is more than capable of doing most of the heavy lifting.
What Is Low-Code and How Do You Use It?
You can take an in-depth look at what low-code is by reading our aptly named blog, “What Is Low-Code.” But, simply put, low-code development is a way for developers to design applications quickly and with minimum hand-coding. We use low-code as a noun, as in it’s a “thing” the same as Python or C#. We also use low-code as a verb to indicate a literal method of developing applications because as you develop your application, you are using less handwritten code than you would use normally.
Using a low-code platform is similar to an IDE in that it contains a suite of functionality that complements the way developers work and the tools they need. But, it’s so much more than a traditional IDE. Very simply put, low-code is the process of dragging and dropping visual blocks of existing code into a workflow to create applications. Since it can completely replace the traditional method of hand-coding an entire app, skilled developers can work smarter and faster, not getting tied up with repetitious coding. Instead, they can focus on creating the 10 percent of an application that makes it different.
The alternative is writing thousands of lines of complex code and syntax (and then debugging it). By bypassing this and building applications visually, you can develop applications at least 10x faster and get the best out of your skilled developers. (See, we told you we still need you.)
The Low-Down on Low-Code
You could write a whole blog about the benefits of low-code. In fact, we have. But for now, let’s take a top-level look at the biggest perks of low-code development before we examine what no-code brings to the table.
Here’s the low-down:
- Speed: With low-code, you can build apps for multiple platforms simultaneously and show stakeholders working examples in days, or even hours.
- More resources: If you’re working on a big project, with low-code you no longer have to wait for developers with specialized skills to finish up another lengthy project, which means things get done more quickly and at a lower cost.
- Low risk/high ROI: With low-code, robust security processes, data integration, and cross-platform support are already built in and can be easily customized—which means less risk and more time to focus on your business.
- Rapid deployment: Launch day can be a nerve-wracking experience. With low-code, pre-deployment impact assessments make sure your apps work as intended. And if there are any unexpected behaviors, you can roll back changes with a single click.
What Is No-Code?
At first glance, it’s easy to confuse low-code and no-code. They sound the same for one. No-code solutions are built for citizen developers who may not know, nor do they need to know, any actual programming languages to use the product. Everything the no-code vendor thinks the user needs to build an app is already built into the product. No-code solutions are similar to popular blogging platforms, or e-commerce website design companies that have pre-built pages you can use to launch your blog or business in minutes.
Sounds great right? Sure, if you don’t mind releasing applications that have no unique functionality and are very difficult to customize—and if you don’t need to address challenges around digital modernization. Also, most no-code platforms were initially designed to solve a single business problem, such as business process management. Since that is inherently limiting from a business growth perspective, many of these vendors have jumped on the low-code hype-cycle and adopted the classification for themselves.
Their glory days of calling themselves “low-code” may be over though. Some industry analysts have gotten wise to their game and have begun moving some no-code vendors out of reports like The Forrester WaveTM: Low-Code Development Platforms For AD&D Professionals, Q1 2019, and moving them into reports that specifically cover solutions that cater to a limited set of use cases.
The Skills You Need to Use Low-Code and No-Code
There are literally hundreds of small details and capabilities that differentiate a powerful low-code platform from a limited no-code solution. Most of them aren’t apparent at the UI level, which is where much of the confusion between the two comes from.
But, strictly limiting our discussion to the act of application development, certain types of users and what they need to develop may drive their preference for low-code vs no-code.
- No-code solutions only cater to the business user or citizen developer. They require little in the way of professional training. You may think this an advantage, but because of the typical user’s limited skillset, no-code platforms also have limited functionality. Most professional developers find no-code solutions lacking in the capabilities they need and find that no-code tools tend to restrict their ability to work.
- Low-code is designed to serve both business users and professional developers alike. For business users, creating useful and thoughtfully designed apps under the experienced guidance of IT offers the benefits of extending your IT team’s capabilities and bandwidth but with controls and governance. For professional developers, the ability to work faster and more efficiently using a visual-based modeler, while also allowing them to code by hand as needed, means the perpetual backlog of needed applications shrinks, while IT’s business value grows.
Ask around, and you’d be hard pushed to find a professional developer who would be interested in using a no-code platform for the majority of projects an enterprise developer has to tackle.
But no-code solutions aren’t meant for professional developers, right?
Well, that’s true. The appeal of no-code is that almost anyone in your organization with a technical background can quickly create business applications. That could be a huge advantage. But it also presents numerous problems.
First, the idea that no-code application development actually requires no coding isn’t always the reality. Because these platforms are made for citizen developers, IT departments will have to step in at the last mile to complete the integration with existing systems. And at this point, “no-code” can easily become “we need lots of code, please, and in a hurry.”
The other side of this scenario may even be worse. What happens when your IT department isn’t involved in application development at all? The result is the dreaded shadow IT: a situation where people are developing apps without proper supervision or consideration. Predictably, the results can lead to security concerns, compliance issues, integration problems, and poorly designed apps that, at best, use more resources than necessary and at worst, turn your users away.
So, low-code: good, no-code: bad?
Well, not exactly. Both low-code and no-code platforms are built with the same thing in mind: agility. And although at a distance (or on a no-code vendor’s website) they look similar, each is suitable for very different purposes.
Low-code is good for developing sophisticated applications that run important, often mission-critical processes at the core of your business. It’s also good for building standalone mobile and web apps that may or may not require sophisticated integrations. In fact, it can be used for just about anything.
Conversely, no-code’s limitations mean it should only be used for front-end use-cases.
Having said this, there’s room for both, or at least a combination of both, in the modern enterprise. And for those embracing DevOps—another methodology designed to create greater agility in development—the combination of low-code and no-code could present the perfect application development environment.
In fact, some think these kinds of technologies could see the end of hand-coding altogether. Like our CEO Paulo Rosado, who last year gave this talk about how in the near future, developers may be replaced by AI and machine learning. Which is exactly what James Martin was saying way back in 1982.
The Future of Application Development
In a world where everything has to happen faster, both low-code and no-code platforms can provide a competitive advantage for developers and the organizations employing them. However, unless you’re developing only the simplest applications, and require little in the way of customization, low-code will always be the better option.
Low-code offers greater flexibility and control, which means you can build more varied, powerful, and responsive apps. Yet, it still has the simplicity to get those apps up and running much faster than if you were to hand-code them. And, since low-code still requires some knowledge of coding, you know the people creating your applications will do so properly, and your new applications won’t saddle you with security risks or compliance issues.
OutSystems for Low-Code Application Development
OutSystems low-code development platform can address the full spectrum of enterprise use cases for mobile, web, and core systems. We have a large library of design templates for developers to use, or you can make your own and apply them to the apps you create with our tools.
If you’d like to see how easy it can be to create beautiful and responsive digital experiences for your mobile, web apps, or both, be sure and check out the OutSystems Digital Customer Experiences page on our site, or just get to know more about the OutSystems difference at https://www.outsystems.com/.