01-26-2022 04:59 AM
Hello everybody,
For some applications we're using remote web pages to add a better user experience in LabVIEW applications.
Some problems occure when loading modern web pages (especially using HTML5) in the default ActiveX browser (based on IE). I'm using a custom browser based on chromium to "solve" this problem. I also see that Microsoft released WebView2 which embed Edge in a .NET assembly, but it requires a runtime to be installed.
Is there any milestone in the roadmap regarding the integration of a modern web browser in LabVIEW (based on any technology fully supporting HTML5) ? It may simplify a lot the integration of modern web pages in LabVIEW front panels.
Regards,
Amaury.
Solved! Go to Solution.
02-09-2022 05:20 AM - edited 02-09-2022 05:22 AM
Hi,
You make an interesting point. NI allows anyone to make feature requests such as this by opening an official "service request" through the web site's support tab. It would be a good idea to send them a feature request about this.
Cheers
02-09-2022 09:25 AM - edited 02-09-2022 10:15 AM
There are several 3rd party, and a couple 1st party solutions for controlling a VI through a web page.
I made a post over on LAVA listing several of the 3rd party tools with my favorites being the Front Panel Publisher which is open source and uses WebSockets. As you've discovered NI has their Silverlight method that is straight forward but basically isn't supported on modern browsers. NI also has the Web Services, which is great for a simple request response type of thing, but to have an actual UI you need to write that in something else. And lastly the new kid from NI is the G Web Development Software which came about from NXG. I used it when it was in NXG but haven't touched it since.
EDIT: I just updated that thread with a new updated list of web stuff.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
02-15-2022 08:05 AM
Done !
You can find the idea here :
https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Modern-embedded-web-browser/idi-p/4210770
Thanks for the suggestion.
Cheers
02-15-2022 08:28 AM
You can leave the idea, but I think it is probably a duplicate of one or more existing ideas.
https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Remote-Access-to-LabVIEW-using-HTML5/idi-p/1944781
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
02-15-2022 05:11 PM
@Hooovahh, I think the OP wants to embed a webpage into a front panel. Not put a front panel on a webpage.
Is that right OP?
02-16-2022 04:38 AM
Hello @Hooovahh, @BertMcMahan and @Amaury
Greetings from France
You’re right @BertMcMahan. I called Amaury, (he’s a friend), and he wants to embed a “modern” webpage, using HTML5, into a LabVIEW front panel VI, and not put a front panel VI on a webpage. He doesn’t want a remote front panel VI.
He uses the native LabVIEW ActiveX Container web browser (based on IE), and he needs a more recent version (Edge for example). The objective is to display a jupyter notebook dashboard (web page) inside a LabVIEW application.
He tries to use Microsoft released WebView2 which embed Edge in a .NET assembly, but it requires a runtime to be installed. The customer doesn’t agree to install a new runtime, for distribution and licensing agreements policies problems.
So Amaury asks :
Merci, A+ Luc
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
02-16-2022 07:14 AM
Hi,
Thanks Luc for explaining my cloudy proposal 😉
My problem is that nowadays it's impossible to display modern web pages in the default embedded web browser (based on IE11 if I remind).
There's a new technology released by 'crosoft called WebView2 which basically embed edge (chrome ?) in a .NET standard winform control but it requires an additional runtime to be installed on the target computer.
If NI could redistribute this run-time alongside with the LabVIEW runtime it may be a major improvement : for exemple, it may be impossible to display a G Web VI in the LabVIEW embedded browser !
If it may possible to embed something based on gecko or even chromium, it may be equally satisfying.
Regards,
Amaury from the clouds.
02-16-2022 07:40 AM - edited 02-16-2022 07:48 AM
The problem with embedding webviews in other applications is that it is a continuously moving target. ActiveX was the cry of the time 10 to 20 years ago, but Microsoft moved away from ActiveX support in general and other browser manufacturers never felt very happy about having to provide an ActiveX interface to their browser and eventually sacked that option because it was notoriously hard to support and keep working and not applicable to any other platform than Windows.
.Net supposedly also supports something like containers for embedding, but Microsoft never really made this a first class feature of .Net and with the move to cross-platform .Net Core that got even further pushed down into the margins of "nice to have if we ever get tons of time and developer resources at our hands and nothing else to work on".
There are libraries such as the "Chromium Embedded Framework" (CEF) that would allow to embed the Chrome engine into any application, but that requires an environment specific binding to whatever you want to embed into. So it would require a serious development of a LabVIEW component (partly in C(++) and partly in LabVIEW), that allows accessing this. While this is all doable, it is additionally complicated by the fact that CEF is a moving target itself, that is adapted to whatever the Chromium engine requires at a specific moment and the CEF library tracks the Chromium version pretty closely. So if you start developing such a LabVIEW binding you will be continuously required to adapt it to the newest CEF library version or risk being unable to use the currently installed Chrome version on most users computers. But you can't really force users to stay with a certain Chrome version either, as it has a tendency to update itself with little to no notice.
And using CEF also will require additional runtime library installs, which seems to be your main problem here! So I'm not sure how you want to solve this. Requiring embedded Web displays without some form of additional runtime install is going to be a pipe dream. NI is never going to add a specific Microsoft runtime library install that will rather sooner than later be obsoleted as soon as Microsoft changes the Edge version in some way. That's a race they can only loose, by adding a feature that is impossible to support in the long term and will cause more complains about version incompatibility problems than anything else.
If your client can't accept having some runtime libraries installed outside of an initial LabVIEW installation, this feature is totally doomed and is impossible to support in any way!
02-16-2022 08:20 AM
hello Rolf, thank you for this very interesting answer. I agree with you.
@rolfk a écrit :
If your client can't accept having some runtime libraries installed outside of an initial LabVIEW installation, this feature is totally doomed and is impossible to support in any way!
A+ Luc
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group