Low Code and No-Code Considerations

Low-code and no-code development platforms have been the trending IT topic for some time now. Experts in this field speculate as to how they could change the future of the industry. Some publications predict the gradual decline of traditional IT, as low-code and no-code products continue to reshape the very approach to solutions development. But, before we get into a discussion on the future of low-code and no-code, let’s define what these terms actually mean.

What Is Low-Code/No-Code?

Low-code and no-code tools help scale and maximize software delivery. The grid below explains, defines, and differentiates low-code vs. no-code tools.

Low-Code and Open Source as a Strategy

Unless you’ve been living under a rock for the last year, you must have heard about this brand new shiny thing called “No-Code” and “Low-Code”. According to Gartner, 50% of all software projects will be delivered before the end of 2021 using Low-Code and No-Code constructs. Even if Gartner’s numbers are inflated, automation processes for generating code automagically have gained traction lately, and it has gained traction very, very, very fast. So obviously we’re way beyond the “hype factor” in regards to these technologies. Hence, in this article, I will try to break down the advantages, and illustrate with an example use case, so you can see the advantage for yourself. But first I need to define Low-Code and No-Code.

The difference between Low-Code and No-Code

Although obviously related, Low-Code and No-Code are actually two completely different concepts. No-Code is the idea of “citizen development”, where people without software development skills can create software. This is typically achieved through drag and drop interfaces, similar to how DreamWeaver worked a couple of decades ago. On the other hand, Low-Code is typically a software system that generates code automagically for you, by for instance reading metadata from your RDBMS, or Swagger, etc.

Top 10 Low-Code Articles

Introduction

Creating a business/personal website with little to no technical skills is now easier than you imagined. Low/No Code has been brewing amongst us for quite some time. How awesome would it be to find top trending articles in one place so that you can always stay up to date with the latest trends in technology? We dug into Google analytics to find the top 10 most popular Low/No Code articles at DZone. Let's get started!

10. Can Low-Code Really Solve the Problem of Technical Debt?

Technical debt is the topic of debate when developing any application. Should the team follow the guidelines and code quality or take a quicker route to delivery and result. Code cannot be called a quality code unless all of its debt is settled. As Low-code allows the developers to create applications with minimal code, can it resolve the problem of technical debt? Read this article to know more about Low-code and if it is a way to overcome technical debt.

How much time does Low-Code save you?

An hour ago I created a new release of Magic Cloud. This is a humungously large and important release, with hundreds of stabilising fixes and features. However, its primary feature that I suspect a lot of my regular readers will love, is that Magic now automatically wires up foreign keys for you. This implies that if one of your tables have a foreign key pointing into another table, it will display one string field from the other table, instead of just some dumb guid or auto incremented integer value. To understand the feature, take a look at the following screenshot.

The "film_actor" table from Oracle's Sakila database is a many to many link table between an actor and a film. Such many to many table allows you to populate a film with as many actors as you wish. In previous releases of Magic, the above "film_id" was simply displayed as an integer value. Displaying such foreign keys as their integer or guid value is of course meaningless, and this required manual work after the CRUD generator had done its job in order to get things right and useful. Typically this also required a lot of manual work unfortunately. In this release Magic Cloud will read your foreign keys as it generates your backend, and allow you to declare which lookup field you want to use in the foreign table to display such fields. To understand look at the following screenshot that is taken from the CRUD generator in the Magic Dashboard.

What is No-Code and Low-Code?

According to Gartner No-Code and Low-Code will deliver 50% of all software projects in the year 2021. Even if these numbers are inflated, you'd have to be living under a rock to avoid noticing it is gaining traction, and it is gaining traction very, very, very fast. Hence; What exactly is it? Will it steal your job? And why should you even care?

The difference between Low-Code and No-Code

First of all, there is a huge difference between No-Code and Low-Code. No-Code is typically targeting "citizens", as in people not able to create software systems themselves due to lack of software development skills. No-Code is often referred to as "citizen development" - Implying people without knowledge about programming language and software development theory can create software systems. No-Code is useful for simple customer facing frontends, with some interaction with pre-defined services, and simple database structures. However, we're a far cry away from being able to deliver complex systems using No-Code, and I am not sure if we will ever reach that point either. Besides, even No-Coders requires low level modules and components to interact with, something typically accomplished by working together with a "real" software developer, churning out these components such that the "citizen" can orchestrate these components together.

Go Low-Code or go Extinct

500 years ago there existed an entire industry based upon copying books by hand. Typically the process was done by monks, sitting in monasteries, often worshipped as semi-gods may I add. 50 years later the industry was replaced by the printing press in its entirety, and none of these guys could hold their jobs.

A slightly more recent example can be found by looking at the process of manufacturing cars. When Henry Ford created his first car, it took 18 months to assemble a car, and the process typically included dozens of humans, working non-stop on the same car for 18 months. 20 years after Ford created his first factory, he was rolling out a car in 3 weeks.

Low-Code Application Development and Its Importance for Businesses

From eCommerce to the Internet of Things, technology has driven change in almost every aspect of business — prompting owners and managers to remake, rebuild, and reconstruct the way they run their operations (Ismail).

