There are times where we need to use a library written in a different platform than the one we are currently on. Most of the times 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 is left 1+ year behind this is not a good sign.
  • The quality of the ported codebase, framework usage, coding conventions. Does it use recommeded guidelines for the target framework?
  • The activity of the ported project. If it's low that's a sign that future versions might now 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.