User Interfaces from AX to Niagara 4

Introduction

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.

What’s New?

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, many new technologies have been added to Niagara 4:

We have still retained many web technologies used 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, so they no longer work in any supported web browsers. All support for Web Start and Applets was removed in Niagara 4.9. workbench:WbWebProfile itself has been deprecated starting with Niagara 4.13, and will be removed in Niagara 5.

Since then, Niagara Web Launcher was introduced to load your Java UI content, replacing both Web Start and the Applet. Niagara Web Launcher is a standalone application that is installed on the client’s computer. It supports Niagara 4.4u3 and later.

RequireJS

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.