In Niagara AX, the primary user interface is rendered in Java using our own bajaui framework. For access from the web, this requires a standalone download of Workbench or Web Launcher. As support for Java-based UI is declining, and users increasingly demand web access direct in the browser, the Niagara framework needs to adapt accordingly. That’s why we’re transitioning our User Interface from Java to HTML5. HTML5 doesn’t require any browser plug-ins and will work with any modern web browser on a variety of devices.
Because Niagara AX has been so successful, there are a lot of User Interfaces written in Java. In order to make the transition from Java to HTML5 as painless as possible for our customers, a number of new technologies have been added to Niagara 4:
We have still retained a lot of the other web technologies added in previous versions. This includes Hx, oBIX, and Apache Velocity.
From Niagara 4.0 onwards, we switched from our own home baked Web Server to Jetty. As well as being able to create servlets via BServletView (BHxView) and BWebServlets, you can also inject standard HttpServlets from Niagara Web Archive Modules.
Oracle ended support for Web Start and Java Applets in 2019. Since then Niagara Web Launcher was introduced to load your Java UI content. A client still requires the new application to be installed but none of the installed web browsers require the Java plug-in. Niagara Web Launcher supports Niagara AX 3.8U4+ and Niagara 4.4U3+. Starting in Niagara 4.9, all support for Web Start and Applets has been removed.
In Niagara AX, JavaScript code was mostly loaded via <script> tags embedded directly in HTML. In Niagara 4, JavaScript code is loaded via a framework called RequireJS. See a full overview of the new code loading techniques.