So, like everyone else, I’ve been on the edge of my seat, waiting for NXG 4.0 to release. It finally dropped on NI Package Manager today! Wait, everyone else wasn’t opening NIPM several times a day waiting on NXG 4.0 to finally appear? Oh, well, here’s why you should have been.
NOTE: This post wouldn’t have been possible without my employer, Hiller Measurements, who provides me access to the software (and is also a pretty darned awesome place to work).
I started looking at NXG 3.1 after the CLA Summit this year, and honestly, I was impressed. It’s come a long way from it’s meager beginnings, and I really felt like it wasn’t getting the attention and recognition that it should. It had pretty much everything most users would need, and a lot of the things that advanced users need.
From a front panel perspective, we’re well past the point of half-baked event structures and being unable to programatically manipulate controls like NXG 1.0. LabVIEW NXG 3.1 gives us tab controls, subpanels, and pretty much all the goodies one needs to develop “professional” GUIs.
And, it was mostly complete from a functional perspective as well. All the ‘normal’ primitives were there, you had classes, the ability to interact with HTTP APIs, the ability to call .NET assemblies or C DLLs, the ability to build EXEs, almost everything one needs.
Unfortunately, there was no real capability for the average user to build a true “application” because there were no pre-vetted communication frameworks (think AF, DQMH, etc.). Sure, you could make your own QMH, but let’s be honest, that is a terrible idea if you’re dealing with a project of any practical scale and aren’t willing to invest thousands of hours in development and testing.
Say Hello to LabVIEW NXG 4.0, the bringer of Actor Framework. We can now, as LabVIEW Architects, build true NXG applications without investing years of our lives. (Note, I’m not saying that other frameworks lead to less “true” applications, I’m just saying that this is the first one available. I’m also relatively confident we won’t see many of the community frameworks being ported over until we have G-based scripting.)
So, going back a bit, NXG 4.0 showed up on NIPM today. I immediately hit the install button. I was super excited, so I didn’t note the start time explicitly, but it was somewhere around 11:15 am, give or take.
It’s come to my attention lately that I’m impatient. It’s something I’m working on. To that end, I guess I owe National Instruments a big thank you for allowing me an opportunity to practice working on it, because it was almost 2:00 before I was actually in the NXG 4.0 environment. We’re talking a legit 2.5 to 3 hour install. Admittedly, I have a non-trivial number of drivers and such that it wanted to update and such as part of the process, but wow.
Again with the sidetrack though. NXG is finally loaded and open in front of me! The first thing I did was open the AF Example Project and compare it to the LabVIEW 2019 equivalent. It’s amazingly similar:
Much to my delight, the launcher template also still includes the following text:
“Remember, one good graphics designer is worth 10 programmers trying to do art.”Comment on the template block diagram
There are some subtle nuances that are different from a project organization perspective, but I think we can save looking at gcomps and namespaces for a future post.
The next step was to start creating my own actors. I’ll elaborate on that (including the bug I found, and how I got around it) more in another post in the next couple days.