Low-Code Development Platforms. Game Changer or yet Another Dev Tool?

In this article we will consider low-code development platforms, discuss why they became popular and explain why it’s a little early to abandon the traditional ways of building software.

Thankfully to low-code development platforms it has now become possible to create software products by using graphical user interfaces and configuration instead of writing the code manually.

This approach allows to reduce time spent for development, which explains the popularity it has gained in recent years. Projected prospects of low-code application development are also quite impressive:

Img source: Grand View Research

The question is whether this technology will become a game-changer and redefine the usual ways of building software, or it’ll take its own niche and become one of many other development tools. Let’s find out.

Low-code Development: Main Characteristics and Reception

The complexity and diversity of contemporary software development tools led to the emergence of low-code platforms. Decreasing the amount of “traditional” manual coding, accelerating the application delivery — that is what low-code development was aimed at (nonetheless, hand-written code still can be used if needed or desired).

Particular features like drag-and-drop interfaces help to visualize and build the apps. Low-code platforms provide a more diverse range of people with the possibility to contribute to the app development owing to lower requirements for programming skills. Another vital feature is mobile accessibility. There is no need to create and test multi-device apps with a low-code mobile platform, since packages usually include this feature out-of-the-box.

Various low-code development platforms have their own characteristics, but meanwhile they all have something in common. For instance, a typical platform provides access to a visual IDE (Integrated Development Environment) that allows visually defining the components of the user interface, workflows, and data models. If needed, you can use such IDE’s for adding some hand-written code. Connectors to back-ends and services enable data handling, storage, and retrieval. Application lifecycle manager, in its turn, enables building, debugging, deploying, and maintaining the app.

Focus on flexibility and ease-of-use allowed low-code development platforms to succeed in the market. According to such Research companies as Gartner and Forrester, an even brighter future is predicted to them. Siemens’ acquisition of Mendix, a popular low-code app development platform, for $700 million demonstrates that significant market players are ready to invest in this technology.
Unfortunately, despite all the advantages that low-code development platforms are able to provide, it’s a little early to abandon the traditional ways of building software. In the next chapter, we’ll discuss some limitations that don’t allow this software development approach to replace traditional practices in a full manner.

Read also: Web Development Trends to Expect in 2021

Low-code Development: Concerns and Limitations

Since we have already mentioned Mendix, let’s use it as an example of a typical low-code development platform. Frankly, Mendix is an excellent option for automatization of simple processes and creating prototypes. You can quickly create an app’s screens with a visual IDE and describe its logic using so-called microflows. Here’s a small example that shows how you can describe the logic of your application with their help:

Img source: Mendix

Use as many microflows as you need, and your app is ready. After the deployment of the application to the cloud, it’s ready to start working with. Looks ideal, but in the case of a real-world application, after the launch and further interaction with users, its business-logic usually becomes more complicated and requires rework. Unfortunately, further app development may cause some unexpected issues.
The need to describe the app’s logic (calculation, interaction with users, etc.) with microflows leads to some inconveniences. In some cases, due to this requirement, a low-code development platform may become a real time-waster. It may be faster for an experienced developer to solve a specific issue by writing ten lines of code rather than managing dozens of blocks and defining how they connect with each other.

Another issue is readability. It’s a pretty common situation when a developer modifying a web app is not the same person who initially had designed and programmed it. Therefore, it may be necessary to “read” the app’s inner structure with minimal effort. The blocks from which the app built with a low-code platform consist, look pretty neat, but their purpose is not always obvious, and it leads to the need of close analysis.

Another disadvantage that shouldn’t be underestimated is the impossibility to keep full control over the ecosystem. When you rely on open-source technologies, you can always figure out what went wrong after you detect an exception somewhere down the stack during the development process. Further debugging won’t become a severe problem for a team of experienced developers. When you deal with proprietary low-code development platforms, the underlying stack may behave like a black box making it barely possible to fix all the emerging problems efficiently and on time.

Any low-code development platform is a medal with two sides. As we mentioned earlier, one of the purposes of low-code platforms is to make the development process more intuitive compared to traditional coding. It may sound charming for a project manager since there’s no need to spend time searching for expensive and hard-to-find professionals hunted by many competitors in the market. In practice, deskilling may lead to different unpleasant consequences. For example, when your system breaks down under the influx of hordes of new users, the absence of a deep understanding of how the smallest bit of app works will significantly complicate the problem-solving process. Also, when you’re in need of a developer for your project, you may realize that finding a good one is a difficult case.

Last but not least, the prices. At the moment of this writing (early 2021), a single app license on the Mendix platform starts from $1,917 per month and is limited to 50 internal users with a 3-year commitment. In its turn, the enterprise license will cost you approximately $7,825 per month, which will result in almost $100,000 per year. A large company with thousands of users will inevitably face quite significant annual expenses. If you keep in mind that we’re talking about relatively simple apps, these numbers will become even more impressive.

If you want to get all the benefits that low-code development platforms are able to provide, and losing full control over the project is not part of your plan, there are some options you can keep in mind. If you intend to reduce time spent on development without sacrificing your software solution’s overall quality, you can consider Webix, a JavaScript UI library. It was initially designed to allow web developers to create full-featured web apps by using less code. Among additional web development tools that Webix creators provide, you can find the UI Designer that includes low-code UI prototyping functionality. Developers can use it to prototype UI requirements at the business analysis stage, create custom UIs in a WYSIWYG editor, and share templates with team members or customers.

Conclusions

Low-code development platforms can be a decent choice for prototyping. They allow providing visible results faster and develop the common vision of your future app effortlessly. As long as the number of users is relatively low, you can afford to use low-code platforms for a reasonable price. If you decide to continue using this approach, you may experience a decrease in development speed and find yourself stuck with an expensive proprietary platform.

If you want to learn more about software development techniques that will guarantee your business’s better outcome, contact us.

Originally published at xbsoftware.com.

#Outsourcing IT company with a focus on #web and #mobile app development in #ReactJS, #NodeJS, and JavaScript. www.xbsoftware.com