I’m a back-end developer who wants to play with some desktop/front-end development.
I found a C++ library and started thinking what would be the best way to wrap this library in a way so that I can create a GUI in either C# or in Typescript.
What would you recommend?
Note: I’m trying to keep the question relatively vague because I want to get some ideas to try instead of finding the solution to my specific problem. I want to learn more about how others would approach such a problem. But I can provide more details, if necessary.
Depending on where you want your app to run, QT framework/creator has pretty powerful C++ GUI capabilities. The biggest benefit, I thought, is a lot of open source projects use it (e.g. Bitcoin and forks) meaning there are a lot of real examples out there rather than only docs.
The other option, which is more aligned with separate frontend/backend and WebApps, is simply have a basic server of some type wrapping the dll functionality you want to use as endpoints and communicate over ReST API.
Not an easy task, but if your C++ library is DLL you can use interop to load and use it on C#. If the library is larger than just one DLL, then it goes even harder. https://learn.microsoft.com/en-us/dotnet/framework/interop/consuming-unmanaged-dll-functions
Thank you for the response. To be honest, I’m a bit surprised that this is not an easy task. If I understand the documentation correctly, that means, I will have to create a C# wrapper for C++ methods. I was hoping to get the wrapping for free via some tooling. I found Emscripten that looks promising (for JS), but not sure that’s any different.
Thank you. I saw those pages, but what I can do was not immediately clear. I was looking for some examples (probably there are some videos on YouTube). I will have some more time to dive into this soon. Maybe I’ll hack around and see if it works for me.
Removed by mod
A very long time ago I did it for C# writing a wrapping C++/CLI library. For other languages I would probably make a C wrapper library