Low coding brings several benefits to the table. It reduces development time, so it gives you more time focusing on higher-value tasks, such as user experience and business logic. Or simply time to build the groundbreaking stuff you really care about. But let’s keep in touch with reality: low code projects require the right approach and mindset.
Vendors of low code solutions often like to use impressive marketing terms to get our attention. They try to attract new audiences by promising that every individual can code, sometimes no code at all is necessary and development productivity can reach unprecedented levels by using a strict low code approach. This may be true on a high level, but when starting with low code tools to build applications, your case can hit some boundaries. Let’s dive into an example. And, more importantly: explore how to successfully adopt low code techniques.
Let’s say one of your sales managers wants to optimize the internal workflow. To do this, he built a workflow application to be used by all his colleagues. Because of his non-technical background, he turned to a low code approach and quickly developed the required functionality. However, a few weeks later his colleagues ask for more. They send him a wish list, containing feature requests such as complex calculations, nice integration with the existing CRM system and some additional security features. Due to the popularity and visibility of the app, the IT department notifies our sales manager and complains about the non-compliancy of the software.
The need for speed
It’s no surprise that low code and no-code solutions are popular nowadays. They promise business- oriented audiences, a target group that doesn’t sport a technical background – called Citizen Developers – to be able to develop applications.
The world is facing a shortage of skilled developers and the need for IT systems increases on a daily base. As a result of this, the Citizen developer embraces low code solutions to be self-supportive for his IT-demands. But at the end of the day, these business managers must fall back on the skills of their developers to get their application up and running, maintained, compliable to existing business rules and secured.
Software development has always been a labour intensive, time-consuming task. A low code approach is welcome to make standard parts of a developer’s job easier, so they can code less and work faster.
To fulfil the feature requests, the standard building blocks initially used by our sales manager are not sufficient anymore. In many cases, the answer of low code vendors would be to use a series of APIs to add customized functionality to the low code application. This is something our sales manager clearly isn’t capable of. Developers with Java and C# experience are needed in this stage. The result: numerous new lines of code are added to the project and the standardized low code building blocks are accompanied by a traditional development language. This can result in additional bugs, an increased amount of maintenance hours and an additional monetary investment.
Bye-bye to rapid development
In practice, a lot of low code projects need additional languages (such as Java or .NET) to deliver the needed functionality only after the first 3 months after their inception. Furthermore, in some cases, the whole low code application needed to be built up from the ground in one of the aforementioned languages. So much for ‘rapid development’.
The downside of APIs
There’s nothing wrong with an API. However, you have to realize that APIs which are added to a low code project have to be learned, understood and maintained in the long run. Additionally, APIs tend to rely on the complex runtime systems of the low code tools and the willingness of the low code vendor to support the API in newer versions.
The right way
There are better ways to embrace a low code strategy. The answer: you can avoid the use of custom API or specialized frameworks by using a programming language with an increased level of abstraction and use this language for the development of the application. When you choose to develop your application based on a Domain model, you choose the right low code approach. A Domain model comes with a Relational Data model, declarative prototyping and a rich language. This approach has proven itself in the past years and is fully supported by Uniface.
Best of both worlds
To avoid resorting to languages such as Java or .NET and ending up with a custom, complex application, the Uniface language has a rich structure. First of all, it contains relevant meta information of the data model. Also, it includes the declarative functionality of the prototypes. The language also takes into account support for complex features, security, integration with existing infrastructure and scalability. The Uniface Proc Script language is made up of code containers belonging to components, entities, fields and other development objects which define the runtime behaviour or application components.
Did You Know
By embracing a Domain model, Uniface developers typically experience a 4 to 1 increase in productivity compared to complex language developers (such as Java or .NET or other third-generation languages).
So let’s get started
Uniface has a proven track record and leads the way for model-driven, low-code application development and deployment software for enterprise businesses, software integrators and ISVs. Accelerate innovation with Uniface's low-code platform and find out what’s new in Uniface 10 Community Edition. To get a head start, visit the free eLearning academy and have a look at the repositories on Github and Gitlab and library code in the Uniface Community.
Do you want to stay updated on the latest Uniface news? Please subscribe to our quarterly newsletter.