atlantafx
picocli
atlantafx | picocli | |
---|---|---|
15 | 29 | |
679 | 4,726 | |
- | - | |
7.5 | 8.8 | |
5 months ago | 6 days ago | |
Java | Java | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
atlantafx
-
AtlantaFX 2.0 released
The full changelog is here: https://github.com/mkpaz/atlantafx/releases/tag/v2.0.0
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
AtlantaFX & CSSFX for styling in JavaFX
-
Win32 App Isolation
JVM UI isn't so bad. I've written some pretty modern looking UI with it. The sophisticated controls are all there.
Modern JavaFX theme: https://github.com/mkpaz/atlantafx
Modern Swing theme: https://github.com/JFormDesigner/FlatLaf
And these days Compose Multiplatform: https://www.jetbrains.com/lp/compose-multiplatform/
I tend to use Kotlin rather than Java but of course Java is perfectly fine too. You can also use Clojure.
If you use any of those frameworks you can distribute to Win/Mac/Linux in one command with Conveyor. It's free for open source apps and can do self-signing for Windows if you don't want to pay for the certificates or the Store (but the Store is super cheap these days, $19 one off payment for an individual). Also supports Electron and Flutter if you want to use those.
From those frameworks you can then access whatever parts of the Windows API you want. Flutter even has WinRT bindings these days! So it's not quite so bad.
-
Podman Desktop 1.0
Objectively by what measure?
Bear in mind that there are alternatives: JavaFX and Compose for Desktop are the ones I know best. They can be used from high level and popular languages. JavaFX is particularly good for desktop apps and can be compiled down to purely native code that starts as fast as an app written in C++ (likewise for Compose but the experiments with that are newer).
There are some downsides: fewer people know them than with HTML. There are a few tweaks like window styles on macOS it could use to be more modern. On the other hand, it's easy to learn and you benefit from a proper reactively bindable widget library, like table and tree views if you need those. For developer tools such widgets can be useful.
There's a modern theme for JavaFX here:
https://github.com/mkpaz/atlantafx
CfD uses Material Design of course, but you can customize it.
Having written desktop apps of varying complexity in all these frameworks, I can't say Electron is clearly superior. It is in some cases (e.g. if I was wanting to write a video conferencing app then it makes sense to re-use Google's investment into Hangouts/Meet for that), but it's also worse in some cases. For instance the multi-process model constantly gets in the way, but you can't disable it as otherwise XSS turns into RCE.
- FlatLaf 3.1 (and 3.0) - Swing Look and Feel
-
A new connection manager and remote file explorer created with Java(FX) - X-Pipe Status Update
The JavaFX styling was completely switched to AtlantaFX in order to achieve the best possible look. This library is honestly the best that you can get if you want your application to have a good and uniform look + dark mode support that doesn't look like we are in the year 2010:
-
New AtlantaFX themes
I was really inspired of Dracula color palette, so I decided to spend some time to create a couple of new themes for AtlantaFX. They still need some polishing, but now the project supports 7 themes in total. Here's some preview of Dracula theme and the new classic tab style.
-
Migrating a JavaFX app to AtlantaFX themes
The video shows different screens of a JavaFX app before and after migrating from a custom styling (left) to AtlantaFX themes (right). In the first step we were primarily focused on colors/borders and dark mode, so many of the controls are still based on JFoenix (obsolete) and will be migrated in the next step.
-
Is JavaFX a viable solution for this project?
That said if you like Java and feel productive you absolutely can use it to build great desktop apps. Check out https://github.com/mkpaz/atlantafx for great modern look and feel. Lots of other great resources.
-
Dark mode for JavaFX/Swing is out! please leave a star if you like it!
Technically, it's not a theme, because it works on top of Modena, you only recolored some controls. Check AtlantaFX, it supports all JavaFX controls. You can even compile your own theme from it.
picocli
-
GraalVM for JDK 21 is here
Picocli allows using a compiler annotation processor to generate classes at compile time instead [0].
[0]: https://github.com/remkop/picocli/blob/main/picocli-codegen/...
-
Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.
Picocli is a pretty good one for writing CLI apps
-
“Why I develop on Windows”
"and there are simply no good command line input parsing libraries for Java."
Looks like author missed the most obvious and popular OSS one: https://picocli.info/
-
Java 20 / JDK 20: General Availability
The command line example gave me the "ick". It is usually preferrable to parse the command line arguments into one instance of a custom "command class", rather than into a list of things. Like jcommander, picocli or jbock do.
-
any opinion good or bed about a code that smells?
Complex argument parsing needs to be auto-generated by libraries like picocli. Even if you need something custom, it'd be quicker to write an Annotation processor from scratch than editing that file.
-
Owl: A toolkit for writing command-line user interfaces in Elixir
https://github.com/remkop/picocli
"Picocli-based applications can be ahead-of-time compiled to a GraalVM native image, with extremely fast startup time and lower memory requirements, which can be distributed as a single executable file."
https://picocli.info/quick-guide.html
-
Building a Java CLI. How can I make it more powershell-friendly
Using picocli to handle your command line options gives you the best chance to automatically generate an ArgumentCompleter script in the future, but won't help you today (other than possibly making your command line handling more standardized & easier).
-
must known frameworks/libs/tech, every senior java developer must know(?)
Picocli
-
🔍 Validate New-Caledonia Phone Numbers from cli ⌨️
Then we released a JBang! and picocli based cli that would be, on any OS running a jvm runtime :
-
📲 Inspired by Twilio we started to build our own (pico)cli to send sms
picocli : "a mighty tiny command line interface"
What are some alternatives?
instancio - A library that creates fully populated objects for your unit tests.
Spring Shell 3 - Spring based shell
FlatLaf - FlatLaf - Swing Look and Feel (with Darcula/IntelliJ themes support)
JCommander - Command line parsing framework for Java
opal - Plays relaxing music in the background
args4j - args4j
JavaFX-Dark-Theme - A complete CSS stylesheet to set a dark theme in your JavaFX UI.
Airline - Java annotation-based framework for parsing Git like command line structures
flexmark-java - CommonMark/Markdown Java parser with source level AST. CommonMark 0.28, emulation of: pegdown, kramdown, markdown.pl, MultiMarkdown. With HTML to MD, MD to PDF, MD to DOCX conversion modules.
JLine - JLine is a Java library for handling console input.
Recaf - The modern Java bytecode editor
JewelCLI - JewelCli uses an annotated interface definition to automatically parse and present command line arguments