Fullstack Java framework for enterprise web application
APACHE-2.0 License
DynamiaTools is a framework for building Java 17+ web applications fast and easy using standard design patterns, views descriptors for automatic UI generation, actions, services and modules. Powered by Spring Boot v3.2 (https://spring.io), ZK 10 Jakarta (https://www.zkoss.org) for frontend and JPA 3+ with Hibernate 6.
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tools.dynamia.app.EnableDynamiaTools;
@SpringBootApplication
@EnableDynamiaTools // <- this is all you need
class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Maven
<dependencies>
<dependency>
<groupId>tools.dynamia</groupId>
<artifactId>tools.dynamia.app</artifactId>
<version>5.1.3</version>
</dependency>
<dependency>
<groupId>tools.dynamia</groupId>
<artifactId>tools.dynamia.zk</artifactId>
<version>5.1.3</version>
</dependency>
<dependency>
<groupId>tools.dynamia</groupId>
<artifactId>tools.dynamia.domain.jpa</artifactId>
<version>5.1.3</version>
</dependency>
</dependencies>
Gradle
compile 'tools.dynamia:tools.dynamia.app:5.1.3'
compile 'tools.dynamia:tools.dynamia.zk:5.1.3'
compile 'tools.dynamia:tools.dynamia.domain.jpa:5.1.3'
Artifacts are available in Maven Central repositories
Please visit (https://dynamia.tools) for full documentation and tutorials
mvn clean install
;-)DynamiaTools is available under Apache 2 License
We start developing DynamiaTools 13 years ago as an internal utility library for our projects at Dynamia Soluciones IT (https://www.dynamiasoluciones.com). We needed that our developers could create web applications fast without too much knowledge about specific frameworks or APIs like Spring or JPA.
First version was focus in many utility classes for hiding spring complexity, ZK apis, database connection, project configuration, page navigation, services and domain code integration and reusable simple modules. We did same stuff over and over again when we need create consistency user interfaces and actions across modules.
Then version 2.x focus on simplify and automatize user interface creation without the need to generate code (that we think is easy to use but very hard to maintain). We created something called view descriptors, instead of write UI code and layout components you just describe it using a simple YML plain file and, the framework do its best to create the UI for you. On the other hand there are the most common thing you do when create any application that use some data storage, the infamous CRUDs. We ended writing the same kind of code for every simple entity. DynamiaTools create beautiful CRUDs for you. You just need create an entity and your done.
Finally, version 3.x come to life, we reorganize, repackage and optimize everything. This version has better code, better design, better performance, new and great features, it's not backwards compatible and, most important is the first version open source. Yes, we want to share our work with you.
Now, version 4.x goal is Java 11+ and beyond, better performance, integrate new frameworks and new website with much better documentations and demos.
Please use it, extend it and help us to build a great community around it. We will continue support this project always. Currently, we have 10 projects and more than 40 modules powered by DynamiaTools 4. As you can see this is not a new framework but is new in the open source world. This is not the only project we are going to open, we have more products to share.
The main goal of 5.x version is to upgrade to latest version of Java 17, spring and hibernate.
Please read Contributing Guidelines