What Makes a Good Low-Code Product

Categories: Thought

Just Chatting

Low-code platforms are typically associated with tools that simplify the process of building web pages. Internally, there are quite a few platforms of this sort, but there are also low-code solutions focused on logic assembly or BaaS capabilities that offer a more visual approach to what traditionally requires coding. The goal of low-code is to “enable the development of applications with minimal coding, leveraging more convenient methods to achieve what traditionally required code.”

People have mixed feelings about low-code: some love it, others hate it, and there are those who are somewhere in between. My current stance is that I appreciate low-code solutions, especially “in specific domains where they can deliver solutions faster than an experienced engineer could through traditional coding.” These scenarios can truly benefit from low-code, making the experience quite satisfying. However, there might be times when using low-code isn’t as pleasant, but this discomfort is far outweighed by the benefits it brings, minus the time investment required for traditional coding.

Creating a comprehensive low-code product is challenging, particularly those aiming to cover a broad spectrum of functionalities. The complexity of considering numerous factors can lead to slow progress and difficulty in achieving user-friendliness. This often results in a significant investment of resources with a pressing need to launch and implement the product, leading to a situation where the platform feels burdensome to the developers and unsatisfactory to the users. Success usually requires enduring a long period of discomfort before reaching a satisfactory state, but many products falter before achieving their goals. Niche solutions for forms, tables, or charts, as well as BaaS solutions focusing on specific domains, tend to perform better.

Integrated low-code platforms, which span both backend and frontend development, represent a significant challenge, particularly within large organizations where responsibilities are divided across multiple teams. The challenge stems from the difficulty in aligning standards, protocols, and database models across diverse teams. However, if a single team manages both frontend and backend, with a unified model and protocol, success is more attainable. The following are two examples of such products:

Appsmith

Appsmith is an open-source framework designed for building internal applications, ideal for creating enterprise back-office systems, CRUD operations, Dashboards, and data reports. Originating from an Indian startup, it serves as an open-source alternative to Retool, offering a similar development routine that includes UI design, data source connection, integration, and deployment, with a shift from traditional coding to visual programming.

Appsmith

Additionally, Appsmith offers a wide range of templates for various sectors like Project Management, Human Resources, Sales, Marketing, and Finance, providing valuable insights for low-code directions.

Budibase

Budibase positions itself as a low-code platform that developers enjoy using, focusing on speeding up application development. It distinguishes itself from Appsmith with a different approach and includes built-in databases, external data sources, GUI design, and automation features. Budibase’s UI creation leans towards a design-centric method, resulting in more aesthetically pleasing interfaces.

Budibase

ToolJet

ToolJet is another noteworthy low-code framework that supports integration with various data sources through a drag-and-drop interface, including mobile support. It uses JavaScript, making it developer-friendly.

ToolJet

Other notable mentions include nocobase, illa-builder, and refine, which are also worth exploring.

BaaS (Backend as a Service) in Low-Code

The concept of BaaS became familiar to me around 2019 while working on Serverless, highlighting the potential ease of developing FaaS functions with robust BaaS capabilities. BaaS allows developers to focus on frontend development by offloading backend infrastructure management, facilitating rapid application development and market deployment. This sector, particularly in the international market, features several commendable services.

Supabase

Supabase is a combination of open-source tools that builds the functionality of Firebase using enterprise-level open-source products. Firebase is a BaaS cloud service company under Google, allowing developers to easily develop an App through Firebase’s framework without the need for servers or infrastructure. Knowing what it is, you roughly know what Supabase is.

Supabase Overview

Its main features include database hosting, authentication and authorization, automatic API generation, function services, file storage, etc., meaning users do not need to write these codes themselves, but just need to call them. Additionally, it provides client libraries for JS/C#/Flutter/Go/Java/Python/Swift/Rust, and more can be found in the documentation.

Supabase Features

Appwrite

Besides Supabase, Appwrite is also a famous complete backend service capability that can be considered its competitor, with similar functions. It greatly simplifies the tedious process of writing APIs from scratch through a visual interface, creating an efficient development environment for developers under the premise of ensuring software security. It is an end-to-end developer platform based on Docker, and its containerized microservices library can be applied to web, mobile, and backend.

Appwrite Overview

It provides corresponding software services, such as accounts, users, teams, databases, storage, cloud functions, multilingual, avatars, and other general capabilities, along with corresponding client or server development kits, using a microservices architecture method for better expansion.

Appwrite Features

