AWT is somewhat dead, will JavaFX survive?
Davide Perini
perini.davide at dpsoftware.org
Wed Oct 2 12:47:24 UTC 2024
Hi Kevin,
I'm the submitter of the following bug reports:
https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8341144
https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8310352
https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8323821
https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8341173
https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8323977
These issues arose during the development of a toy application.
Specifically, regarding the tray icon functionality, GNOME can't fix
issues that require changes to the underlying AWT libraries.
Linux has switched its focus to SNI and many distributions are dropping
support for legacy xembed protocols.
As previously mentioned, while JavaFX is a powerful framework, it still
relies on Swing/AWT for certain functionalities to create full-fledged
desktop applications. However, the development of Swing/AWT seems to
have stagnated.
If the plan is not to invest further in Swing/AWT development, then
perhaps a clearer communication strategy is needed. It would be
beneficial for developers to know if Swing/AWT is no longer the
recommended path for desktop applications, and if so, what alternative
approaches are suggested.
Furthermore, AWT is still relying on outdated Windows 98 APIs for
notifications. This approach is problematic considering the recent
changes introduced in Windows 11 that have broken OS notifications
within Java applications.
Notifications are a crucial aspect of many applications, and even web
apps are increasingly leveraging native OS notifications for a better
user experience.
The core issue here isn't with JavaFX itself; rather, it's the fact that
JavaFX alone isn't sufficient to develop full-fledged apps that need to
interact with the operating system for functionalities like tray icons
and notifications.
I am a big fan of JavaFX. It's a user-friendly and productive framework
for UI development. However, my experience highlights the limitations of
using JavaFX for applications requiring deeper interaction with the
underlying operating system.
Is there any movement to address these shortcomings?
Could JavaFX potentially take over the responsibilities of AWT and
Swing, providing a more unified and up-to-date API for these features?
Additionally, are there plans to update AWT and Swing to replace
outdated APIs that are over 25 years old?
Kind regards,
Davide
On 01/10/2024 01:24, Philip Race wrote:
>
>
> On 9/30/24 3:33 PM, Kevin Rushforth wrote:
>> Swing / AWT is still being actively maintained and isn't "abandoned".
>> What you are describing are bugs. Have you filed them?
>
> Perhaps Davide is the submitter for this TrayIcon bug submitted 2 days ago
> https://bugs.openjdk.org/browse/JDK-8341144
>
> FWIW TrayIcon recently suffered from a regression bug in the Linux desktop
> Gnome have now fixed it so it should be OK if you are on the latest
> distros.
> https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/2127c62b210f605747e019e6e2abee82516e3ccb/NEWS#L152
> Corresponding JDK bug : https://bugs.openjdk.org/browse/JDK-8322750
>
> And we've done loads of updates for new OSes to keep things current
> and working.
> Right now we are just wrapping up a JCP maintenance release (a
> significant investment) and the
> backports of everything needed to be able to support Wayland on Linux.
> That's not abandoned by any reasonable criteria.
>
> -phil.
>
>
>>
>> And yes, we know that that there are missing features in JavaFX
>> relative to Swing like desktop integration and Image I/O to name two
>> important ones. I guess the question for you and other app developers
>> are: which ones are the most important that there be a native JavaFX
>> solution for?
>>
>> -- Kevin
>>
>>
>> On 9/30/2024 2:17 PM, Davide Perini wrote:
>>> Hi,
>>> thanks for your time, I appreciate the answer.
>>>
>>> I love JavaFX and my concern is sincere.
>>> JavaFX is not a "complete solution" to build UIs because it relies
>>> on AWT for basic and important features like a TrayIcon for example.
>>>
>>> AWT is abandoned, most of its APIs is falling apart causing issues
>>> on modern OS.
>>>
>>> That's why of my question. If AWT is abandoned, how can JavaFX
>>> survive this?
>>> Does it has sense in developing JavaFX if Oracle abandoned AWT?
>>>
>>> I know that JavaFX devs thinks that AWT and JavaFX are two separate
>>> things but for devs that must develop a software that has a UI,
>>> JavaFX is not enough because JavaFX has "nearly no integration with
>>> the OS".
>>>
>>> I mean, how can we convince new developers to jump on JavaFX if the
>>> "surroundings" are in this state?
>>>
>>> Davide
>>>
>>>
>>>
>>> On 28/09/2024 20:37, Johan Vos wrote:
>>>> I got the question "Will JavaFX survive?" very often since I became
>>>> co-lead of the OpenJFX project, about 7 years ago. OpenJFX is a
>>>> technology project and contrary to most client frameworks OpenJFX
>>>> itself has no marketing department with "devrels" etc.
>>>> The resources working on OpenJFX are focusing on the technology.
>>>> And I am very proud to see that the code you could write for JavaFX
>>>> 9 is still running today on JavaFX 23. I don't think many client
>>>> technologies can say the same.
>>>> The diverse contributors to the OpenJFX project are doing a
>>>> fantastic job in maintaining and advancing the technology in the
>>>> spirit of OpenJDK and Java in general. Granted, I sometimes wish we
>>>> (as in OpenJFX) had some marketing efforts of paid devrels to
>>>> spread the word at many conferences. But as developers, our first
>>>> priority and main skills are in working on the code.
>>>>
>>>> - Johan
>>>>
>>>> On Sat, Sep 28, 2024 at 5:17 PM Davide Perini
>>>> <perini.davide at dpsoftware.org> wrote:
>>>>
>>>> no answers, means a lot...
>>>>
>>>> On 26/09/2024 17:44, Davide Perini wrote:
>>>> > As title.
>>>> > AWT is too old to withstand the future and probably it's too
>>>> old to
>>>> > withstand the present.
>>>> >
>>>> > AWT is falling apart with old APIs breaking as operating
>>>> systems move on.
>>>> >
>>>> > Even very important features like tray icons and
>>>> notifications are
>>>> > broken.
>>>> > Something is broken in Windows, something in Linux, something
>>>> on macOS.
>>>> >
>>>> > Current notification APIs is old and is somewhat broken in
>>>> Windows
>>>> > with notification that doesn't stick in the notification center.
>>>> >
>>>> > SystemTray on Linux is completely broken because it still
>>>> uses the
>>>> > ancient xembeds instead of the newer SNI.
>>>> >
>>>> > I love JavaFX but will JavaFX survive the fact that AWS is
>>>> abandoned
>>>> > and that it is falling apart?
>>>> >
>>>> > Is there something moving to renew AWT or it's just kicking a
>>>> dead horse?
>>>> >
>>>> > Thanks
>>>> > Davide
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-discuss/attachments/20241002/1e8d6138/attachment-0001.htm>
More information about the openjfx-discuss
mailing list