|TUCPR03||Our Journey from Java to PyQt and Web for CERN Accelerator Control GUIs||807|
For more than 15 years, operational GUIs for accelerator controls and some lab applications for equipment experts have been developed in Java, first with Swing and more recently with JavaFX. In March 2018, Oracle announced that Java GUIs were not part of their strategy anymore*. They will not ship JavaFX after Java 8 and there are hints that they would like to get rid of Swing as well. This was a wakeup call for us. We took the opportunity to reconsider all technical options for developing operational GUIs. Our options ranged from sticking with JavaFX, over using the Qt framework (either using PyQt or developing our own Java Bindings to Qt), to using Web technology both in a browser and in native desktop applications. This article explains the reasons for moving away from Java as the main GUI technology and describes the analysis and hands-on evaluations that we went through before choosing the replacement.
*"Java Client Roadmap Update", Oracle White Paper, March 2018, https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf
|Slides TUCPR03 [6.911 MB]|
|DOI •||reference for this paper ※ https://doi.org/10.18429/JACoW-ICALEPCS2019-TUCPR03|
|About •||paper received ※ 30 September 2019 paper accepted ※ 09 October 2019 issue date ※ 30 August 2020|
|Export •||reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)|