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.


Amazon Releases Free Courses On AI

A range of free self-paced courses on GenAI, have been released on AWS SkillBuilder, Amazon's online learning center where you can learn from AWS experts to build cloud skills online.

TIOBE Index June Highlights

The June 2024 TIOBE Index is out and its headline comes as a bit of a shock: C++ surpasses C for the first time in history. Lower down the ranks both Go and Rust have achieved their highest positions  [ ... ]

More News

C book



or email your comment to: