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.


More Information

Projector Client On GitHub

Projector Server On GitHub

Projector On JetBrains

Related Articles

Introducing Java - Swing Objects

The Java User Interface - More Swing


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Apache Isis 2 M5 Adds Spring Boot Integration

There's a new milestone release of Apache Isis, the framework for developing UIs for domain-driven apps in Java. It provides JPA persistence support as an alternative to JDO and includes sup [ ... ]

Fortran Re-enters TIOBE Index Top 20 While Objective-C Leaves

The two languages that are making headline news in the TIOBE Index for April 2021 are Objective-C which has left the top 20 and Fortran which is back there after more than 10 years.

More News





or email your comment to: