Skip to content

Latest commit

 

History

History
71 lines (50 loc) · 8.19 KB

tools.md

File metadata and controls

71 lines (50 loc) · 8.19 KB
title category icon
High-Quality Open Source Development Tools for Java
Open Source Projects
tool

Code Quality

  • SonarQube: A static code analysis tool that helps identify code defects, quickly locating potential or obvious errors in the code, improving code quality and increasing development speed.
  • Spotless: A code formatting tool that supports multiple languages and can be built as a plugin for Maven and Gradle.
  • CheckStyle: Similar to Spotless, it helps programmers write Java code that conforms to coding standards.
  • PMD: An extensible static code analyzer that supports multiple languages.
  • SpotBugs: The successor to FindBugs, a static analysis tool for finding bugs in Java code.
  • P3C: Implements the Alibaba Java Coding Guidelines through PMD and an IDE plugin. The plugin is available for both Eclipse and IntelliJ IDEA.

Project Build

  • Maven: A software project management and comprehension tool that utilizes the concept of Project Object Model (POM). Maven can manage project builds, reports, and documentation from a central piece of information. For more details: Summary of Maven Core Concepts.
  • Gradle: An open source build automation tool that is flexible enough to build almost any type of software. Gradle makes few assumptions about what you want to build or how to build it, making it particularly flexible. For more details: Summary of Gradle Core Concepts.

Decompilation

  • JADX: A command-line and GUI tool for generating Java source code from Android Dex and Apk files.
  • JD-GUI: A standalone GUI tool that displays Java source code in CLASS files.

Database

Database Modeling

  • CHINER: An open source, free domestic database modeling tool. The goal is to create a rich database ecosystem, independent of any specific database, as a platform for designing database relational models. It originated from PDMan, positioned as a free alternative to PowerDesigner.

There are relatively few open source database modeling tools. Here are some non-open source database modeling tools (some require payment to use):

  • MySQL Workbench: A visual tool provided by MySQL for database architects, developers, and DBAs. MySQL Workbench supports data modeling, SQL development, as well as server configuration, user management, performance optimization, database backup, and migration. It supports Windows, Linux, and Mac OS X platforms.
  • Navicat Data Modeler: A powerful and cost-effective database design tool that helps users create high-quality conceptual, logical, and physical data models. It allows you to visually design database structures, perform reverse or forward engineering, import models from ODBC data sources, generate complex SQL/DDL, and print models to files, etc. Paid.
  • DbSchema: A powerful visual tool for database design and management that supports almost all relational and NoSQL databases. Paid.
  • dbdiagram.io: A simple and free online ER diagram drawing tool that allows you to create models by writing code, designed specifically for developers and data analysts. It generates data models through a simple custom language, supporting forward engineering and reverse engineering of MySQL, PostgreSQL, SQL Server database DDL files, version history, online sharing, and exporting images or PDFs, etc. dbdiagram.io offers a free version.

Database Management

  • Chat2DB: An intelligent and general-purpose database tool and SQL client open-sourced by Alibaba. It supports local installation on Windows and Mac and also supports server-side deployment with web access. Compared to traditional database client software like Navicat and DBeaver, Chat2DB integrates AIGC capabilities, supporting natural language to generate SQL, SQL performance optimization, and more.
  • Beekeeper Studio: A cross-platform database management tool with an attractive interface, supporting SQLite, MySQL, MariaDB, Postgres, CockroachDB, SQL Server, and Amazon Redshift.
  • Sequel Pro: A MySQL/MariaDB database management tool for macOS.
  • DBeaver: An open source database management tool developed in Java that supports almost all database products. The DBeaver Community Edition supports relational databases like MySQL, PostgreSQL, MariaDB, SQLite, Oracle, Db2, and SQL Server, as well as embedded databases like SQLite and H2. It also supports common full-text search engines like Elasticsearch and Solr, and big data tools like Hive and Spark.
  • Kangaroo: A management client designed for popular database systems (SQLite / MySQL / PostgreSQL / ...), supporting functions such as table creation, querying, modeling, syncing, and importing/exporting. It is compatible with Windows, Mac, and Linux operating systems, aiming to create a user-friendly, fun, developer-friendly SQL tool.
  • Arctype: A desktop database querying tool that can connect to various databases and execute SQL statements, presenting data visually.
  • Mongood: A graphical management tool for MongoDB, based on Microsoft's Fluent UI, supporting automatic dark mode.

Redis

  • Another Redis Desktop Manager: A faster, better, and more stable Redis desktop (GUI) management client, compatible with Windows, Mac, and Linux.
  • Tiny RDM: A more modern Redis desktop (GUI) management client based on Webview2, compatible with Windows, Mac, and Linux.
  • Redis Manager: A one-stop management platform for Redis, supporting monitoring, installation (except sentinel), management, alerting, and basic data operations for clusters (cluster, master-replica, sentinel).
  • CacheCloud: A Redis cloud management platform that supports efficient management of multiple Redis architectures (Standalone, Sentinel, Cluster), effectively reducing the operational costs of large-scale Redis and enhancing resource control and utilization.
  • RedisShake: A tool for processing and migrating Redis data.

Docker

  • Portainer: A visual management tool for Docker in a web application format.
  • lazydocker: A simple terminal UI for docker and docker-compose.

ZooKeeper

  • PrettyZoo: A graphical management client for ZooKeeper based on Apache Curator and JavaFX, with a very attractive interface, supporting Mac / Windows / Linux. You can use PrettyZoo to visualize CRUD operations for ZooKeeper.
  • zktools: A low-latency graphical management client for ZooKeeper, with a very attractive interface, supporting Mac / Windows / Linux. You can use zktools to visualize CRUD operations for ZooKeeper.

Kafka

  • Kafka UI: A free and open-source web UI for monitoring and managing Apache Kafka clusters.
  • Kafdrop: A web UI for viewing Kafka topics and browsing consumer groups.
  • EFAK (Eagle For Apache Kafka, formerly known as Kafka Eagle): A simple high-performance monitoring system for comprehensive monitoring and management of Kafka clusters.