0

我正在开发一个 SDK,允许用户使用它并用 C# 或 Java 编写代码。

为了以最佳方式实现这一点,我是否必须用两种语言编写 SDK?尽管使用 2 种不同的语言,这将是很多代码重复,并且维护开销会非常高。

有没有有效的方法来解决这个问题?如果有一天我们考虑为 SDK 添加第 3 种编程语言支持会发生什么?

请注意,我不介意使用 API 代替 SDK。这个想法很简单——它基本上是一个接口或工具包,可以让用户对其进行简单调用以执行某些复杂的操作,所有复杂性都被抽象到 API 或 SDK 中。

4

2 回答 2

0

您可以使用 C++ 编写 SDK 并创建 java/C# 包装类以允许用户与 SDK 交互

还允许轻松扩展到其他语言,因为大多数语言都允许您使用用 C++ 编写的 dll。

只是一个想法。

如果您有兴趣阅读 DLL 创建、适配器模式、Java 的 JNI,不确定 C# 我没有那么多经验

于 2013-05-22T21:01:46.963 回答
0

为避免代码重复,有不同的选择。

  • 您可以在可移植的 C++ 中创建基础库。然后,C++ 可以在 Java(例如使用 JNI)和 C#(例如使用 C++/CLI)中进行接口。这意味着您可以使用 C++ 为两种目标语言创建包装器。如果您想针对更多不同的操作系统,此选项会更加困难。
  • 您可以将软件创建为服务(例如 SOAP 或简单的 json 服务)。您可以使用您喜欢的语言来执行此操作,然后使用 Java 和 C# 创建客户端应用程序。

这取决于您的项目、实施项目的人员以及您未来的目标,最佳解决方案是什么。

于 2013-05-22T21:01:56.770 回答