BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Java-Based No-Code and Low-Code Application Bootstrapping Tools Review

Java-Based No-Code and Low-Code Application Bootstrapping Tools Review

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.

About the Author

Rate this Article

Adoption
Style

BT