In addition, in the database field, there is an end-to-end cloud-native database called SurrealDB, suitable for Web, mobile, serverless, backend, and traditional applications. It reduces the development time of modern applications by simplifying database and API calls, eliminating the need for most server-side components.

Headless CMS

Backend colleagues who have been coding for nearly 10 years should be very familiar with frameworks like Discuz, DedeCMS, WordPress, which were very popular at the time. I remember frequently using DedeCMS for commercial projects during my college days, which was quick and satisfying. Now, this type of backend solution has further developed to become simpler, more beautiful, and easier to use. Here, I will briefly introduce the Strapi-like headless CMS, which in simple terms is a content management system that only provides data, does not focus on UI, and prioritizes content.

Strapi

Strapi is an open-source headless CMS, using JavaScript, very flexible and fully customizable, supporting many plugins. It can quickly generate a REST API service, and overall it is quite familiar for front-end colleagues to use, worth trying.

Strapi Overview

Cube

Cube is a headless business intelligence framework for building data applications, using data from any source, organizing it into consistent metrics, and using it for every data application.

Cube Overview

In addition to Strapi and Cube, which are two well-known headless CMSs, you can also try payload and webiny-js.

Workflow Orchestration

It appears that many companies have their own service orchestration platforms. For larger enterprises, it’s possible that each Business Unit (BU) has one. However, it’s generally difficult to achieve user-friendliness, and it’s hard to convey the point that “service orchestration is faster and more convenient than coding”. Usually, there’s a lot of enthusiasm in the early stages, stability in the mid-stage, and it becomes difficult to continue in the later stages. The journey is long and challenging, but I’m looking forward to those who are working on it reaching the point where “after enduring, one sees the light”, and exploring this capability deeper.

However, in some specific workflow domains, there are some well-executed examples, such as Automate and n8n. These tools can serve as references for building workflow orchestration.

Automa

Automa is a browser automation workflow extension that uses connectable blocks to conveniently orchestrate your common operations. It includes capabilities like auto-filling forms, taking screenshots, data retrieval, scheduled triggering, browser operations, and web interactions. It can efficiently take over your repetitive tasks, similar to quick commands.

Its strengths lie in its ease of use and the provision of many out-of-the-box capabilities, allowing users to quickly meet their needs.

n8n

n8n is an expandable workflow automation tool. From what I’ve seen, it’s quite good for orchestrating process nodes and logical control. Moreover, it supports self-deployment based on code.

Other Unique Tools

Aside from the commonly used low-code capabilities mentioned above, there are three very unique tools. In fact, the widely used Notion notebook is also a low-code tool. Its open-source counterpart is called AppFlowy. Another tool, YAO, builds functionalities of various parts through writing configuration DSL JSON. Lastly, there’s an open-source method called NocoDB that follows the Airtable model.

AppFlowy

As mentioned, those working on low-code should definitely try out Notion, which has been extensively utilized by many. Additionally, you can try the open-source AppFlowy. Based on this, you can explore how to control the data-to-interface display process.

YAO

YAO is an open-source application engine written in Golang and exists as a command-line tool that is ready to use upon download. It’s suitable for developing business systems, website/APP APIs, admin panels, and building your own low-code platforms. YAO uses a flow-based programming model and allows for the implementation of various functionalities by writing YAO DSL (JSON format logic description) or using JavaScript to write processors.

When I first encountered YAO last year, I was attracted by its innovative approach. Additionally, its built-in interface capabilities are well-designed, and the overall installation experience is smooth. The product implementation of YAO should provide valuable insights for those interested in protocol-driven approaches. For example, the system below is astonishingly created using JSON configuration, including UI presentation.

NocoDB

NocoDB is an open-source alternative to Airtable. What is Airtable? It’s a spreadsheet-database hybrid with the functions of a database but essentially a spreadsheet. It can integrate text, images, links, documents, and various materials. Looking back, Notion follows a similar approach, though with a focus on collaborative usage scenarios.

NocoDB transforms MySQL, PostgreSQL, SQL Server, SQLite, or MariaDB into a smart spreadsheet. Its use cases are quite imaginative, as shown in the gif below.

Additionally, there’s a newcomer in the Airtable domain called ApiTable, which has recently been open-sourced. Overall, it’s quite refined and highly recommended to explore.

Conclusion

The low-code segment is highly competitive, but if you find the right application scenarios and can truly solve problems more efficiently than traditional coding, then there is a significant opportunity for growth. Moreover, some opinions in this article are personal; if you find any inaccuracies, please feel free to point them out.