Key Takeaways
- Low-code and no-code software development platforms help establish common ground for product development. They can help developers avoid repetitive application bootstrapping tasks and considerably speed up development.
- In our opinion, Appsmith is best for low-code UI CRUD and workflow application building backed with various data sources.
- Wavemaker is best for visual app development, but there are no free plans.
- Openkoda is best for fast model development of multi-tenant apps and allows you to use Java and Spring reliability with limited knowledge of Java.
- JHipster is best for complex Spring project setups and is great for generating microservice-oriented applications.
1. Introduction
Over the last few years, multiple no-code and low-code platforms have gained more popularity among developers. Studies predict that in 2025, 70% of new applications will be developed using such platforms, while just in 2020, it was below 25%. Also, according to Gartner estimates, cloud-native products will almost entirely dominate the market share of new applications. With the increased usage of LLM AI models, such a trend may only speed up.
But what exactly are no-code or low-code platforms?
They help to establish solid, common ground for product development and avoid repetitive development tasks. Such platforms use well-known, proven frameworks and architectures. Because of this solid foundation, they relieve developers of the hard work of designing secure systems.
It is way easier to avoid common mistakes and pitfalls while using no-code or low-code platforms. They are also very helpful for non-developers, such as business analysts, to model their system and create system proof of concepts.
This article compares several interesting platforms, which may be more or less appropriate, depending on your needs and resources.
2. JHipster
JHipster is a well-known and mature open-source tool, with its first release in 2013. It is a web app and microservice-focused application generator. It helps to set up Spring Boot projects on the backend side while the frontend is scaffolded through the Yeoman tool, and it supports the usage of HTML5, Angular, React, and Vue. It is also possible to mix those with a templating engine like Thymeleaf. The whole stack can be set up both locally and in the cloud, which allows you to play with the tool as soon as possible.
JHipster Showcase - Motorsports Database
How to Get Started
The prerequisites for the latest JHipster release are JDK (the actual version depends on the JHipster release and whether you need Spring Boot 2 or 3), Git, NodeJS, and Yeoman.
JHipster offers your application’s project to be generated online, locally, or using a Docker image.
Let’s cover the second option, as the online and Docker options are shortcuts to achieving the same result. To run JHipster locally, you need to have JDK 17+ and NPM installed.
On Linux systems, JDK may be installed manually or via a very easy-to-use SDKman tool. The installation is very straightforward.
To install SDKMAN, simply run the following commands:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
Once installed, you can easily install Java. For example, to install OpenJDK 17:
sdk install java 17.0.0-open
NPM can be installed and managed with the NVM tool. The installation is very similar to the SDKMAN approach :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.nvm/nvm.sh
To install npm, you need to run just :
nvm install --lts
On Windows, the easiest way is to install JDK and NPM from prebuilt binaries that may be acquired from Oracle or OpenJDK and NodeJS websites.
Finally, it’s all just about to run:
npm install -g generator-jhipster
Then JHipster guides you through a series of questions about your application, including options like:
- Application type: monolithic or microservice
- Build automation: Maven or Gradle
- Authentication model
- Database to be used
- And many more
JHipster Online and Docker simplify the process by helping you answer these questions and automatically generate an actual application.
Once you’re done using mvnw
(or gradlew
), you can run your application. JHipster comes with out-of-the-box features like user access management and metrics. What is really cool is that it supports hot reloading for both the frontend and backend of your application while editing in your IDE, making development much smoother.
While it offers many powerful features, it does come with its own set of pros and cons. Let’s take a look at those:
Pros:
- Reduces the amount of boilerplate code
- Streamlines the initial project setup
Cons:
- It has a steeper learning curve compared to some newer low-code platforms
- Generated projects can sometimes include extra dependencies
Overall, JHipster is best suited for:
- Setting up complex Spring projects
- Building microservice-oriented applications
3. Openkoda
Openkoda is a new open-source development platform that aims to accelerate business app creation with a low resource footprint. It removes the Spring Boot setup and, with built-in user-role-organization management, lets you concentrate on the business. It significantly speeds up building the app using dynamically created entities and models at runtime, so you can achieve full CRUD functionality without rebuilding/recompiling your app. Of course, like other tools, it provides standard CMS features.
It is strongly focused on delivering secure and isolated data workflow with the support of various multi-tenancy models supported by extension.
On the frontend, while developing your app’s dashboard and widgets in Openkoda, you’ll use Thymeleaf as a templating engine, along with JavaScript and CSS. What’s particularly interesting is that the code executed on the backend can be written entirely in JavaScript and also in Java as a native part of the typical Spring Boot + Hibernate stack.
Openkoda also provides a foundation for triggering and handling backend events, as well as managing cron jobs. The combination of backend functionality and frontend widgets makes this platform capable of performing more web app tasks and almost entirely focused on the backend and under-the-hood operations.
How to Get Started
Openkoda is an open-source project, so you can easily access sources and build the stack for yourself by running :
mvn -f openkoda/pom.xml clean install spring-boot:repackage -DskipTests
To make things easier, there is also an option to use a Docker image. Using docker-compose.yml
(available on the Github) or a Dockerfile
For those who prefer managed services, Openkoda’s managed cloud offers a premium option. However, regardless of the chosen method, you can always export/import your application as a Maven project.
Let’s take a look at the pros and cons:
Pros:
- Out-of-the-box CRUD and CMS functionality
- Dynamic model and entity creation at runtime
- Many built-in features that extend Spring Boot
Cons:
- It may not be easy for non-technical users
Best suited for:
- Rapid model development of multi-tenant applications, using it as a template, you can avoid coding from scratch
4. Appsmith
Appsmith is often called an open-source low-code platform and is very useful when developing data workflows. However, it is a platform for engineers/designers who still have some level of skills in JavaScript and SQL and how APIs work to create more sophisticated, customized applications.
Using over 18 native data source connectors and similar integrations with 3rd party services and SaaS, you can create dashboards using drag and drop and built-in templates and components (over 50). You can make it even more powerful using a built-in JS editor to insert your custom code and tailor the app to your needs. There is an option to share your custom widgets, although they need to be approved first.
Also, at runtime, the platform offers an intuitive user experience (UX) combined with a powerful IDE. As you dive deeper into coding, one feature stands out: it allows you to capture events within components.
You can choose a free plan and use self-hosted or cloud versions or opt for a paid plan that provides better scalability and no limits on data sources, custom branding, and more.
How to Get Started
You have two main options: use the cloud-based version of Appsmith or run a self-hosted instance using Docker, Kubernetes, or AWS.
With the cloud-based option, all you need to do is create an account in the Appsmith Cloud. Then, it’s just about configuring your data source (whether a database, API or SaaS), and you’re ready to go. You can start by visually editing your application and creating forms for data accessed via a configured data source. After that, you can shape the data and develop your application.
If you decide to use a containerized instance like Docker locally on self-hosted, simply use docker-compose.yml
provided by Appsmith in the installation manual, and you can use it just like the Cloud version.
Let’s take a look at the pros and cons:
Pros:
- Excellent drag-and-drop UX designing capabilities
- Enable rapid development
- Offers multiple ways to get started
Cons:
- Quite resource consuming
- UX customization is a bit limited
Best suited for:
- Building low-code UI CRUD and workflow applications backed by various data sources
5. Wavemaker
Wavemaker is not an open-source platform, but it is based on an open tech stack. It offers a visual development environment where you can design web applications (Java, Angular, and React stack) with or without coding. It can autogenerate Angular and Reactive mobile applications from Figma design imports. Powered by generative AI and many integrations, it may be very powerful for rapid development.
One of Wavemaker’s strengths is exporting and importing projects developed within the platform's development environment to/from Maven-compliant projects.
The most outstanding integrations are SAP, Salesforce, and Microsoft’s Office ecosystem services. These services definitely may help create business apps rapidly, but what should be taken into consideration is that Wavemaker is only available as a PaaS; it may be a bit difficult to estimate its scaling capabilities when it comes to very unique or backend operation-intensive apps.
How to Get Started
Although Wavemaker doesn’t offer a free plan, you can request a demo to explore its features.
Once you’re in Wavemaker’s IDE, you can begin by creating your page, drag-and-drop components, and widgets. Afterwards, you’ll typically need to work on sourcing your page or tables by using existing APIs or developing your own, where you can use the platform’s Import/Export functionality.
On the administration level, in addition to managing your external data sources, APIs, or integrations, various security options may be enabled, such as using the OWASP tool to scan your app for the most common security vulnerabilities.
Let’s take a look at the pros and cons:
Pros:
- Excellent UX design capabilities
- Intuitive in-app development process
- Supports for rapid development
Cons:
- It can be expensive for smaller projects
- Lack of free or self-hosted plan
Best suited for:
- Visual, rich enterprise application development in a PaaS model
6. Summary
Choosing the right tool, for instance, from one of the above may be difficult without actually experimenting with each other, so it’s recommended to download or create accounts and just play with them. The presented platforms have different strengths, approaches, overall complexity, resource requirements, and pricing. But they all will increase your productivity.