While most companies feel reluctant to make the change (Beede et al), the rising popularity of low-code application development is paving opportunities for enterprises to digitize their operations, automate their workflows, and more (Gartner).

Salesforce Application Design

Since 2008, Salesforce has allowed developers worldwide to build and manage a custom CRM for their enterprise. This Refcard provides an overview of how to design applications to run on the Salesforce Platform, exploring the no- to-full code spectrum.

Hands-On With Adobe Document Generation in Microsoft Power Automate

These days, people are looking to automate many everyday actions within their organization. In a world where people are more commonly having smart homes, people get more used to having the bots do much of the tedious work. By becoming more comfortable in this venue, people are expecting more ways to automate tasks at work.

One of the everyday tasks that people need to get done in their work is generating documents. Whether this is contracts, employee on-boarding paperwork, brochures, statements, or invoices, creating documents using Adobe Document Generation can save a considerable amount of time copying and pasting content into Word documents. What’s more, it can also ensure that things are on-brand and consistent.

How to Create a Modal in UI Builder

A modal is a common UI element used to grab the user’s attention by overlaying the page. In this step-by-step tutorial, we will show you how to implement, style, and interact with modals in UI Builder.

Also known as overlays or dialog windows, modals are an easy way to ensure your user receives information or takes an action you want them to take. In order to guarantee the user interacts with the modal, most modals prevent the user from interacting with the underlying page.

Top 10 Low-Code App Development Best Practices to Follow

Low-code is the present and future of software development. The low-code market is expected to increase from its $10.3 billion market value back in 2019 to $187 billion by 2030 as more companies see the benefits of adopting the platform for their business needs. This is due to the growing need to either accelerate or finish their digital transformation. 

We at Appery.io build a huge variety of applications using the low-code approach and have even created our own low-code app builder that helps our customers turn ideas into real apps. We’ve experienced some challenges and learned some lessons that help us maximize the potential of low-code. 

What’s Happening to Low-Code?

It was only a handful of years ago that the low-code story was innocently simple. Instead of coding software line-by-line by hand, use a low-code tool that provided visual abstractions that enabled developers to shortcut the hand-coding process by dragging and dropping tasks onto workflows, widgets onto screens, and the like.

Then along came no-code. The contrast between the two approaches was clear. Low-code targeted professional developers, simplifying their work by taking ‘plumbing’ tasks off their plate, while also facilitating collaboration with business stakeholders.

No-Code: ”It’s a Trap!”

Gartner predicts that by 2023, over 50% of medium to large enterprises will have adopted a Low-code/No-code application as part of their platform development.

The proliferation of Low-code/No-code tooling can be partially attributed to the COVID-19 pandemic, which has put pressure on businesses around the world to rapidly implement digital solutions. However, adoption of these tools — while indeed accelerated by the pandemic — would have occurred either way.

Even before the pandemic, the largest, richest companies had already formed an oligopsony around the best tech talent and most advanced development tools. Low-Code/No-code, therefore, is an attractive solution for small and mid-sized organizations to level the playing field, and it does so by giving these smaller players the power to do more with their existing resources.

While these benefits are often realized in the short term, the long-term effect of these tools is often shockingly different. The promise of faster and cheaper delivery is the catch — or lure — inside this organizational mousetrap, whereas backlogs, vendor contracts, technical debts, and constant updates are the hammer.

So, what exactly is the No-Code trap, and how can we avoid it?

What is a No-Code Tool?

First, let's make sure we clear up any confusion regarding naming. So far I have referred Low-Code and No-Code as if they were one term. It’s certainly easy to confuse them — even large analyst firms seem to have a hard time differentiating between the two — and in the broader context of this article, both can lead to the same set of development pitfalls.

Under the magnifying glass, however, there are lots of small details and capabilities that differentiate Low-code and No-code solutions. Most of them aren’t apparent at the UI level, leading to much of the confusion between where the two come from.

In this section, I will spend a little bit of time exploring the important differences between those two, but only to show that when it comes to the central premise of this article they are virtually equivalent.

Low-Code vs. No-Code Tools

The goal behind Low-Code is to minimize the amount of coding necessary for complex tasks through a visual interface (such as Drag 'N' Drop) that integrates existing blocks of code into a workflow.

Skilled professionals have the potential to work smarter and faster with Low-Code tools because repetitive coding or duplicating work is streamlined. Through this, they can spend less time on the 80% of work that builds the foundation and focuses more on optimizing the 20% that makes it different. It, therefore, takes on the role of an entry-level employee doing the grunt work for more senior developers/engineers.

No-Code has a very similar look and feel to Low-Code, but is different in one very important dimension. Where Low-Code is meant to optimize the productivity of developers or engineers that already know how to code (even if just a little), No-Code is built for business and product managers that may not know any actual programming languages. It is meant to equip non-technical workers with the tools they need to create applications without formal development training.

No-Code applications need to be self-contained and everything the No-Code vendor thinks the user may need is already built into the tool.

As a result, No-Code applications create a lot of restrictions for the long-term in exchange for quick results in the short-term. This is a great example of a 'deliberate-prudent' scenario in the context of the Technical Debt Quadrant, but more on this later.

