Alternatives to JavaFX logo

Alternatives to JavaFX

GWT, Vaadin, Qt, JSF, and Electron are the most popular alternatives and competitors to JavaFX.
280
11

What is JavaFX and what are its top alternatives?

JavaFX is a software platform for creating and delivering desktop applications that can run across a wide variety of devices. Its key features include a rich set of UI controls, CSS styling, FXML markup language for creating UIs, and support for multimedia and web content. However, JavaFX has limitations such as limited community support compared to other UI frameworks, and its future development has been uncertain due to Oracle's shift away from client-side Java technologies.

  1. Java Swing: Java Swing is a GUI widget toolkit for Java that provides a rich set of components for building desktop applications. It offers a mature set of components and has good community support, but it lacks some of the modern UI features offered by JavaFX.
  2. TornadoFX: TornadoFX is a Kotlin-based JavaFX framework that aims to simplify the development of desktop applications by providing a more concise and intuitive API. It leverages Kotlin's language features and offers a more modern approach to UI development compared to JavaFX.
  3. JFoenix: JFoenix is a JavaFX library that provides material design components and themes for building modern desktop applications. It offers a sleek and customizable UI design, but it may lack some of the advanced features of JavaFX.
  4. Scenic View: Scenic View is a JavaFX debugging tool that allows developers to inspect the visual tree of a JavaFX application and analyze its performance. It provides valuable insights for optimizing and debugging JavaFX applications.
  5. ReactFX: ReactFX is a reactive programming library for JavaFX that enables developers to build responsive and event-driven UI applications. It simplifies handling asynchronous events and data streams in JavaFX applications.
  6. Gluon Mobile: Gluon Mobile is a framework for building mobile applications using Java and JavaFX. It allows developers to create cross-platform mobile apps with a native look and feel using JavaFX.
  7. Java Native Access (JNA): JNA is a framework that provides Java applications with access to native libraries and system functions. It can be used in conjunction with JavaFX to leverage platform-specific features and capabilities.
  8. JideFX: JideFX is a commercial JavaFX library that offers a wide range of professional UI components and controls for building enterprise desktop applications. It provides advanced features and customization options for complex UI designs.
  9. OpenJFX: OpenJFX is an open-source project that aims to continue the development of JavaFX after Oracle's decision to decouple it from the JDK. It provides ongoing support and updates for the JavaFX platform.
  10. ControlsFX: ControlsFX is a community-driven open-source library that adds additional UI controls and features to JavaFX applications. It offers a variety of custom controls and utilities for enhancing the user experience of JavaFX applications.

Top Alternatives to JavaFX

  • GWT
    GWT

    It is a development toolkit for building and optimizing complex browser-based applications. Its goal is to enable productive development of high-performance web applications without the developer having to be an expert in browser quirks, XMLHttpRequest, and JavaScript. ...

  • Vaadin
    Vaadin

    It is the fastest way to build web applications in Java. It automates the communication between your server and the browser and gives you a high-level component API for all Vaadin components ...

  • Qt
    Qt

    Qt, a leading cross-platform application and UI framework. With Qt, you can develop applications once and deploy to leading desktop, embedded & mobile targets. ...

  • JSF
    JSF

    It is used for building component-based user interfaces for web applications and was formalized as a standard through the Java Community ...

  • Electron
    Electron

    With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor. ...

  • Java
    Java

    Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere! ...

  • React
    React

    Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...

  • Spring
    Spring

    A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. ...

JavaFX alternatives & related posts

GWT logo

GWT

