|JetBrains Releases Projector For Swing|
|Written by Kay Ewbank|
|Tuesday, 06 April 2021|
JetBrains has released the initial version of Projector, an open source tool and framework for running JetBrains IDEs and Swing apps remotely over your network.
Swing is a lightweight graphical toolkit for Java that provides a wide range of widgets.It is part of Oracle's Java Foundation Classes (JFC) that provide a GUI for Java programs, is written in Java, and is built on top of the AWT (Abstract Windowing Toolkit) API. It goes further than AWT in providing platform-independent and lightweight components including buttons, checkboxes, menus and radio buttons. IDEs such as Android Studio and JetBrains IDEs use Swing for the UI part of applications.
JetBrains says that while it is generally a good thing that JetBrains IDEs and Swing apps are desktop applications, there’s a number of corner cases, like thin clients, that require a special approach. This is where Projector comes in.
Projector is a self-hosted technology that runs IntelliJ-based IDEs and Swing-based apps on the server, allowing you to access them from anywhere using browsers and native apps. The idea is that if you've an app that is very large, needs high security, or thin client situations in general, there are advantages to having a browser based app on the client. It means users don't need to install software or have files stored on their local machine, and you can create the apps without having to think about the environment it will be running on in terms of the operating system, processor or memory.
JetBrains lists other situations where Projector could be useful, such as being able to run code near a database to reduce roundtrips, and needing to run the IDE in a GNU/Linux environment on Windows machines or on non-conventional operating systems like ChromeOS. The model also enables remote server-side debugging, and the option of using VM or Docker images with debug sources and a pre-configured IDE.
Projector works by intercepting drawing commands from the IDE or Swing application using a custom version of the AWT drawing engine that records the commands and sends them to the web client. The web client does the rendering, records user input on the mouse and keyboard, and sends the input back to the server via AWT.
or email your comment to: firstname.lastname@example.org