10–13 Sept 2018
Academy of Sciences and Arts (Akademija nauka i umjetnosti Bosne i Hercegovine)
Europe/Sarajevo timezone
FUN WITH DATA!

New tools to build web-based graphics and user interfaces in ROOT

11 Sept 2018, 11:25
20m
Academy of Sciences and Arts (Akademija nauka i umjetnosti Bosne i Hercegovine)

Academy of Sciences and Arts (Akademija nauka i umjetnosti Bosne i Hercegovine)

7, Bistrik Sarajevo 71000, Bosnia and Herzegovina https://goo.gl/maps/Ct9jKrSER4z

Speaker

Serguei Linev (GSI Darmstadt)

Description

For two decades, ROOT brought its own window system abstraction (for X11, GL, Cocoa, and Windows) together with its own GUI library. X11 is nearing the end of its lifetime; new windowing systems shine with performance and features. To make best use of them, the ROOT team has decided to re-implement its graphics and GUI subsystem using web technology.

To enable development of new web-based components RWebWindow class was introduced to ROOT. It follows clear client-server concept, which are likely similar for any application that wishes to offer remote GUI and graphics. Here the server is a C++-application, which produces data and prepares it for visualization. The client(s) will be JavaScript-based code, creating a HTML/SVG/WebGL representation of the provided data and implements all kind of interactivity – zooming, tooltips, context menus, etc. The communication will be done via websocket-based protocol, allowing data push from the server side. Local displays will be implemented with libraries like Chromium Embedded Framework (CEF).

Taking new TCanvas as prominent example, different aspects of new concept will be discussed: data organization on application side; creation of data model and versioning of different components in the canvas; communication patterns with multiple clients; efficient JavaScript-based rendering with significant amount of code sharing with JSROOT. Example with new FitPanel can be used to show how main interactive part can be implemented with open-source GUI library, but main fitting job will be performed with standard ROOT methods.

Primary author

Serguei Linev (GSI Darmstadt)

Presentation materials