IPC-2591 Software Development Platform Matrix

Natively Supported Platforms via CFX SDK’s

Development Platform

Supported Languages

Supported Operating Systems

Links to Resources

Microsoft .NET Framework

C#
Visual Basic.NET
Managed C++
Jscript.NET
Windows PowerShell
Iron Python
F#

Windows Vista SP2+
Windows 7 SP1+
Windows 8, 8.1
Windows 10 Version 1511+
Windows Server 2008 SP2+
Windows Server 2008 R2 SP1+
Windows Server 2012, 2012 R2, 2016, 2019

GitHub Repository
Nuget Package
Getting Started

 

Microsoft .NET Core

C#
Visual Basic.NET
F#

Windows 7 SP1+
Windows 8.1,
Windows 10 Version 1607+,
Windows Server 2008 R2 SP1+
Windows Nano Server Version 1803+
Windows IoT Core (ARM, Raspberry Pi)
Raspbian (Raspberry Pi OS)
Red Hat Enterprise Linus 6, 7, 8 (x64)
CentOS 7+ (x64)
Oracle Linux 7+ (x64)
Fedora Linux 29+ (x64)
Debian Linux 9 (x6, ARM32)
Ubuntu Linux 16.04, 18.04, 19.04, 19.10 (x64, ARM32)
Linux Mint 17+ (x64)
openSUSE 15+ (x64)
SUSE Enterprise Linux 12 SP2+ (x64)
Alpine Linux 3.8+ (x64)
Apple macOS Sierra 10.12+ (x64)

GitHub Repository
Nuget Package
Getting Started

Java

Java

Windows Vista SP2+
Windows 7 SP1+,
Windows 8.x,
Windows 10 (8u51+),
Windows Server 2008 R2 SP1+,
Windows Server 2012 and 2012 R2,
Oracle Linux 5.5+,6.x,7.x
Red Hat Enterprise Linux 5.5+, 6.x, 7.x,
Suse Linux 10 SP2, 11.x
Suse Linux 12.x (7u75+),
Ubuntu Linux 10.04 +
Max OS X 10.7.3+

GitHub Repository

 

Additional Platforms Supported Via Interoperability

Development Platform

Description of Approach

Links to Resources

Node JS

Implement the CFX SDK in the desired language, requiring additional R&D resources 

The IPC-CFX team is looking into a quick prototyping on CFX root messages for a start in Node JS.

https://www.npmjs.com/package/rhea

LabView

To prepare the SDK for use in Labview:

  1. Extract the files of the .nupkg
  2. Include the .dll in your LV.proj dependencies
  3. Use the LV .net constructor nodes to open references to the sdk in your VIs

Sample source

Python

Iron Python is an open source project that allow applications written in the Python language to be compiled as managed .NET or .NET Core applications.  Using Iron Python, it is possible to invoke the CFX .NET Framework and .NET Core SDK’s on Windows, Linux, and macOS operating systems.

Interest has been expressed in the creation of a native CFX SDK for Python at some point in the future.

Iron Python

Unmanaged C++ for Linux, Windows, and Embedded Operating Systems

There is currently no direct CFX SDK support for unmanaged, native applications running on Linux, Windows, or other embedded platforms. 

However, it is still possible to take advantage of .NET Core and/or Java SDK’s using inter-process communication or data sharing techniques.  For example, your unmanaged application could communicate with a .NET core-based or a Java-based background process via shared files, shared memory, pipes, sockets, etc.  The background process would then utilize the CFX SDK to send and receive CFX messages.