Advantages of No-Code Solutions

The appeal of both Low-Code and No-Code is pretty obvious. By removing code organizations can remove those that write it — developers — because they are expensive, in short supply, and fundamentally don’t produce things quickly.

The benefits of these two forms of applications in their best forms can be pretty substantial:
  • Resources: Human Capital is becoming increasingly scarce — and therefore expensive. This can stop a lot of ambitious projects dead in their tracks. Low-Code and No-Code tools minimize the amount of specialized technical skills needed to get an application of the ground, which means things can get done more quickly and at a lower cost.
  • Low Risk/High ROISecurity processes, data integrations, and cross-platform support are all built into Low-Code and No-Code tools, meaning less risk and more time to focus on your business goals.
  • Moving to Production: Similarly, for both types of tools a single click is all it takes to send or deploy a model or application you built to production.
Looking at these advantages, it is no wonder that both Low-Code and No-Code have been taking industries by storm recently. While being distinctly different in terms of users, they serve the same goal — that is to say, faster, safer and cheaper deployment. Given these similarities, both terms will be grouped together under the 'No-Code' term for the rest of this article unless otherwise specified.

List of No-Code Data Tools

So far, we have covered the applications of No-Code in a very general way, but for the rest of this article, I would like to focus on data modeling. No-Code tools are prevalent in software development, but have also, in particular, started to take hold in this space, and some applications even claim to be an alternative to SQL and other querying languages (crazy, right?!). My reasons for focusing on this are two-fold: 
Firstly, there is a lot of existing analysis around this problem for software development and very little for data modeling. Secondly, this is also the area in which I have the most expertise.
Now let's take a look at some of the vendors that provide No-Code solutions in this space. These in no way constitute a complete list and are, for the most part, not exclusively built for data modeling. 

1. No-Code Data Modeling in Power BI

Power BI was created by Microsoft and aims to provide interactive visualizations and business intelligence capabilities to all types of business users. Their simple interface is meant to allow end-users to create their own reports and dashboards through a number of features, including data mapping, transformation, and visualization through dashboards. Power BI does support some R coding capabilities for visualization, but when it comes to data modeling, it is a true No-Code tool.

2. Alteryx as a Low-Code Alternative

Alteryx is meant to make advanced analytics accessible to any data worker. To achieve this, it offers several data analytics solutions. Alteryx specializes in self-service analytics with an intuitive UI. Their offerings can be used as Extract, Transform, Load (ETL) Tools within their own framework. Alteryx allows data workers to organize their data pipelines through their custom features and SQL code blocks. As such, they are easily identified as a Low-Code solution.

3. Is Tableau a No-Code Data Modeling Solution?

Tableau is a visual analytics platform and a direct competitor to Power BI. They were recently acquired by Salesforce which is now hoping to 'transform the way we use data to solve problems—empowering people and organizations to make the most of their data.' It is also a pretty obvious No-Code platform that is supposed to appeal to all types of end-users. As of now, it offers fewer tools for data modeling than Power BI, but that is likely to change in the future.

4. Looker is a No-Code Alternative to SQL

Looker is a business intelligence software and big data analytics platform that promises to help you explore, analyze, and share real-time business analytics easily. Very much in line with Tableau and Power BI, it aims to make non-technical end-users proficient in a variety of data tasks such as transformation, modeling, and visualization.

You might be wondering why I am including so many BI/Visualization platforms when talking about potential alternatives to SQL. After all, these tools are only set up to address an organization's reporting needs, which constitute only one of the use cases for data queries and SQL. This is certainly a valid point, so allow me to clarify my reasoning a bit more.

While it is true that reporting is only one of many potential uses for SQL, it is nevertheless an extremely important one. There is a good reason why there are so many No-Code BI tools in the market—to address heightening demand from enterprises around the world — and therefore, it is worth taking a closer look at their almost inevitable shortcomings.

Kumologica: Exception Handling In Specific Nodes of a Flow [Video]

Although every programmer intends to write code that executes without any errors, a robust implementation of any logic should account for any exceptional scenarios that might occur during program execution. An exception is an event that occurs during the execution of a program and that disrupts the normal flow of instructions. And a graceful handling of such exceptional scenarios is very important because it maintains the normal, desired flow of a program even when an unexpected event occurs. 

If exceptions are not handled properly, it results in the undesired state of execution of the program. Hence, it is expected from any language/product that it provides a robust but at the same time, developer and implementation friendly setup for exception handling.

Serverless Integration With Salesforce Using Kumologica

Salesforce is a popular CRM platform used by many enterprises. Integration of salesforce modules with different enterprise systems is very common. There are multiple ways by which salesforce objects can be integrated.

  1. SOQL query (Pulling the records)
  2. Platform Events (Pushing the events)
  3. CDC (Pushing the events)
  4. OutboundMessages (Pushing the events using webhooks)

Most of the real-time integrations with Salesforce work with PE (platform events), CDC, and OutboundMessages. There are also solutions where SOQL query works in complementary with PE, CDC, or OutboundMessages (Webhooks).