Low-code is a software development approach that enables the delivery of applications faster and with minimal hand-coding. Using visual modeling in a graphical interface to assemble and configure applications, developers skip all the infrastructure and re-implementation of patterns that can bog them down and go straight to the unique 10% of an application.
Putting it into a different perspective, just imagine a car manufacturing factory: the machines involved in the automation don’t decide what the car looks like, but they do accelerate the assembly and delivery process. That’s sort of what low-code does.
Low-code is to software what assembly lines are to the auto industry: both automate manual tasks that are difficult and time-consuming to free up people to do things that are much more important.
Now, time to get away from analogies and down to the business of really answering "what is low-code?" In the software world, we rely on libraries, APIs and third-party infrastructure so that we can focus on delivering the unique bit of value that wouldn’t otherwise exist. But we still get bogged down. That’s where low-code comes in handy.
What Is Low-Code?
Low-code is a family of tools that helps you create complete applications visually using a drag-and-drop interface. Rather than writing thousands of lines of complex code and syntax, low-code platforms allow users to build complete applications with modern user interfaces, integrations, data and logic quickly and visually.
Here’s what a typical low-code development platform looks like:
- A visual IDE: An environment for visually defining the UIs, workflows, and data models of your application and, where necessary, adding hand-written code.
- Connectors to various back-ends or services: Automatically handles data structures, storage, and retrieval.
- Application lifecycle manager: Automated tools to build, debug, deploy, and maintain the application in test, staging, and production.
Beyond those basics, no two low-code tools are exactly alike. Some are quite limited and more akin to a visual database front-end, like FoxPro in the 90s. Some focus on niche business needs, like case management. Others have adopted the low-code term to describe a purpose-built tool that has little to do with actual application development. And then there’s still no-code tools in the mix, which cater more to business users and citizen developers.
Others, such as OutSystems, give you everything you need to create modern, cross-platform enterprise mobile and web applications with capabilities that complement existing team structures.
What Is Low-Code Like to Work With?
Building software with low-code is the same as building software any other way. Unless you’re writing everything from scratch in machine code—and, no, assembly language doesn’t count—then you’re already taking shortcuts built on the work of others.
With low-code, it’s all about the things you don’t have to do. Rather than hand-coding yet another user management system, dealing with the idiosyncrasies of the latest programming framework, or writing ten tests before a single line of your app’s code, you get straight to creating something new and valuable. Why start new when these problems have already been solved and the patterns are well understood?
Let’s compare creating an application using a common web framework to creating it using low-code.
The Traditional Application Development Process
Whether you’re working with .NET MVC, Spring Boot, or Ruby on Rails, you (and your team) go through roughly the same steps:
The Low-Code Development Process
With low-code it would look more like this:
Seven steps instead of sixteen.
Low-code understands that most of the time spent hand-writing code in web and mobile apps is pretty much wheel spinning. There’s no need to tread the same path each time we start a new project. Low-code lets us create applications visually using battle-tested fundamentals. Our focus becomes delivering something valuable to the world.
Low-Code Is About Getting More Done
Low-code isn’t about reducing the value of developers. Low-code lets teams of developers produce more value more quickly while drawing on their understanding of how to create and maintain high-quality web and mobile applications.
You can try low-code for yourself with OutSystems. Get started for free by following our tutorials to build web and cross-platform mobile apps in a fraction of the time you’re used to. You'll also be able to help out the next person who asks, “What is low-code?”