Using class libraries from different platforms
There are times when we need to use a library written for a different platform than the one we are currently on. Most of the time a port already exists and we can choose to go with that. Before using a port there are some good considerations:
- The size of the original codebase.
- The kind of project (is it a logger, an ORM, etc.).
- The current version of the original compared with the ported one. It depends on the activity of the original, but if the ported one is left 1+ years behind, this is not a good sign.
- The quality of the ported codebase, framework usage, coding conventions. Does it use recommended guidelines for the target framework?
- The activity of the ported project. If it’s low, that’s a sign that future versions might not show up. However, consider contributing.
Besides ported code, there are cases where we can use a tool that allows us to use the original library from a different platform. For example, when working in .NET we can use Java class libraries through IKVM.NET, which has a bytecode compiler called IKVMC.