Mendix Ignite: Low-Code versus High-Code

Mitchel Mol
|
October 12, 2023

As a hybrid developer I often get the question from customers/colleagues: Why should I choose low-code or High-Code? To which I usually answer that depends on your situation. Which of course is a completely useless answer without further context.

A lot of articles have been written on the Low-Code versus High-Code topic (and often also including no-code). This is my opinion from the perspective of a developer who has created applications with Low-Code and High-Code. And even today I still deliver apps based on a hybrid approach. While I utilize the power of Low-Code I fully understand that efficiency augmentation with High-Code is not always avoidable. And shouldn’t be avoided at all costs either.

So why would you go for Low-Code?

As my choice for a Low-Code platform is Mendix, this will be from that perspective, but several true app-building Low-Code platforms have the same pros and cons applied to them.

Pros

  • Visual development, what you see is what you get
  • Shorter iterations with tangible results after each iteration
  • Build to develop applications in close collaboration with the business
  • A large ecosystem of reusable components
  • Highly adaptable to integrate with third-party software
  • Extensible via Java / JavaScript if the platform does not have a solution.
  • All in solution, development platform, hosting, support and community.
  • Fewer developers are required compared to High code to reach the same end result
  • Mendix consultants are business analysts and application developers in one package requiring smaller teams
  • Ability to gain in-house knowledge for regular maintenance, small improvements
  • Easier to learn, but still difficult to master

Cons

  • Committed to Mendix as a vendor that provides the platform
  • Compared to well-known High-Code platforms a smaller community
  • Recurring licence fees
  • Proper Low-Code development still requires an understanding of many of the same best practices/design patterns that High-Code also requires
  • The platform is like a Swiss army knife while versatile and great at a lot of things, good at most, still not able to do everything with minimal effort as the marketing department likes us to believe

On the other hand, why go for High-Code?

My perspective on High-Code is based on my experience with PHP, Java, ColdFusion and many types of front-end development with several JavaScript frameworks.

Pros

  • Ample vendors are available as long as you choose a popular High-Code language
  • Very large communities with diverse levels of quality.
  • Relatively high amount of cheap developers
  • A lot of local vendors are available
  • Higher flexibility to choose your own architecture
  • Usually no recurring licensing fees

Cons

  • Long time between iterations which causes more disconnect between needs/wants and resulting software.
  • No set infrastructure, so hosting and maintenance need to be taken care of resulting in separate recurring hosting fees.
  • Take care of everything from coding standards to security and from styling to integration logic. (Mendix has a large set of standards and easy tools to speed this up)
  • No set collaboration tools, reinvent the wheel for every single project
  • Continuous improvements rely on the community (open source)
  • Requires a team of business analysts, developers, testers, and project managers to take care of the full development cycle
  • More difficult to gain in-house knowledge for regular maintenance and small improvements.
  • Moving over to a different vendor requires intensive knowledge transfers and documentation as the standards are far less set in stone compared to Mendix. (Vendor lock-in)

In summary

While both approaches certainly have their advantages it is ultimately up to the set of requirements that determine which would be better. I do think that in the world of business processes, integrations and rather vague requirements a Low-Code platform such as Mendix works extremely well. Especially due to the initial quick return from requirements refinement to review. Which allows continuous feedback from product owners and end-users as the development team creates the solution.

I do believe strongly that a background in software engineering is an advantage to those choosing to build their applications with low code as it is much easier to go from walking to running when you actually know how to stand up. That being said I have worked with some talented folks completely new to software development and starting in Low-Code that are able to manifest their logical thinking and solution-driven approach far easier into actual solutions. (with some initial guidance to learn some best practices of programming)

Mx Ignite Feature Flash
Advent Calendar

Receive your daily Christmas Spirit with our Mendix 10 feature video's
Watch now!
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Heading

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Mx Ignite Feature Flash
Advent Calendar

Receive your daily Christmas Spirit with our Mendix 10 feature video's
Watch now!
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.