A Reluctant Low-Code Manifesto
A couple of weeks ago, we published a short Twitter thread going over some things we learned since we became a low-code studio. Warning: The thread in question is in Spanish.
In this post, I'll dive into that thread's main points and share some key things you need to know if:
- A. You're a web designer considering shifting to low-code
- B. You’re considering revamping your website and are interested in what low-code can do for your team
- Our journey with low-code
- What's the difference between low-code and no-code
- Low-code pros and cons
- Low-code best practices we swear by
Without further ado, let's dive in.
The Beginning of Our Low-Code Journey
Before adopting low-code, we had two go-to web development stacks we used, depending on the project requirements and budget:
- The JAMStack, more specifically, NextJS (+ TailwindCSS + Forestry/Contentful/Tina + any extra APIs)
- WordPress (coupled, hosted on a managed plan, with hand-coded themes and third-party plugins)
We used the JAMStack when:
- The content would be relatively static/simple
- There wasn’t a hosting budget
- Speed was crucial
JAMstack was our preferred option for:
- Small NGOs and community projects
- Artists & growing content creators
- Landing pages
On the other hand, we used WordPress when:
- There was a good hosting budget, but didn’t have the development budget for a JAMStack solution.
- The client would appreciate the option of adding new features, at speed, without having to rely on developers. For instance, WordPress was ideal for cases where there was a possibility that an online store/blog would be added to the website within the next couple of months
- Content would be rich and edited by a team.
WordPress was our preferred option for:
- LATAM-based online stores
- Company websites
But these stacks had two fundamental problems:
The JAMStack has developer reliance built into it. And, for a small team, building a JAMStack solution for certain use cases was simply too cumbersome, expensive, and slow.
Over the years, WordPress has gotten very messy and hard to maintain and iterate upon. Don't get me wrong, it’s still a great option for blogs and online stores. In fact, this is especially true in markets where Shopify is seen as too expensive or too inconvenient. But WordPress is popular for having a beginner-friendly learning curve and opening several customization options to users, and this can be a drawback.
Why? Technically, you can customize your WordPress website’s design by:
- Directly interacting with the theme’s code
- Changing design details through the Themes > Personalization panel
- Adding custom CSS from the Themes > Personalization panel
- Using theme builders such as Elementor
- Adding and editing Gutenberg blocks
In short, there are several ways to edit a WordPress website’s look-and-feel, but most of them can unpredictably break your preexistent design or add tons of code in an unoptimized way. This is especially problematic in cases where there are too many cooks in the kitchen.
So, for us, developing for WordPress also involved choosing how the client would make future changes and guiding them on the best way to do so. It also required hard coding and managing design structures for all those editing possibilities, minimizing the chance of the website breaking as teams interacted with it. All that work and more for a site that wouldn’t be as performant as a JAMStack counterpart.
So, in short, when we came across low-code, we were looking for an alternative that was:
And we found it.
What Is Low-code?
At this point, you may be interested in a clear definition of low-code.
Low-code/No-code is an approach to web development that uses third-party platforms to lower the intensity of the development process and shorten time-to-market.
We usually use the term "Low-code" because there’s no such thing as "No-code". When working with low-code, we directly interact with less code than in other stacks. The development process is streamlined, but it isn’t code-free. We just use interfaces to make writing code faster.
For instance, when creating websites on our low-code tool of choice,Webflow:
- We create the website's code through a GUI (Webflow's editor)
- We add extra code for interactivity, cross-device compatibility, and tracking
In fact, the website you're currently on is a low-code website built on Webflow. It was mostly built with its native tools, but our sliders' interactivity comes from custom code.
There’s no no-code, just code you don’t see.
Low-code vs. No-code
If you're new to the "low-code"/"no-code" space, you've probably heard these terms used interchangeably.
If you search "what's the difference between low-code and no-code" on Google, the first result that'll pop up is this post from the Triggre Blog.
According to that post, the key difference between "low-code" and "no-code" is that low-code platforms are aimed at developers who want to speed up their work, while no-code is aimed at business users looking to build solutions to solve specific internal challenges.
According to that distinction, a platform like Webflow would be low-code, and a platform like Glide would be no-code. At the end of the day, in order to use Webflow, you’ll need to manage some HTML, CSS & JS basics. The result of using Webflow to its maximum capacity is a high-performing and competitive business website. Period.
Glide, on the other hand, allows users to build interfaces from spreadsheets and no-code databases. The result of making the most out of Glide is a generic-looking but extremely useful application that solves a specific business need. For instance, an app that allows your team to handle an event RSVP directly from their phones.
But this difference is rarely considered. In the end, “low-code” and “no-code” refer to the same thing.
Low-code Pros & Cons
Low-code Pro: Time-to-market
According to a 2021 survey from Statista, 85% of developers report that low-code is significantly faster than conventional development processes.
With low-code, your websites can go live in less time than with an alternative approach. By allowing developers to work visually and offering UI-powered shortcuts, low-code platforms shorten the development life cycle significantly.
Low-code Pro: Security
Of course, low-code's pros and cons heavily depend on what you compare it to. Low-code can be considered less secure than other stacks. For instance, it's less secure than the JAMStack, if you consider the relative obscurity that comes with developing on a low-code platform. Like Crypto people use to say, “not your keys, not your coins”.
But, when compared to WordPress, low-code is the most secure option. According to Sucuri’s 2021 Website Threat Research Report, 95.6% of the websites that were hacked in 2021 run on WordPress. And this isn’t an exception. WordPress leads the list of most-hacked CMSs every year.
When you adopt a low-code approach, chances are that your website will be hosted on a third-party company's servers and work with 100% third-party tools. This can open up the possibility of being damaged by other companies’ vulnerabilities. And there are definitely no easy answers.
But, if you’re choosing a highly-popular and well-funded low-code platform, your website could benefit from the host’s enterprise-grade security practices.
Low-Code Pro: Easy Iteration & Debugging
When you work with a low-code stack, debugging your website's design is a very visual process. And, since you're working within the constraints of an interface and using tools designed to achieve specific goals, you're less likely to encounter odd, time-consuming bugs.
Low-code’s streamlined development process also makes it easy to iterate on a design. Plus, it’s also great for adapting to changing business and user needs.
Low-Code Con: Limited Optimization
Since low-code doesn't give you direct access to your website's code, you can only optimize it to a certain extent. This is a clear con.
There's a way to dive deeply into your website's code, but in most cases, it involves exporting it and hosting it outside your low-code platform.
However, this limitation has made out-of-the-box performance a priority for the best low-code platforms.
Low-code Con: Pricing
One of the greatest downsides preventing the mass adoption of low-code is that it has higher recurring costs than alternatives.
For instance, let's say you're a small business owner looking to create an online store. And let's say you're considering three options: Webflow, WordPress/WooCommerce, or Shopify. For comparison’s sake, we also included the JAMStack.
Here's what your costs (and timeline) would look like, on average:
You’d pay $357 a year for your WooCommerce store (including a nice WordPress theme). To achieve exactly the same thing, with a basic Webflow eCommerce plan, you’d spend $727 per year. Shopify’s starter plan, on the other hand, would cost you $263 per year.
Building your platform from scratch on the high-performing JAMStack, would cost anywhere in the $15,000-$80,000 range. Your exact budget will depend on a wide variety of factors, including your developers’ location and your platform management requirements.
In fact, let’s say you’re in the global South, so you can get your hosting with localized pricing. In that case, taking GoDaddy’s Argentina pricing as a reference, the difference would be approximately $952 for Webflow vs. $119 for WooCommerce.
At this point, you may be wondering, “But, wait a second - why did the Webflow budget increase for an eCommerce user in the global South?” The reason is simple: If you’re in LATAM, for example, PayPal and Stripe may not be your customers’ preferred payment methods. So, you’d need to integrate your website with a different payment gateway. This is usually achieved through platforms like Foxy, which start at $21/month.
Of course, these costs can be lowered by:
- Designing your theme yourself
- Coding some functionalities instead of using third-party tools
But in this example, exporting your code and hosting your website elsewhere wouldn’t be an option - unless you wanted to develop your online store’s functionalities from scratch.
Our Low-Code Playbook
Now that we’ve had a general overview of what low-code is about, let’s dive into some low-code best practices we like to follow.
- Understand what you want to get out of low-code
- Choose your tools carefully
- Don’t hesitate to add a little code when needed
- Do some numbers and evaluate the costs
- Forget about the cons: Build with Webflow and deploy anywhere
Let’s take a closer look.
Understand What You Want to Get Out of Low-Code
Start by stating why you’re choosing low-code in the first place. What do you want to get out of low-code that you wouldn’t get out of a different stack?
Manage your process and design your toolkit accordingly.
Choose Your Tools Carefully
Not all low-code tools are created alike. For example, we use Webflow because:
- It allows us to code features and microinteractions the way we want, we’re not completely tied to templates and presets.
- It’s very popular and extensively documented
- There’s a community creating tools to expand Webflow’s possibilities.
In a sense, Webflow is the WordPress of low-code.
But there may be better tools for you out there. Here’s our list of the best low-code tools for different use cases:
- If you want to build a very simple blog and you’re a Notion power user, Simple.so may be better
- If you want to build an app, Bubble.io may be the best option for you
- If you need a simple online store, you can probably get it up and running with Shopify
- If you’re looking to build very simple apps for internal use, Glide may be your best choice
- If you need a simple and performant foundation that can seamlessly support React components, use Framer.
Don’t Hesitate to Add a Little Code
The best results come from using low-code to simplify certain stages of your development process, and using code when necessary. Even in low-code, some things are impossible to achieve without custom CSS or JS. In fact, some developers even add React components to their Webflow websites.
It’s not about “low-code” vs. “pro-code”, as some articles suggest. The best results come from a hybrid approach that’s sensitive to the needs of the project.
Do Some Numbers and Evaluate the Costs
Like we mentioned when discussing pros and cons, depending on what region your clients come from, you may find that low-code is a tough sell cost-wise.
In some cases (for instance, when hosting static content), you may be able to develop your website on Webflow and deploy it elsewhere. Tools like Udesly and Stacket are very useful for these types of cases.
Budget may also affect whether you purchase a third-party plugin or build features from scratch with code.
Build on Webflow, Deploy Anywhere
You can forget about most of low-code’s cons (code obscurity, high recurring costs, etcetera) by exporting the code, adding functionalities "the JAMstack way", and deploying as a static website. Especially when it comes to very simple sites, this is a strategy we swear by. And, of course, in those cases we choose a "low-code" approach rather than obsessing over avoiding code at all costs.
In this post, we shared:
- How low-code tools streamline the web development process
- Some pros and cons of low-code tools
- Our low-code website development best practices
With low-code, small design & development, teams can significantly expand their capabilities.
Looking for a low-code web design service? You may be in the right place. Book a free discovery call and find out if we’re a fit.