Repository navigation
Salamatrix Extension Framework #1414
KRtekTM
started this conversation in
Show and tell
Replies: 1 comment 2 replies
|
One thought comes to mind: in today’s world, does it still matter which programming language a plugin is implemented in? |
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Salamatrix Framework – multi-language extensions for Open Salamander
I have been working on Salamatrix, a new extension framework developed as part of my Samandarin fork.
Salamatrix is intended to fill the space between simple one-shot Automation scripts and full native C++ plugins. It provides a shared, versioned service layer that extensions can use regardless of their implementation language.
The framework currently includes:
Out-of-process runtimes communicate with Salamander through the bounded
SMX1worker protocol instead of exchanging native pointers.A major part of the framework is Salamatrix.UI. Extensions written in any supported language can construct real Salamander dialogs using the same control model. Salamander remains responsible for the actual native windows, dark mode, DPI scaling, keyboard navigation and host-specific controls, so runtime providers do not need to integrate separate GUI toolkits.
The same UI capabilities dialog is currently implemented independently in Node.js, Python, PowerShell, PHP, Lua, Automation JScript and native C++.
Salamatrix is still an evolving MVP and is not intended to replace the native Plugin SDK. Native plugins remain appropriate for deep integration and performance-sensitive functionality. The goal is to make smaller and medium-sized extensions considerably easier to develop while still allowing them to look and behave like native parts of Salamander.
Framework overview and current implementation status:
https://samandarin.krtkovo.eu/salamatrix/index.html
Salamatrix.UI documentation and examples:
https://samandarin.krtkovo.eu/salamatrix/salamatrix-ui.html
Feedback on the architecture, APIs and possible extension use cases is welcome.
All reactions