I think the most similar thing to WinRT on Linux would be GObject Introspection since the main point appears to be a way to somewhat automatically surface the platform API in multiple languages using language-specific idioms. D-Bus is instead for RPC and events, which I guess COM also gets used for?
I guess you are kind of right, then it would be a mix of GObject, KParts and D-BUS then.
As for COM, yes there are multiple models, in-process, external process and across the network (with DCOM).
GObject and KParts would be the in-process variant, with D-BUS for the other execution models.
For linux I believe you mean D-Bus instead of DCOP. (that said, it's largely similar in concept)
You are right, that was the old protocol.
Re:Rust/WinRT Public Preview
by KeBugCheckEx on Thursday April 30, 2020 @04:50PM
(#23035951)
Historical note: first versions of .NET were called "COM+ 3.0".
Well, even before XPC there was Distributed Objects. In the mid-90s NeXT had a bridge between COM and DO called D'OLE, which remoted COM before Microsoft did. Of course, that didn't really take off, but it was a great example of how flexible a dynamic runtime can be. (They also had a lot of very smart developers.)
After the whole political disaster that was Longhorn, the Windows team decided to rebuilt Longhorn ideas, originally based on .NET, and redo them with COM.
So while many outside Windows have considered COM dead, actually since Vista all major Windows APIs have been provided as COM interfaces, the large majority of Win32 surface has been frozen since Windows XP.
With WinRT/UA/UAP/UWP they have gone back to the roots, while pursuing this idea one level up.
Basically they replaced COM type libraries with .NET Metadata, added support for generics, structured data types and implementation inheritance, bringing it to what .NET would have been like if they did not decided to copy Java.
So while the implementation of this reboot has been somewhat clusmy, COM is not going anywhere on Windows.
Also, this isn't a Windows only thing, Linux has gathered around DCOP, Android has AIDL, Fuchsia FIDL, macOS/iOS has XPC, then there is gRPC and plenty of other variants.