Why does low-code or no-code development make more sense sometimes than traditional application development?
For a long time when companies needed a new application or a system, there were only two ways to do that. The first option is to get a new application from an IT corporation, which took time and quite an amount of money. The second one is to buy an existing product, and the truth is, it does reduce time, but mostly it does not meet the requested requirements. But not anymore. There is a third option. Low-code/no-code platforms.
Low-code and no-code are software development approaches that allow you to design and develop an application with little or even no coding. Why are both concepts connected? At first look, the no-code way looks less complex than the low-code. Easy to use interface, some dragging, some dropping, but if you need anything that goes out of the box, this evolves to low-code. In the basic version, the platform doesn't always allow customizing components in expected or needed ways. You can try adding plugins or customize it by writing some code, but it doesn't work out in every case. Often we just have to stick to the given pattern. As everywhere, this technology has pros and cons, so let's take a closer look at them.
Generally, when we talk about applications, the main point is how much they cost. Next is why is it so expensive and then how we can lower these costs.
ostly when talking about low-code/no-code solutions, the primary benefit is the speed of creation. Low-code/no-code platforms provide us with ready-to-use components as well as templates that you can use to create applications. The user interface is simple, so to build an app you need just to drag and drop or layer elements. The user needs some basic training, but nothing regarding code at this point, especially if you don't need customization. Creating an app by using existing components is significantly faster than writing and debugging traditional code and this automatically reduces time and costs. As they say: time is money.
There are several problems that we can run across during using low-code/no-code platforms. An important aspect of browser applications is integration with other systems. Here you can face a similar problem as with personalization. Connecting to popular, external systems or API queries is often already built into the platform, but it is not a rule. Sometimes you need to find out and add a plugin to your app – at additional cost of course. Let me add that you are not always sure that this plugin works well and will work with your application. And this is a better situation. If the plugin doesn't exist your only way is to write it and for that, you need a developer who will know your application.
It is also worth adding that if the platform we use doesn't have such a plugin and we have to create our own, or we use a lot of plugins for the project, it can significantly affect the speed of the application. This is not due to the problems of external systems, but because the platform was not prepared for such solutions and it slows down the application.
Another issue is the potential security risk. In the case of an application created on the platform, control over it is only partially on our side. Platforms most often operate in the SaaS model and charge different subscriptions. This, by definition, means that you will not gain access to all data and tools, because then nothing would prevent you from resigning from services. Unfortunately, if you do not completely control something, you cannot say that you are fully responsible for data security.
So when is it worth considering this technology?
Many small businesses with limited financial resources choose this way to implement their landing pages or small apps. Process automation in corporations was needed and even necessary in times of pandemic, with such a large shift to remote work. Companies that have many repetitive processes, such as employee timekeeping, began to use such tools more willingly to create software that facilitates work (in particular remote). And in this area platforms, low-code/no-code have so many opportunities. If you ever heard about low-code/no-code platforms, I am sure you also heard: "This is for everybody", "non-programers can do it" etc. All of the above is true, people without a programming background can work on some apps. But soon enough something will break (it always does), and then you will need to fix it, and it means extra work. Extra work equals extra money. So if you want something that will actually be operational, especially in long run, you need an IT developer. At the end of the day, most of those apps require some coding anyway and since it doesn't require high-level skill it could be done by regular developers or even juniors (and they are much cheaper than seniors).
The most important is which technology you choose and also who will create your app.
PS. Don't you think it’s funny to call this technology no code, when there is so much code underneath? 😊 Ann