Web applications UI
Matias Guijarro
BCU Day Out, 19th of November, 2015
Raise of web applications
- Cloud computing
- Software as a Service (SaaS)
A paradigm shift
- Backed by industry giants (R&D investments + business)
- Professionalization: front-end developer vs. "web designer"
Technology evolution
- Since 2005: AJAX, "web 2.0", HTML 5
- ECMAScript engines
- web browsers as real development platforms
Serious biz
Why is it good for beamline control ?
Many benefits
- enforced separation between front-end (graphical) code and back-end (control)
- influence on work organisation (tasks dispatching)
Remote Access by design
No deployment cost
Better applications architecture
Multi-devices, multi-platforms, multi-clients
Many benefits (cont.)
- web browsers have *always* provided backward compatibility
- applications are self-contained (no external dependencies, self-hosted)
Long-term support
The best graphical design and user experience
- a lot of innovation both in term of UI and UX
- fancy look & feel
Domains of web applications within SW Group
Monitoring
Device control / testing
Data Analysis
- fisx (multilayer fluorescence)
- Tango dashboard
- XBPM
Domains of web applications within SW Group
Configuration management
- MXCuBE 3 (in development)
- ISPyB
Experiment control and high-level user interface
- Beacon app.
Which technology stack to rely on ?
Technology stack
- evolution of computing in general
- welcome change, flexibility regarding choices
- bye bye frameworks
No ever-standing / long-term silver bullets
My current tools for frontend development
ReactJS
Bootstrap
+ any library that get the job done:
dygraphs,
isotope, heatmap,
x-editable, ...
(depends on the project)
Good times are coming
- web components !
Remarks / Problems / Ideas
- Should we invest more in web applications development as opposed to desktop (Qt) apps ?
- How do we see graphical applications @ BCU in 5 years ?
Decisions to take
- need professional know-how for quality UI
- required profiles: front-end developers, nothing to do with instrumentation or general software engineering
- can trainees help ? or CDD ?
- volunteer group members training ?
Lack of manpower
Organization
- assign *front-end developer role* in team of developers for a project
Web applications
By Matias Guijarro
Web applications
Web applications UI - for discussion @ BCU day out
- 901