paint-brush
Low-code for Hackersby@pavel_ershov
836 reads
836 reads

Low-code for Hackers

by Pavel ErshovMay 3rd, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

In recent years Low-code/No-code has become a hot topic. Conventional wisdom says that building an MVP on low-code is OK, but if something sophisticated and scalable is needed, you have to code it traditionally. In this post I would love to ponder about applying low- code approach to backend development. We have to keep up with accelerating world, rolling out new products and updating existing ones as quickly as possible. That is feasible if only we rise an abstraction level of our building blocks.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Low-code for Hackers
Pavel Ershov HackerNoon profile picture

In recent years Low-code/No-code has become a hot topic. According to that approach an IT-system is developed visually. Conventional wisdom says that building an MVP on low-code is OK, but if something sophisticated and scalable is needed, you have to code it traditionally. These visual tools seem to be very limited. Let me reveal the other side of low-code world, which has no such limits.

For the last 5 years my team and I have been working on the low-code platform Directual, specially designed for tech savvy product makers.

Thoughts about Upcoming No-code Revolution

Firstly, let me use terms ‘Low-code’ and ‘No-code’ as synonyms. I do realise the difference, but the basic ideas seem to be the same—providing users with customisable building blocks for their apps. Using those blocks one can develop an app more quickly, having written less (or even zero) code. 

A trend of using low-code tools is happening right now (I like the way it was explained in that post on Medium). Today we have to keep up with accelerating world, rolling out new products and updating existing ones as quickly as possible. That is feasible if only we rise an abstraction level of our building blocks. Each of successful low-code companies focuses on one or a few of such high-level blocks. Here are several examples:

  1. Airtable since 2012 has been creating one perfect item—a table.
  2. Notion provides magnificent tools for setting up a modern wiki. I use this one as a personal notebook as well.
  3. Webflow seems to be the right choice for launching a blog or a corporate website with lovely interactions and animations. Our new webflow-based website was developed by a solo designer.
  4. Stripe gives an easy-to-install payment widget.
  5. Zapier has become the very glue for plenty of services.

All these tool makers face a dilemma. On the one one hand there is a flexibility, and on the other—the simplicity. There is no right choice, I suppose. Developers and experienced product makers prefer sophisticated and flexible tools. Simple ‘one-button’ platforms can be great for MVPs, also they are mostly used by rookies.

There are still plenty of niches to fill on this market. Product teams keep on developing almost identical pieces of functionality from scratch. Further in this post I would love to ponder about applying low-code approach to backend development. Firstly, let me provide you with a short history of my startup.

Story about Directual

To cut a long story short, in 2015 my mate Nikita and I were developing enterprise IT-systems. The process often got stuck due to the backend part. It took too long to support infrastructure, create new logic and update an API-layer. The pace could have been much faster if only we had found a way to remove that bottle neck.

We started creating Directual—a platform for visual backend development. First and foremost it had to be scalable and flexible. Then, 4 years of work followed. By 2019, our platform had become the basis for products launched by such companies as Schlumberger, PIK group and MTS. In 2020 we have gone public. Today everyone can create an account, explore the tutorials, build and run an app. Going forward, there are some features for building front-end visually, but the most efficient combination turns out to be Directual plus React.

Considering the ‘high-level building blocks’ paradigm, described above, I can enlist these main features of Directual:

  1. Setting up a cloud database;
  2. Building secure API-methods, supporting role-based access control;
  3. Running scenarios for processing data in real-time (the zest of Directual). These are not BPMN-like processes, but much simpler. I decided to follow the original approach to workflow automation. There are abstract entities (objects) and scenario steps (actions and conditions). Any business logic can de composed in such a way.

Who Is the User and What Can Be Built?

You don’t have to be a professional developer, but some background skills of database design and JavaScript syntax may be very helpful

Here is the diagram with the parts of a typical app:

These can be developed on the platform:

  1. Database. Scalable NoSQL cloud database with a pretty GUI. You can export and import data in Excel format, and setup listeners on external SQL-databases. Also you can store files here. Under the hood there are MongoDB (for objects) and PostgreSQL (for metadata);
  2. Backend logic. Scenarios (complex event processing) and reports (batch processing). Third party systems can be requested from scenarios as well.
  3. API and RBAC. The constructor of API-methods includes settings for paging, filtering, sorting, and synchronic scenario running.
  4. Directual portal. We have been receiving a feedback: users asked for a simple interface builder. Hardly anyone was ready to deploy a React app from the very beginning. So, we introduced a simple web-site constructor. Here is an example of Directual portal. Also, pages can be embedded into any web-site, including ones which were developed on third-party site-builders such as Webflow or Squarespace.

These can’t be developed on the platform:

  1. Thin-client of a web app. The platform works as a REST-interface. The front-end can be developed with whatever framework you want: React, Vanilla JS, Angular, Vue, JQuery.
  2. Mobile app. Either native or PWA. It works with the same API-methods.

What is next?

The current platform is flexible enough to build almost any backend on it. But it appears to be quite complex for learning. That is why I’ve entitled this post “Low-code for Hackers”. We are doing our best to enhance the on-boarding process. Directual Academy presenting video-tutorials has been launched recently. In the nearest weeks we are going to roll out the React boilerplate-code and the Templates for you to start quickly.

Hope that Directual can be useful for turning your ideas into apps. It’s free for use until the app doesn’t produce the significant load. You are welcome to contact me, I’ll be happy to discuss any low-code related topic.