If you haven’t heard of the “no-code” movement yet, you probably will soon. Products like Webflow, Zapier and others allow non-developers to build apps that once required a team of engineers.
Is this a bandwagon you need to jump on? Read on to find out.
What is no-code?
Despite the name, the drag and drop interfaces of no-code tools like Webflow or Bubble are essentially coding languages, like HTML. However, they are more literal languages.
When you build a website with HTML, the language you see on your screen (<div>, and <span>) doesn’t really look or act like the application that you’re trying to build (a website).
But with software like Bubble, the language you see on your screen as draggable buttons, text, etc. is pretty similar to what you see in the final application.
Of course, an application is not just text and buttons. Applications change over time. You can easily describe a single version of Twitter using no-code tools or HTML, however, in reality, Twitter is valuable because you have new Tweets every time you load the app!
You can think of applications as having two parts: interface and logic. Interface is what the user interacts with and logic describes how that interface changes as someone uses the app.
Traditional text-based coding languages like Java are optimized for building logic. They evolved before computers had screens, let alone buttons or windows.
No-code tools are optimized for building interfaces. They evolved to help build marketing websites, like the ones for your favorite local restaurant or hair salon.
The “no-code movement” refers to new tools that let you create interfaces and logic, all without code. This movement is empowered by standardization. Over the last 30 we’ve seen the emergence of standard application paradigms. For instance, Twitter, Instagram and Facebook are largely the same— scrolling lists of user-generated content. Most no-code tools offer sets of pre-made logic like “show user posts in a list”, that can be dragged into your app, the same way you’d drag a new button.
In this way no-code tools let you easily create apps that have similar logic to existing products, but novel interfaces. Surprisingly, many applications fall into this category, especially at the early stage. If you want to launch an application to teach woodworking, no-code is great. Creating high quality woodworking tutorials is certainly hard, but the app for watching those videos is basically the same as Youtube.
However, if you need to create novel logic, no-code tools will slow you down. Some tools won’t let you add novel logic of any sort. Others, like Bubble, have clunky interfaces for creating logic that are actually harder to use than text code (sometimes these types of tools are called “low-code”). If your “Learn Woodworking” app becomes popular and you want to add interactive diagrams of the projects being built, you’ll want to start using traditional code.
How do I get started with no-code?
No-code application development isn’t trivial— it still requires some training and skill. However, there are easy ways for non-engineers to pick it up!
While each no-code tool has a different interface, the complexity of learning no-code is not about mastering an interface. Rather, it’s about understanding the principles underlying the tools, which are the same principles underlying traditional coding. Learning these concepts will set you up to use any no-code tool, and even pick up a real programming language one day.
To learn application development concepts as quickly as possible, I recommend starting with Airtable. Before I start a long-term engagement with companies, I’ll often ask their non-technical leadership to go through a few Airtable tutorials. Not only might they learn they don’t need me, but if we do decide to work together, they’ll have a much better idea of what their own engineers are doing.
Airtable focuses mostly on displaying and manipulating data with a straightforward UI. It’s somewhere between a spreadsheet and an application builder. If, after trying out Airtable for a while, you want to make an app that you can actually release, Adalo is a great next step. It has an Airtable-like interface for managing data, plus a bunch of nice premade components for displaying data. If you’ve already mastered Airtable, you should be able to make and distribute a simple app with Adalo in a few hours.
Finally, more advanced and flexible tools like Bubble can be used for specific cases that Adalo doesn’t support. However, if you find yourself spending a lot of time creating custom logic in Bubble, I’d recommend just jumping into a real coding language like Javascript. It will take a bit more time to learn than Bubble, but will make complex logic much faster and easier to create.
For full no-code bootcamps and a wonderful no-code community, you can also check out makerpad.co!
The future of no-code
If you feel like no-code is exciting now, just wait.
Text based programming languages have been around for 60 years. There are millions of open source libraries which a text coder can use, thousands of tools for debugging, and a huge community of other developers ready to help. No-code doesn’t have this yet, but no-code tools and communities will continue to mature and, more importantly, they will begin to integrate with the existing code ecosystem. Adalo recently added the ability to use text code to make custom components and Airtable added a similar feature last year.
Future application development teams will likely host a spectrum of participants, just as they do now— backend coders, front-end coders, no-coders, and full-stack application developers who can use all interfaces.
Conclusion
No-code is exciting for non-developers and developers alike. While application development will always require some training, no-code tools make the skills much easier to learn. Today’s tools aren’t quite mature enough to build truly novel applications, but as they continue to develop and integrate with existing coding ecosystems, they’ll become an essential part of every team’s development workflow.
This is the first in a series of no-code articles. In a few weeks we’ll do a deep dive into using APIs with no-code. See you then!
Leave comments, and don’t forget to send us new topic ideas!
Note: You may have heard the term low-code thrown around as well. That usually refers to no-code tools that include an editor for writing traditional code like Javascript. However, as mentioned earlier, no-code tools almost always include some way of editing logic— just not always using existing languages or keyboard interfaces. For this reason I think the low vs. no-code distinction isn’t all that useful. The skills needed are mostly the same.
Big thanks to Nanya S, Jessica Kasmer-Jacobs and Jon Allen, from Foster, for their feedback on this post.
Good stuff. Nice to know there's a space for those of us who may not know traditional programming languages.