88
100
0
An open-source set of tools to create and maintain complex JavaScript front-end applications
88
100
+ 1
0
PROS OF GWT
    Be the first to leave a pro
    CONS OF GWT
      Be the first to leave a con

      related GWT posts

      Vaadin logo

      Vaadin

      197
      279
      36
      Components and tools for building web apps in Java
      197
      279
      + 1
      36
      PROS OF VAADIN
      • 9
        Java
      • 7
        Compatibility
      • 6
        Open Source
      • 6
        Components
      • 3
        Performance
      • 2
        Abstraction
      • 2
        Example packages
      • 1
        OSGI Support
      CONS OF VAADIN
      • 3
        Paid for more features

      related Vaadin posts

      Qt logo

      Qt

      454
      632
      138
      A leading cross-platform application and UI framework
      454
      632
      + 1
      138
      PROS OF QT
      • 17
        High Performance
      • 13
        Declarative, easy and flexible UI
      • 12
        Cross platform
      • 12
        Performance
      • 9
        Fast prototyping
      • 8
        Easiest integration with C++
      • 8
        Up to date framework
      • 7
        Python
      • 6
        Multiple license including Open Source and Commercial
      • 6
        Safe 2D Renderer
      • 5
        Great Community Support
      • 4
        HW Accelerated UI
      • 4
        Game Engine like UI system
      • 3
        No history of broken compatibility with a major version
      • 3
        JIT and QML Compiler
      • 3
        True cross-platform framework with native code compile
      • 3
        Reliable for industrial use
      • 3
        Pure C++
      • 3
        Been using it since the 90s - runs anywhere does it all
      • 2
        Open source
      • 2
        Easy Integrating to DX and OpenGL and Vulkan
      • 2
        From high to low level coding
      • 1
        Learning Curve
      • 1
        Great mobile support with Felgo add-on
      • 1
        Native looking GUI
      CONS OF QT
      • 5
        Paid
      • 4
        C++ is not so productive
      • 2
        Lack of community support
      • 1
        Lack of libraries
      • 1
        Not detailed documentation

      related Qt posts

      Shared insights
      on
      QtQtLinuxLinux

      Hi Everyone, I need to choose a graphics framework for app development on Linux. Since I know Qt from previous projects it would be a straightforward choice for me but the cost is a huge issue in this project. Any advice for a free and nice framework to use for app development? The requested UI contains some dynamic elements, like graphs, etc. Thanks in advance!

      See more
      JSF logo

      JSF

      140
      222
      4
      It is used for building component-based web interfaces
      140
      222
      + 1
      4
      PROS OF JSF
      • 2
        Rich and comprehensive Request Life-cycle
      • 1
        Very Mature UI framework
      • 1
        Server Side component
      CONS OF JSF
        Be the first to leave a con

        related JSF posts

        Hello guys, my first time here, and for requesting advice.

        I am a JavaScript Developer MERN Stack with a focus on Frontend Development. I wanna go more to Backend Development.

        Which Language has a Solid Ecosystem and not so many changes like JavaScript Frontend, quite Frankly that's freaking me out nowadays!

        In my Location Germany Industries, Finance, Utilities, Insurances, Retails, and Healthcare dominate Java in the Backend. In my case Java is the logical choice BUT, XML, old codebase, JSP/JSF , boring and verbose syntax without Syntactic Sugar, test Battle, and so on make me crazy.

        I have Java, Python, Golang, and Node.js/TypeScript as a choice, but because of a lack of Backend knowledge, I can't make a decision. Which Language and Ecosystem should I learn and master for a long time, my Goal is to work with a selected stack for 10+ years and I don't do Data Science only Software Engineering.

        Thanks for reading and Advice! Important! !!! I see via Email somebody send me an Advice, but unfortunately i can't see/read your Advice here :( Users like: Jose Manuel Ortega or nullStack65....

        See more

        Hello guys! I would ask for your advice. Our situation is like that there will be a project to revamp workflows and introduce new services like mobile apps, machine learning, and some online services that would use cloud storage. We use JSF, JavaScript, Ajax, Spring, Oracle 12c running on Linux (VM) and providing online services to internal users and the public. But, we are not technically savvy enough to evaluate what tools should be introduced. Personally, I am evaluating whether to take this opportunity to change our practice/PM approach from Prince to Scrum/Agile (It seemed that DevOps is popular) ... Since we adopt ISO 27001 and ISO 20000, security is a crucial factor that we consider. Would you please help to recommend a list of tools and explain the reasons why you recommend them? Thanks in advance~!

        See more
        Electron logo

        Electron

        11.3K
        9.9K
        148
        Build cross platform desktop apps with JavaScript, HTML, and CSS
        11.3K
        9.9K
        + 1
        148
        PROS OF ELECTRON
        • 69
          Easy to make rich cross platform desktop applications
        • 53
          Open source
        • 14
          Great looking apps such as Slack and Visual Studio Code
        • 8
          Because it's cross platform
        • 4
          Use Node.js in the Main Process
        CONS OF ELECTRON
        • 19
          Uses a lot of memory
        • 8
          User experience never as good as a native app
        • 4
          No proper documentation
        • 4
          Does not native
        • 1
          Each app needs to install a new chromium + nodejs
        • 1
          Wrong reference for dom inspection

        related Electron posts

        Paul Whittemore
        Developer and Owner at Appurist Software · | 15 upvotes · 1.1M views

        I'm building most projects using: Server: either Fastify (all projects going forward) or ExpressJS on Node.js (existing, previously) on the server side, and Client app: either Vuetify (currently) or Quasar Framework (going forward) on Vue.js with vuex on Electron for the UI to deliver both web-based and desktop applications for multiple platforms.

        The direct support for Android and iOS in Quasar Framework will make it my go-to client UI platform for any new client-side or web work. On the server, I'll probably use Fastly for all my server work, unless I get into Go more in the future.

        Update: The mobile support in Quasar is not a sufficiently compelling reason to move me from Vuetify. I have decided to stick with Vuetify for a UI for Vue, as it is richer in components and enables a really great-looking professional result. For mobile platforms, I will just use Cordova to wrap the Vue+Vuetify app for mobile, and Electron to wrap it for desktop platforms.

        See more

        Vue.js vuex Vue Router Quasar Framework Electron Node.js npm Yarn Git GitHub Netlify My tech stack that helps me develop quickly and efficiently. Wouldn't want it any other way.

        See more
        Java logo

        Java

        135K
        102.3K
        3.7K
        A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
        135K
        102.3K
        + 1
        3.7K
        PROS OF JAVA
        • 603
          Great libraries
        • 446
          Widely used
        • 401
          Excellent tooling
        • 396
          Huge amount of documentation available
        • 334
          Large pool of developers available
        • 208
          Open source
        • 203
          Excellent performance
        • 158
          Great development
        • 150
          Used for android
        • 148
          Vast array of 3rd party libraries
        • 60
          Compiled Language
        • 52
          Used for Web
        • 46
          Managed memory
        • 46
          High Performance
        • 45
          Native threads
        • 43
          Statically typed
        • 35
          Easy to read
        • 33
          Great Community
        • 29
          Reliable platform
        • 24
          Sturdy garbage collection
        • 24
          JVM compatibility
        • 22
          Cross Platform Enterprise Integration
        • 20
          Good amount of APIs
        • 20
          Universal platform
        • 18
          Great Support
        • 14
          Great ecosystem
        • 11
          Backward compatible
        • 11
          Lots of boilerplate
        • 10
          Everywhere
        • 9
          Excellent SDK - JDK
        • 7
          Cross-platform
        • 7
          It's Java
        • 7
          Static typing
        • 6
          Portability
        • 6
          Mature language thus stable systems
        • 6
          Better than Ruby
        • 6
          Long term language
        • 5
          Used for Android development
        • 5
          Clojure
        • 5
          Vast Collections Library
        • 4
          Best martial for design
        • 4
          Most developers favorite
        • 4
          Old tech
        • 3
          Testable
        • 3
          History
        • 3
          Javadoc
        • 3
          Stable platform, which many new languages depend on
        • 3
          Great Structure
        • 2
          Faster than python
        • 2
          Type Safe
        • 0
          Job
        CONS OF JAVA
        • 33
          Verbosity
        • 27
          NullpointerException
        • 17
          Nightmare to Write
        • 16
          Overcomplexity is praised in community culture
        • 12
          Boiler plate code
        • 8
          Classpath hell prior to Java 9
        • 6
          No REPL
        • 4
          No property
        • 3
          Code are too long
        • 2
          Non-intuitive generic implementation
        • 2
          There is not optional parameter
        • 2
          Floating-point errors
        • 1
          Java's too statically, stronglly, and strictly typed
        • 1
          Returning Wildcard Types
        • 1
          Terrbible compared to Python/Batch Perormence

        related Java posts

        Conor Myhrvold
        Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 12.6M views

        How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

        Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

        Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

        https://eng.uber.com/distributed-tracing/

        (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

        Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

        See more
        Kamil Kowalski
        Lead Architect at Fresha · | 28 upvotes · 4M views

        When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

        See more
        React logo

        React

        172.8K
        142.7K
        4.1K
        A JavaScript library for building user interfaces
        172.8K
        142.7K
        + 1
        4.1K
        PROS OF REACT
        • 832
          Components
        • 673
          Virtual dom
        • 578
          Performance
        • 508
          Simplicity
        • 442
          Composable
        • 186
          Data flow
        • 166
          Declarative
        • 128
          Isn't an mvc framework
        • 120
          Reactive updates
        • 115
          Explicit app state
        • 50
          JSX
        • 29
          Learn once, write everywhere
        • 22
          Easy to Use
        • 21
          Uni-directional data flow
        • 17
          Works great with Flux Architecture
        • 11
          Great perfomance
        • 10
          Javascript
        • 9
          Built by Facebook
        • 8
          TypeScript support
        • 6
          Server Side Rendering
        • 6
          Speed
        • 5
          Feels like the 90s
        • 5
          Excellent Documentation
        • 5
          Props
        • 5
          Functional
        • 5
          Easy as Lego
        • 5
          Closer to standard JavaScript and HTML than others
        • 5
          Cross-platform
        • 5
          Easy to start
        • 5
          Hooks
        • 5
          Awesome
        • 5
          Scalable
        • 4
          Super easy
        • 4
          Allows creating single page applications
        • 4
          Server side views
        • 4
          Sdfsdfsdf
        • 4
          Start simple
        • 4
          Strong Community
        • 4
          Fancy third party tools
        • 4
          Scales super well
        • 3
          Has arrow functions
        • 3
          Beautiful and Neat Component Management
        • 3
          Just the View of MVC
        • 3
          Simple, easy to reason about and makes you productive
        • 3
          Fast evolving
        • 3
          SSR
        • 3
          Great migration pathway for older systems
        • 3
          Rich ecosystem
        • 3
          Simple
        • 3
          Has functional components
        • 3
          Every decision architecture wise makes sense
        • 3
          Very gentle learning curve
        • 2
          Split your UI into components with one true state
        • 2
          Image upload
        • 2
          Permissively-licensed
        • 2
          Fragments
        • 2
          Sharable
        • 2
          Recharts
        • 2
          HTML-like
        • 1
          React hooks
        • 1
          Datatables
        CONS OF REACT
        • 41
          Requires discipline to keep architecture organized
        • 30
          No predefined way to structure your app
        • 29
          Need to be familiar with lots of third party packages
        • 13
          JSX
        • 10
          Not enterprise friendly
        • 6
          One-way binding only
        • 3
          State consistency with backend neglected
        • 3
          Bad Documentation
        • 2
          Error boundary is needed
        • 2
          Paradigms change too fast

        related React posts

        Johnny Bell

        I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

        I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

        I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

        Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

        Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

        With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

        If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

        See more
        Collins Ogbuzuru
        Front-end dev at Evolve credit · | 37 upvotes · 250.4K views

        Your tech stack is solid for building a real-time messaging project.

        React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.

        ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.

        Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).

        I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.

        See more
        Spring logo

        Spring

        4K
        4.8K
        1.1K
        Provides a comprehensive programming and configuration model for modern Java-based enterprise applications
        4K
        4.8K
        + 1
        1.1K
        PROS OF SPRING
        • 230
          Java
        • 157
          Open source
        • 136
          Great community
        • 123
          Very powerful
        • 114
          Enterprise
        • 64
          Lot of great subprojects
        • 60
          Easy setup
        • 44
          Convention , configuration, done
        • 40
          Standard
        • 31
          Love the logic
        • 13
          Good documentation
        • 11
          Dependency injection
        • 11
          Stability
        • 9
          MVC
        • 6
          Easy
        • 3
          Makes the hard stuff fun & the easy stuff automatic
        • 3
          Strong typing
        • 2
          Code maintenance
        • 2
          Best practices
        • 2
          Maven
        • 2
          Great Desgin
        • 2
          Easy Integration with Spring Security
        • 2
          Integrations with most other Java frameworks
        • 1
          Java has more support and more libraries
        • 1
          Supports vast databases
        • 1
          Large ecosystem with seamless integration
        • 1
          OracleDb integration
        • 1
          Live project
        CONS OF SPRING
        • 15
          Draws you into its own ecosystem and bloat
        • 3
          Verbose configuration
        • 3
          Poor documentation
        • 3
          Java
        • 2
          Java is more verbose language in compare to python

        related Spring posts

        Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.

        Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.

        See more

        I am consulting for a company that wants to move its current CubeCart e-commerce site to another PHP based platform like PrestaShop or Magento. I was interested in alternatives that utilize Node.js as the primary platform. I currently don't know PHP, but I have done full stack dev with Java, Spring, Thymeleaf, etc.. I am just unsure that learning a set of technologies not commonly used makes sense. For example, in PrestaShop, I would need to work with JavaScript better and learn PHP, Twig, and Bootstrap. It seems more cumbersome than a Node JS system, where the language syntax stays the same for the full stack. I am looking for thoughts and advice on the relevance of PHP skillset into the future AND whether the Node based e-commerce open source options can compete with Magento or Prestashop.

        See more