Alternatives to JavaFX logo

Alternatives to JavaFX

GWT, Vaadin, Qt, JSF, and Electron are the most popular alternatives and competitors to JavaFX.
280
415
+ 1
10

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

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

      related Vaadin posts

      Qt logo

      Qt

      440
      617
      138
      A leading cross-platform application and UI framework
      440
      617
      + 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

      JSF logo

      JSF

      134
      222
      4
      It is used for building component-based web interfaces
      134
      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! 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

        I need to modernize a Java web application that runs on JSF. I am used to building websites, so Bootstrap kinda feels like "home." But when it comes to applications, I feel Bootstrap is not the right way to go. Can someone explain to me what PrimeFaces is capable of in comparison with BS?

        See more
        Electron logo

        Electron

        11.1K
        9.8K
        148
        Build cross platform desktop apps with JavaScript, HTML, and CSS
        11.1K
        9.8K
        + 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
        • 18
          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

        The Slack desktop app was originally written us the MacGap framework, which used Apple’s WebView to host web content inside of a native app frame. As this approach continued to present product limitations, Slack decided to migrate the desktop app to Electron. Electron is a platform that combines the rendering engine from Chromium and the Node.js runtime and module system. The desktop app is written as a modern ES6 + async/await React application.

        For the desktop app, Slack takes a hybrid approach, wherein some of the assets ship as part of the app, but most of their assets and code are loaded remotely.

        See more

        Slack's new desktop application was launched for macOS. It was built using Electron for a faster, frameless look with a host of background improvements for a superior Slack experience. Instead of adopting a complete-in-box approach taken by other apps, Slack prefers a hybrid approach where some of the assets are loaded as part of the app, while others are made available remotely. Slack's original desktop app was written using the MacGap v1 framework using WebView to host web content within the native app frame. But it was difficult to upgrade with new features only available to Apple's WKWebView and moving to this view called for a total application rewrite.

        Electron brings together Chromium's rendering engine with the Node.js runtime and module system. The new desktop app is now based on an ES6 + async/await React application is currently being moved gradually to TypeScript. Electron functions on Chromium's multi-process model, with each Slack team signed into a separate process and memory space. It also helps prevent remote content to directly access desktop features using a feature called WebView Element which creates a fresh Chromium renderer process and assigns rendering of content for its hosting renderer. Additional security can be ensured by preventing Node.js modules from leaking into the API surface and watching out for APIs with file paths. Communication between processes on Electron is carried out via electron-remote, a pared-down, zippy version of Electron's remote module, which makes implementing the web apps UI much easier.

        See more
        Java logo

        Java

        132.1K
        99.9K
        3.7K
        A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
        132.1K
        99.9K
        + 1
        3.7K
        PROS OF JAVA
        • 599
          Great libraries
        • 445
          Widely used
        • 400
          Excellent tooling
        • 395
          Huge amount of documentation available
        • 334
          Large pool of developers available
        • 208
          Open source
        • 202
          Excellent performance
        • 157
          Great development
        • 150
          Used for android
        • 148
          Vast array of 3rd party libraries
        • 60
          Compiled Language
        • 52
          Used for Web
        • 46
          High Performance
        • 46
          Managed memory
        • 44
          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
          Universal platform
        • 20
          Good amount of APIs
        • 18
          Great Support
        • 14
          Great ecosystem
        • 11
          Backward compatible
        • 11
          Lots of boilerplate
        • 10
          Everywhere
        • 9
          Excellent SDK - JDK
        • 7
          It's Java
        • 7
          Cross-platform
        • 7
          Static typing
        • 6
          Mature language thus stable systems
        • 6
          Better than Ruby
        • 6
          Long term language
        • 6
          Portability
        • 5
          Clojure
        • 5
          Vast Collections Library
        • 5
          Used for Android development
        • 4
          Most developers favorite
        • 4
          Old tech
        • 3
          History
        • 3
          Great Structure
        • 3
          Stable platform, which many new languages depend on
        • 3
          Javadoc
        • 3
          Testable
        • 3
          Best martial for design
        • 2
          Type Safe
        • 2
          Faster than python
        • 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 · 9.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 · 3.9M 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

        168.2K
        139K
        4.1K
        A JavaScript library for building user interfaces
        168.2K
        139K
        + 1
        4.1K
        PROS OF REACT
        • 830
          Components
        • 672
          Virtual dom
        • 578
          Performance
        • 507
          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
          Speed
        • 6
          Server Side Rendering
        • 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
          Recharts
        • 2
          Permissively-licensed
        • 2
          Fragments
        • 2
          Sharable
        • 2
          Image upload
        • 2
          HTML-like
        • 1
          React hooks
        • 1
          Datatables
        CONS OF REACT
        • 40
          Requires discipline to keep architecture organized
        • 29
          No predefined way to structure your app
        • 28
          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

        Vaibhav Taunk
        Team Lead at Technovert · | 31 upvotes · 3.6M views

        I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

        See more
        Adebayo Akinlaja
        Engineering Manager at Andela · | 30 upvotes · 3.3M views

        I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.

        A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.

        In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.

        If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.

        See more
        Spring logo

        Spring

        3.9K
        4.7K
        1.1K
        Provides a comprehensive programming and configuration model for modern Java-based enterprise applications
        3.9K
        4.7K
        + 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