多种编程语言的SDK开发

本文关键字:SDK 开发 编程语言 | 更新日期: 2023-09-27 18:14:48

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

为了最优地实现这一点,我是否必须用两种语言编写SDK ?尽管使用的是两种不同的语言,但这将是大量的代码重复,而且维护开销将非常高。

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

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

多种编程语言的SDK开发

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

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

这取决于你的项目,执行它的人以及你未来的目标,什么是最好的解决方案

您可以用c++编写SDK,并创建java/c#包装器类,以允许用户访问SDK

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

只是一个想法。

如果你感兴趣,请阅读DLL创建,适配器模式,java的JNI,不确定c#,我没有那么多经验