In a recent discussion concerning ways to integrate with the simulator, we were reminded that SimConnect is not future-safe. Also, the SimConnect networking connectivity is not planned for the XBox. However, the SDK documentation, for out-of-process add-on components, only discusses SimConnect as an API.
WebAssembly, which was developed to provide a safe sandbox for embedded and native code in Web pages, has severe restrictions concerning standards-based multi-threading and exception handling, and, if the Web-based implementations are any guide, a managed heap. This again places restrictions on the options for interacting with MSFS, especially when one wants to capitalize on tools and hardware for cockpit building. Let alone live integrations for flight-tracking and mapping, fleet management, or alternative ways to allow for group flights.
Now I'll be the last to claim that SimConnect is the best we can get; it is at best a dinosaur with only minimal nods towards the capabilities of modern languages, but it is what we have, and with some work can be made a lot better. (shameless plug: see CsSimConnect) Can you please indicate what we can do to give our code something that is future-proof, as well as able to use modern tooling and hardware? To wit, to build a modern Windows application only rarely does one start with a Win32 MFC base. CLR and JIT (or pre-compiled), or even JVM or Python, provide more than enough performance for most tasks. Just not for mathematically intense work such as a 3D simulator, but that is not what an add-on developer needs to do, right? That is what you do.
Bert Laverman
Software Architect and Developer