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.

projector

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.

projector 

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.

Banner


Crazy Clocks
10/03/2024

It's that time again when the clocks change and  time is of the essence and I indulge my interest in crazy clocks. I am always surprised that there are still new ideas for how to display the time [ ... ]



100 Episodes of 5mins of Postgres
08/03/2024

The popular PostgreSQL explainer series is celebrating its 100th release and beyond. Let's take a look at what it makes it so special.


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info