Closed JBildstein closed 4 years ago
Very interesting - thanks for letting me know!
It is interesting to see how far you’ve been able to get without writing any native code. I guess there’s a trade off between the convenience of only writing C# versus the ability to manage some aspects of state on the C++ side.
Does your published package work on all the supported platforms, or does the developer have to reference a different one for each platform? It looks like the latter, though maybe I’m misinterpreting. If I am right you might want to use the technique used in WebWindow so there’s only one package and it works everywhere (i.e different binaries for each RID).
There is definitely some trade off, especially when it comes to macOS. Calling Objective C functions is quite a pain. But overall I prefer the C# approach for the portability (e.g. compiling/intellisense on every platform) and ease of development (once the native stuff is wrapped up nicely).
Yes it's a different package for each platform. I tried for hours to get it into a single package but just couldn't get it to work (the documentation is a bit thin on that subject). I think it's ok though because I already need separate projects for each platform due to the different project SDK for Windows (Microsoft.NET.Sdk.WindowsDesktop) vs macOS/Linux (Microsoft.NET.Sdk). I might also add platform specific functionality so it'd be necessary anyway.
You used WebView2 on Windows, right? I'd love to implement it too but I don't think it's available for .Net yet. Do you have some insight on when it'll come out?
Hi,
stumbled upon your blog recently and realized how similar my project is: https://github.com/JBildstein/SpiderEye I took a bit a different approach tough and used only C# (and don't have anything Blazor specific).
Could be fun to collaborate/exchange on this subject a bit :)