{"id":21674,"date":"2019-12-12T12:11:26","date_gmt":"2019-12-12T12:11:26","guid":{"rendered":"https:\/\/gpower.io\/user-interfaces-with-the-labview-nxg-web-module\/"},"modified":"2026-04-14T12:58:28","modified_gmt":"2026-04-14T12:58:28","slug":"user-interfaces-with-the-labview-nxg-web-module","status":"publish","type":"post","link":"https:\/\/gpower.io\/en\/user-interfaces-with-the-labview-nxg-web-module\/","title":{"rendered":"User interfaces with the LabVIEW NXG Web Module"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"21674\" class=\"elementor elementor-21674 elementor-9978\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-770b7ed7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"770b7ed7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1bc33686\" data-id=\"1bc33686\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-330e0ed5 elementor-widget elementor-widget-heading\" data-id=\"330e0ed5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Have you tried building user interfaces with the Web Module in LabVIEW NXG? In this blog post, Poul Lindholm Pedersen, PhD in Physics, provides an overview of the possibilities.  <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54dcf2c2 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"54dcf2c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2767b51b elementor-widget elementor-widget-text-editor\" data-id=\"2767b51b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>One of the major innovations in LabVIEW NXG is the Web Module. The Web Module enables you to create web pages directly in LabVIEW and makes the transition between VIs and the internet much simpler. This is done through the new webVIs, where you can essentially turn the front panel into a web page while retaining the block diagram\u2019s functionality.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-416ad99e elementor-widget elementor-widget-heading\" data-id=\"416ad99e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">WebVIs<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd5d0f2 elementor-widget elementor-widget-text-editor\" data-id=\"bd5d0f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The advantage of webVIs is that, as a LabVIEW developer, you can easily create a web page without having to worry about HTML, CSS, JavaScript, etc. It is easy to connect a webVI to a standard VI, so you can readily create a more modern user interface for your application that can be accessed from anywhere. Unlike web publishing in earlier versions of LabVIEW, webVIs do not require any downloads to work\u2014any browser will be able to open it.  <\/p><p>In many ways, webVIs work like standard VIs. The usual controls on the front panel have been replaced by widgets, but the visual appearance is exactly the same. When the webVI is compiled, the front panel is translated into HTML\/CSS, and the block diagram is translated into JavaScript. Since the entire web page consists of HTML and JavaScript, it is also easy to modify the code outside of LabVIEW, and you can also add third-party widgets through the built-in JavaScript Library Interface.   <\/p><p>To make webVIs compatible with mobile devices and tablets, the Web Module makes it easy to scale the front panel so the page can be viewed on screens of all sizes. In practice, this is done by grouping widgets into boxes that dynamically adapt to the screen size. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a30375b elementor-widget elementor-widget-heading\" data-id=\"2a30375b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Data services\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e8d8c66 elementor-widget elementor-widget-text-editor\" data-id=\"6e8d8c66\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>In addition to webVIs, the Web Module also provides various data services, allowing the web page to connect to, for example, a backend. There is currently the option to use three different APIs: HTTP, WebSocket, and SystemLink. HTTP is the well-known internet protocol, and from a webVI you can access any API that meets REST requirements. WebSocket is a continuous TCP connection and, unlike the HTTP protocol, it is full duplex. This means data can be transmitted in both directions at the same time. SystemLink is NI\u2019s service for integrating and managing distributed systems.     <\/p><p>HTTP is a good all-round choice, as it offers high flexibility and is widely used. WebSocket is well suited for streaming and low-latency communication, but can be more cumbersome to implement on the server side, as there is not yet a solution where security has been implemented. SystemLink is well suited for communication between LabVIEW applications or with an NI Web Server.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a610242 elementor-widget elementor-widget-heading\" data-id=\"a610242\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">NI Web Server\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2cf06cd elementor-widget elementor-widget-text-editor\" data-id=\"2cf06cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>NI Web Server is also part of the Web Module, and it allows you to set up a server that can <em>host<\/em> a webVI. One of the most important features is that the server has built-in security configuration, so you can secure access to your user interface. As an alternative to NI Web Server, you can also <em>host<\/em> your webVI through SystemLink Cloud, avoiding the need to maintain a server yourself.  <\/p><p><a href=\"http:\/\/www.webvi.io\/\" target=\"_blank\" rel=\"noopener\">Read more about webVIs<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Have you tried building user interfaces with the Web Module in LabVIEW NXG? In this blog post, Poul Lindholm Pedersen, PhD in Physics, provides an overview of the possibilities. One of the major innovations in LabVIEW NXG is the Web Module. The Web Module enables you to create web pages directly in LabVIEW and makes [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":21676,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[82],"tags":[92],"class_list":["post-21674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-software"],"_links":{"self":[{"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/posts\/21674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/comments?post=21674"}],"version-history":[{"count":1,"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/posts\/21674\/revisions"}],"predecessor-version":[{"id":21677,"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/posts\/21674\/revisions\/21677"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/media\/21676"}],"wp:attachment":[{"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/media?parent=21674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/categories?post=21674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gpower.io\/en\/wp-json\/wp\/v2\/tags?post=21674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}