11-18-2019 08:06 AM - edited 11-18-2019 08:10 AM
Hello,
I'm using WebVIs with NXG 3.1, and I'm wondering what are the technical pre-requisite to display the generated pages. The readme specifies the following :
"LabVIEW NXG 3.1 Web Module supports the latest version of the following browsers: Chrome, Firefox, Edge, Safari"
That's fine. What are the minimal version of each of these browser ? And why ? I mean, what are the exact limitations / needs / prerequisite for the client browser to display a WebVI properly ?
I've opened niBase.min.js, that comes with the generated content from the WebVI. There is mentions of jQuery v3.2.1, Sizzle.js and Polymer Project. From this differents supporting tools web pages, I understand that the client browser must at least be able to handle ES6 language features :
According to the W3C :
Browser | Version | Date |
---|---|---|
Chrome | 51 | May 2016 |
Firefox | 54 | Jun 2017 |
Edge | 14 | Aug 2016 |
Safari | 10 | Sep 2016 |
Opera | 38 | Jun 2016 |
Internet Explorer does not support ECMAScript 2015.
Finally, what are the pre-requisite for a browser to display properly a WebVI ? Is ES6 the only requierment ? If not what the other points to check ?
Best regards,
11-26-2019 01:39 PM
11-26-2019 02:33 PM
Hello Christian and thanks for your answer.
It's compliacated to test all existing browsers and differents versions for each of them, in order to say our customer wich one is compatible. I mean, some of them are using Opera, old version of Firefox, what about mobile browsers, and so on. Things are moving quite fast in Web technologies ! (Edge will soon use chromium engine)
So, if I can tell my customer "okay you need a browser that support ES6" (for instance), or whatever technology, it can be detailed in a release note, in user guide or reference manual I provide to my customer, with the application (giving example of browser + version at the time the documentation is produced).
This way, we will be able to provide a clear information, without any abiguity, about technical requierement to properly display any content generated with NXG Web Module.
I am really curious to get the "definitive answer"...
Happy thanksgiving !
12-06-2019 04:33 PM - edited 12-06-2019 04:36 PM
Hi Mathieu,
Let me provide NI R&D’s perspective on this matter of browser support for WebVIs.
The paradigm for updating software (automatic installation of security updates) is significantly different in modern web browsers than it is for Desktop software. Moreover, we have concluded that the days of “I only support IE7 and Firefox 4, etc. are over”. Browser updates are either decoupled from the OS or are part of OSes that update aggressively.
In terms of Web Module policy, we say WebVIs are supported only on the latest browsers and you should absolutely be using the latest browsers. And of those browsers that update frequently we support only the official releases from: Chrome, Firefox, Edge, Safari.
Our supported browser list is a reflection of the state of the modern web.
The thinking behind this is the following:
Therefore, we aren’t testing WebVIs in other browsers, because as you pointed out above it is very expensive to cover the testing matrix of non-standard browsers + the OS variants + device variants. For the same reason it is expensive for you to do this, it is prohibitively expensive for NI R&D to do this also. We feel that our R&D invest is better spent on improving WebVIs core functionality.
Even though NI R&D is not testing WebVIs on other browsers, it certainly is possible that WebVIs to work in other browsers like Opera, Brave, etc. And this may vary from NXG release to NXG release as we evolve our technology under the hood.
Depending on the version of NXG you are using, we may be using browser features not just in JavaScript, but in CSS and HTML as well. Some features we use (again depending on the NXG version) are ES6, some ES2017, some ES2018, WebAssembly, CSS3, some CSS4, some of the newer CSS extensions like CSS Custom Properties Level 1, HTML Custom Elements v1, etc. The key factor being what features are available in the latest versions of our four supported browser or what can be "polyfilled" using a small library to temporarily implement support in a few of the browsers.
Let’s say you tested your WebVI and found that it worked fine on an old Firefox version… Even then, I would not recommend using an older browser version or non-standard browser to your end customer – as this is effectively advising them to do something that could leave them exposed to a security risk.
Instead, I would advise you to lay out the same argument to your end customer that I described above: WebVIs are supported only on the latest versions of Chrome, Firefox, Edge, Safari and you should absolutely be using the latest browsers. That is a reflection of the state of the modern web and security best practices.