atlantafx VS Auto

Compare atlantafx vs Auto and see what are their differences.

atlantafx

Modern JavaFX CSS theme collection with additional controls. (by mkpaz)

Auto

A collection of source code generators for Java. (by google)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
atlantafx Auto
15 14
679 10,378
- 0.3%
7.5 9.3
5 months ago 8 days ago
Java Java
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of atlantafx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-27.
  • AtlantaFX 2.0 released
    1 project | /r/JavaFX | 31 May 2023
    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.
    21 projects | /r/java | 27 May 2023
    AtlantaFX & CSSFX for styling in JavaFX
  • Win32 App Isolation
    4 projects | news.ycombinator.com | 24 May 2023
    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
    4 projects | news.ycombinator.com | 23 May 2023
    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
    2 projects | /r/java | 24 Apr 2023
  • A new connection manager and remote file explorer created with Java(FX) - X-Pipe Status Update
    5 projects | /r/java | 29 Mar 2023
    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
    1 project | /r/JavaFX | 18 Feb 2023
    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
    2 projects | /r/java | 11 Feb 2023
    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?
    1 project | /r/JavaFX | 18 Jan 2023
    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!
    4 projects | /r/java | 16 Dec 2022
    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.

Auto

Posts with mentions or reviews of Auto. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-27.
  • 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.
    21 projects | /r/java | 27 May 2023
    I like to use AutoService to make using Java's ServiceLoader easier.
  • Autowiring In Spring, its implementation, limitations, Best Practices and Considerations While Using It
    1 project | /r/programming | 28 Mar 2023
    I've also had great luck combining that with AutoValue to allow production vs test injections without the new Foo(thing, null, null, null, thing2, null, null) situation:
  • Java records make Google's AutoValue mostly obsolete
    2 projects | /r/java | 2 Dec 2022
    AutoValue has posted a new doc comparing itself to Java record classes. (Records were new in Java 16, or earlier with --enable-preview.)
  • Don’t call it a comeback: Why Java is still champ
    17 projects | news.ycombinator.com | 9 Aug 2022
    That means I don't forget about fields (as can happen if you're just doing `person.setX()` all the time). It's easy to see what is what when reading it. I can delete fields I don't want to initialize at the time. Yes, maybe immutable objects are the One True Way, but C# lets me choose (I can label properties with an initializer `init` rather than a setter `set` and then they're immutable).

    Kotlin offers stuff like this too because it's really useful toward creating code that's easy to create and maintain. Go also lets you initialize structs in a similar fashion.

    Java has come back to us a decade or more late with records. They're not bad, but they're only offering one thing. They don't cover what C#, Kotlin, Go, and other languages have offered for so long.

    The annoying thing about Java is that it doesn't feel pragmatic a lot of the time. It feels like the language hates stealing ideas from others. It's Java: people steal ideas from Java, not the other way around. People do crazy things just to get POJOs including Immutables (http://immutables.github.io), AutoValue (https://github.com/google/auto/), Lombok (https://projectlombok.org), Joda Beans (https://www.joda.org/joda-beans/), and maybe more. They generate lots of code at compile time or do funky runtime stuff.

    It just feels like Java misses the pragmatic stuff and still kinda doesn't want to handle that. I feel a bit silly harping on things like POJOs and setting data on a new object, but that's a big part of day-to-day stuff and it definitely pushes users away from Java towards languages that seem "better" simply because they don't have Java's oddly strong attachment to not offering simple value objects. Yes, again, records do something - but it feels like Java ignored how people are using Kotlin, Go, C#, and more and didn't go for something that would have been as widely applicable and pragmatic as it could have been.

    Java has a lot of great stuff like great GCs (yes), lots of cool research, great performance, and Project Loom is really exciting. I just wish the language would lean a little more practical.

  • poor java
    1 project | /r/ProgrammerHumor | 7 Jun 2022
    The main disadvantage of Java is the boilerplate and the fact that you don't get cool metaprogramming features. The boilerplate can be reduced with tools like AutoValue. The lack of monkey patching and crazy SFINAE template shenanigans is that it is much easier to look at some piece of code and know what it's calling. You have static types, so you can jump to the method definition reliably (as opposed to Python), and there aren't many subtle syntax features that can trip you up (like lvalue vs rvalue references in C++). You can absolutely make a mess of Java with crazy frameworks, but the fact that the language itself has simple syntax means that nobody else in the organization can do anything too clever.
  • TclTutor 3: Computer aided instruction package for learning the Tcl language
    1 project | news.ycombinator.com | 14 Feb 2022
    There is no way you can tell that's valid Common Lisp without actually compiling and executing the code in the json-reader.lisp file. When the compiler gets to (enable-json-syntax), it sees that it is a macro so it executes its code at compile-time. That code then redefines the meaning of the { and [ characters to be the start of JSON objects/arrays (instead of their normal meaning in Common Lisp), and installs code telling Common Lisp how to parse JSON syntax, which is triggered when those characters are encountered in input. The example-object function shows an example of using it. Finally, (disable-json-syntax) is another macro, also executed at compile time, which undoes those changes to the Common Lisp syntax.

    Common Lisp did not invent the idea of allowing a program to dynamically alter the language syntax as it was being parsed; I believe the idea was first introduced in Maclisp, and from there spread to other LISP dialects (such as Franz Lisp and Interlisp) before finally being standardised in Common Lisp. The originators of Scheme intentionally decided to leave this feature out, but some implementations/descendants of Scheme have added it back in, such as Racket [1], Guile [2], and Chicken Scheme [3]. Other Lisp-family languages (such as Clojure or Emacs Lisp) have resisted calls to add it, despite encouragement from certain quarters.

    Earlier you spoke of "Tcl's lack of a grammar up against Scheme, Lisp", but if runtime-extensible syntax is a form of "lack of a grammar", then many Lisp family languages lack grammar too.

    Another language for which this is true (albeit to a significantly lesser degree), is Java. With Java, you can run arbitrary code at compile time by defining an annotation processor. The annotation processor code is run when the annotation is encountered. The annotation processor is allowed to issue compilation errors. It can also generate more source code for additional classes, which gets added to the compilation process, and your program may refer some of those generated classes, and hence need that generated code to compile–for an example see [4] from the Google AutoValue docs, where the "AutoValue_Animal" class being constructed in the create() method is dynamically generated by a processor which is triggered by the @AutoValue annotation. So, if your Java program contains annotations with an associated processor, and if you define "syntactically correct" as "compiles without any errors", then you can't know if the Java program is syntactically correct without executing arbitrary Java code.

    [0] https://gist.github.com/chaitanyagupta/9324402

    [1] https://docs.racket-lang.org/reference/Reader_Extension.html

    [2] https://www.gnu.org/software/guile/manual/html_node/Reader-E...

    [3] https://wiki.call-cc.org/man/5/Module%20(chicken%20read-synt...

    [4] https://github.com/google/auto/blob/master/value/userguide/i...

  • Magic Beans - automatic get/set, equals, hashCode, toString without any compiler hacks
    4 projects | /r/java | 22 Jan 2022
    Reminds me of Google’s AutoValue: https://github.com/google/auto/tree/master/value
  • What are some of your tips for improving the Java development experience?
    5 projects | /r/java | 11 Jan 2022
    Records where you can, and because Lombok is controversial, Immutables is the other alternative (or autovalue). Actually, all code generation tools are fantastic: Immutables, MapStruct, jOOQ...
  • So true
    1 project | /r/ProgrammerHumor | 4 Jun 2021
    Via Lombok, yes, which, as of now, is a default plugin in Idea, which everyone is using anyway. If you don't like Lombok particularly (and god knows, I can't imagine why), there is an alternative made by Google called Auto. Or you can use Scala, which has some features like that natively and is 100% interoperable with Java (meaning you can make a new Scala file within the current project and start using it right away). I imagine Kotlin also has some syntax sugar; however, I am not familiar with Kotlin very well.
  • How to Write an Equality Method in Java (2009)
    1 project | news.ycombinator.com | 30 Apr 2021
    For immutable value types, AutoValue[1] is a nice library for automating this. Lombok[2] is also popular, but a lot of orgs avoid it because it has some pretty deep dependencies on implementation details of the JDK that aren't guaranteed to be stable across releases. It seems well-maintained in practice, thoguh. Once Java records[3] are out of preview, they will probably be the preferred approach, but it will be a while before most teams are on a version of the JDK that supports them.

    For mutable objects, the notion of equality is hairy in general, because what you want often depends on why you'd be comparing the two objects. You might have two mutable objects that can be meaningfully compared in your business logic, but absolutely should not be used as keys in a map. Often you can satisfy your goals by implementing a separate method that does not attempt to conform to the 'equals' contract, which ensures it will not unintentionally be used for e.g. data structure ordering.

    [1] https://github.com/google/auto/blob/master/value/userguide/i...

    [2] https://projectlombok.org/features/EqualsAndHashCode

    [3] https://blogs.oracle.com/javamagazine/records-come-to-java

What are some alternatives?

When comparing atlantafx and Auto you can also consider the following projects:

instancio - A library that creates fully populated objects for your unit tests.

Lombok - Very spicy additions to the Java programming language.

FlatLaf - FlatLaf - Swing Look and Feel (with Darcula/IntelliJ themes support)

Immutables - Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included

opal - Plays relaxing music in the background

JHipster - JHipster, much like Spring initializr, is a generator to create a boilerplate backend application, but also with an integrated front end implementation in React, Vue or Angular. In their own words, it "Is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures."

JavaFX-Dark-Theme - A complete CSS stylesheet to set a dark theme in your JavaFX UI.

Mockneat - MockNeat - the modern faker lib.

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.

Tale - 🦄 Best beautiful java blog, worth a try

Recaf - The modern Java bytecode editor

JavaParser - Java 1-18 Parser and Abstract Syntax Tree for Java with advanced analysis functionalities.