Seamlessly combine different programming languages visually
Algonia is Visual Microservices platform to simplify programming languages interoperability
You can read more about it and check Hello World example here.
Algonia platform contains three main parts.
Independent executing engine capable of hosting different environments and executing code written in different programming languages.
It's a gluing mechanism between your and 3rd party libraries.
This is Algonia's Engine repository.
Development tool for combining code visually.
You can navigate to Algonia VS repository here.
Algonia Engine is capable to interact and host environments for different programming languages.
However, some languages are required to implement standard interface so that communication with Algonia Engine performs flawlessly.
This is one time task per language.
Example of language that didn't need any additional bindings is Python.
Both, Python interpreter environment hosting and system calls are performed inside Algonia Engine.
Example of language that needed additional bindings is .NET Core.
Algonia Engine hosts .NET Core runtime, but tiny wrapper is needed on .NET Core side that offers practically unlimited integration possibilities.
You can see .NET Core bindings here
Prerequisites:
- git
- Visual Studio Code
- .NET Core SDK
- OpenSSL
- Build Tools For Visual Studio
-
Install git
-
Install Visual Studio Code After installation, Visual Studio Code will automatically detect git path. In case that path is not detected and git is installed, set path VS Code manually. Install following extensions
- C/C++ for Visual Studio Code
- C# for Visual Studio Code
-
If you don’t have Visual Studio, install Build Tools for Visual Studio 2019
- After running installer, select “Visual C++ build tools”
- Be sure to select “VC++ 2015.3 v14.00 toolset for desktop” (actual version can vary, at the time of writting instructions, VS 2017 was used)
-
Find “vcvarsall.bat” file which is needed to build C/C++ projects from VSCode. Add directory path to PATH environment variable.
Typical locations to search are “C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\VC\Auxiliary\Build\”, “C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\”.... -
Find “cl.exe” file and add directory path to PATH variable. “cl.exe” is tool that controls Microsoft C and C++ compilers and linker.
Typical locations to search are “C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\VC\Tools\MSVC\14.15.26720\bin\Hostx64\x64\”.... -
Install OpenSSL. “Win64 OpenSSL v1.0.2o Light” should suffice
-
Install .NET Core SDK
-
Create new folder for project. Make sure that path does not contain white spaces (eg C:\Algonia)
-
Go into newly created folder and clone AlgoniaCsNodes repo. This repo contains .NET Core Elements.
git clone https://github.com/tvinko/AlgoniaCsNodes.git -
Clone AlgoniaEngine repo. This repo contains native Computing Engine and Elements
git clone https://github.com/tvinko/AlgoniaEngine.git -
Create two environment variables:
- ZENO_ROOT pointing to unmanaged AlgoniaEngine root folder (eg C:\Algonia\AlgoniaEngine)
- ZENO_PROJ pointing to project folder (eg C:\Algonia\ZenUnmanaged\ZenEngine\project\9024bb0d-137e-4a99-2167-7b5875404b01)
-
Build projects.
Open “ZenComplete.code-workspace” in VS Code and press Ctrl+Shift+B to open Build task. Build projects in following order:- Native - ZenCommon
- Native Lib - ZenCoreCLR
- Native Element - ZenCounter
- Native Element - ZenSleep
- Native Element - ZenStart
- Native Element -ZenDebugWrapper
- Native - ZenEngine
Comming soon...
Comming soon...