Skip to main content Skip to footer

Best Practice

Code Modules

Best used for, and not to be used for...

The code modules available in the library, currently C#, Python and Javascript, are very powerful when you need to run your own custom logic or need additional functionality not available in the modules provided by Crosser.

Even though you can do a lot with these modules it may not always be the best choice. First of all, the main reason for using a visual design tool is that it simplifies not only the design of applications, but also the maintainability. When either you (at a later time) or someone else wants to understand what a Flow is doing it is usually much easier to follow a visual design. If most of the logic is hidden in code modules, that advantage may be lost. That said, visual designs are not always easier to understand than code. It all depends on the use case and your experience with code.

Secondly, using code modules comes with a price in terms of performance. The fixed function modules are more efficient in terms of both CPU and memory usage.

Therefore it’s highly recommended to familiarize yourself with the modules available in the library and use existing modules if possible. Following our online training courses is a good way to get familiar with the most common modules. There’s also some overview documentation available in our Help Center, see here and here.

Code Modules

Crosser C# Module


Execute C# code. The code is compiled at runtime. Standard .NET libraries can be used but not 3rd party libraries.

Crosser Javascript Module


Use JavaScript to process the incoming message.

Crosser Python Bridge Module

Python Bridge

Run python code in a standard Python environment outside of .NET. On Windows the Python environment must be installed separately and the local node configuration must be updated accordingly (see installation docs). Standard and 3rd party libraries can be used, including ML frameworks.

Crosser Iron Python Module


Run Python code using the IronPython interpreter which runs in .NET. Standard libraries can be used but not 3rd party libraries.

About the author

Goran Appelquist (Ph.D) | CTO

Göran has 20 years experience in leading technology teams. He’s the lead architect of our end-to-end solution and is extremely focused in securing the lowest possible Total Cost of Ownership for our customers.

"Hidden Lifecycle (employee) cost can account for 5-10 times the purchase price of software. Our goal is to offer a solution that automates and removes most of the tasks that is costly over the lifecycle.

My career started in the academic world where I got a PhD in physics by researching large scale data acquisition systems for physics experiments, such as the LHC at CERN. After leaving academia I have been working in several tech startups in different management positions over the last 20 years.

In most of these positions I have stood with one foot in the R&D team and another in the product/business teams. My passion is learning new technologies, use it to develop innovative products and explain the solutions to end users, technical or non-technical."