Development Toolchain
Editors
“Real programmers can write assembly code in any language.” —Larry Wall.
IntelliJ IDEA
- IntelliJ IDEA Ultimate (opens in a new tab)
- Free Educational Licenses (opens in a new tab)
- Getting started with IntelliJ IDEA (opens in a new tab)
- IntelliJ IDEA keyboard shortcuts (opens in a new tab)
Visual Studio Code
- Visual Studio Code (opens in a new tab)
- Extension Pack for Java (opens in a new tab)
- Javadoc Tools (opens in a new tab)
- Visual Studio Code keyboard shortcuts for macOS (opens in a new tab) and Windows (opens in a new tab)
Extensions
- Blockman (opens in a new tab)
- Error Gutters (opens in a new tab)
- Better Comments (opens in a new tab)
- Prettier (opens in a new tab)
- Color Highlight (opens in a new tab)
- Color Info (opens in a new tab)
- Live Share (opens in a new tab)
- GitHub Pull Requests (opens in a new tab)
- GitLens (opens in a new tab)
- Git History (opens in a new tab)
- Markdown All in One (opens in a new tab)
- Markdown Preview Enhanced (opens in a new tab)
- Bookmarks (opens in a new tab)
- Todo+ (opens in a new tab)
- SonarLint (opens in a new tab)
- CodeSnap (opens in a new tab)
- Code Spell Checker (opens in a new tab)
- Text Manipulator (opens in a new tab)
- file-icons (opens in a new tab)
- Fluent Icons (opens in a new tab)
Themes
- Solarized (opens in a new tab)
- Ayu (opens in a new tab)
- Rosé Pine (opens in a new tab)
- Noctis (opens in a new tab)
- Aperture (opens in a new tab)
- Night Owl (opens in a new tab)
- GitHub Theme (opens in a new tab)
- Monokai Pro (opens in a new tab)
- One Dark Pro (opens in a new tab)
- Atom One Dark (opens in a new tab)
- Atom One Light (opens in a new tab)
- Flexoki (opens in a new tab)
Fonts
- Monaspace (opens in a new tab)
- Fira Code (opens in a new tab)
- IBM Plex Mono (opens in a new tab)
- Fantasque Sans Mono (opens in a new tab)
- Cascadia Code (opens in a new tab)
- Source Code Pro (opens in a new tab)
- Recursive Mono (opens in a new tab)
- Maple Mono (opens in a new tab)
- Ligaturizer (opens in a new tab)
- Nerd Fonts (opens in a new tab)
- Programming Fonts (opens in a new tab)
Version Control
- How to efficiently use Git integration in IntelliJ IDEA (opens in a new tab)
- Using Git source control in VS Code (opens in a new tab)
- Getting Git right (opens in a new tab)
Issue Tracking
- Git integration with issue trackers (opens in a new tab)
- Introducing GitHub Issues integration (opens in a new tab)
Unit Testing
- Get started with JUnit (opens in a new tab)
- Testing Java with Visual Studio Code (opens in a new tab)
- Test Runner for Java (opens in a new tab) included in Extension Pack for Java (opens in a new tab).
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” —Brian Kernighan
Documentation
Runtime
- Java Development Kit (opens in a new tab)
- OpenJDK Developers’ Guide (opens in a new tab)
- The Java Tutorials (opens in a new tab)
Graphical Interfaces
- JavaFX (opens in a new tab)
- Vaadin (opens in a new tab)
- Spring (opens in a new tab)
- Grails (opens in a new tab)
- SWT (opens in a new tab)
- Jakarta Faces (opens in a new tab)
- Swing (opens in a new tab)
- GWT (opens in a new tab)
- ZK (opens in a new tab)
- Pivot (opens in a new tab)
- Webswing (opens in a new tab)
- Hibernate (opens in a new tab)
JavaFX
JavaFX (opens in a new tab) is an open source, next generation client application platform for desktop, mobile and embedded systems built on Java. It is a collaborative effort by many individuals and companies with the goal of producing a modern, efficient, and fully featured toolkit for developing rich client applications.
FXML
FXML (opens in a new tab) is a declarative markup language with an XML syntax for defining the user interface of a JavaFX application.
Scene Builder
Scene Builder (opens in a new tab) is a visual layout tool that lets users quickly design JavaFX application user interfaces, without coding. Users can drag and drop UI components to a work area, modify their properties, apply style sheets, and the FXML code for the layout that they are creating is automatically generated in the background. The result is an FXML file that can then be combined with a Java project by binding the UI to the application’s logic.
AtlantaFX
AtlantaFX (opens in a new tab) is a modern JavaFX CSS theme collection with additional controls and a color system based on the Primer Design System (opens in a new tab) guidelines.
Vaadin
Vaadin (opens in a new tab) is an open-source web application development platform for Java. Vaadin includes a set of web components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces using the Java programming language only, TypeScript only, or a combination of both.