Is Jmix a Low-Code platform?
What is Low-Code?
Basically, Low Code is the term describing visual application development capabilities with an option to use limited code or scripting. Low-Code application development systems descended from enterprise-class systems like BPM, ECM or CRM solutions created for particular purposes. Addressing the business request for flexibility, vendors created sophisticated instruments giving freedom to customize fields on the forms, design workflow automation and perform integrations with popular office software packages. That’s the typical way of how most of the Low-Code platforms evolved.
Nowadays the Low-Code market is growing and at the same time splitting into market segments. Vendors differentiate their products focusing on various user groups according to their requests in areas: application use-case, level of abstraction and developer skillset. Thus, some of the platforms cover a narrow use-case area and eliminate coding at all providing only visual tools to build the application. This type is called No-Code. Others are focusing on professional developer skillsets providing them with tools to automate routine operations in a broad spectrum of application use-cases. From some angle it brings excessive complexity when you're searching for your next application development technology - too many options. But from the other perspective you're able to find something which perfectly matches your needs.
What you actually get with Low-Code platforms
The first thing you’ll see in any Low-Code platform marketing description is the promise of high development speed, and for some cases it is true. Another advantage is that it’s very easy to become a low-code developer, since these platforms don’t require deep knowledge of programming languages or software architecture. The vendors offer ready-to-use blocks for different pieces of functionality, integration, UI components, etc.
However, when you need something beyond the features provided by a platform, you will most likely access the vendor again and use their additional services. So, the flexibility of Low-Code platforms is very limited, and No-Codes are even less flexible.
What is more, you do not own the application source code and have to run it in the vendor's runtime. The licensing is usually costly and depends on the number of your application end users. As a result, you’re totally locked in to the service provider.
Of course, those disadvantages don't make a real drama. If you work with a team of citizen developers aiming to get a next generation spreadsheet, Low Code is a great approach. But if your team consists mostly of back-end developers and software engineers who are deeply involved in the business domain, you may consider an advanced, more generic, approach. One just has to choose development tools carefully, considering the team skillset, the application purpose and environment.
The Less-Code Concept
Along with the high-productivity tools developers expect to get the following options:
- the ability to review the code in an application.01Code inspection:
- the ability to use professional tools to debug the code in an application.02Code debugging:
- the ability to overlap some core functionality.03Code overriding:
- the ability to utilize popular version control systems while working on an application together with the team.04Collaborative development:
- the ability to make decisions on how to perform an application delivery.05Deployment freedom:
We call it the Less-Code platform.
Less Code vs Low Code
You can also find out that Low/No-Code lacks flexibility
in the following:
- UI agility – level of multiple UI experiences support and ability to be highly customized. Low-Code doesn’t offer UI customization — only ready-to-use templates. Less-Code lets you customize the user interface or use the integrated templates.
- Business logic agility – data model complexity, business processes engine and workflows complexity. Low-Code data models are usually simple, and it’s hard to make something more complex. Less-Code provides more flexible data modeling.
- Vendor independence – ability to be utilized without the vendor runtime. With Low-Code, you pay for utilizing the vendor runtime. Less-Code allows users to use any runtime they are used to.
- Integration capabilities – open platform API, ability to be integrated into enterprise IT landscape. Low-Code integration capabilities are limited by the vendor’s environment. Less-Code offers special instruments for integration and deployment.