编写适用于Android的SDK的特定规则

时间:2013-12-10 17:30:07

标签: android sdk

如果我想为Android编写SDK,是否需要遵循任何具体规则?想想Paypal SDK或Facebook SDK。

1 个答案:

答案 0 :(得分:6)

我喜欢将SDK视为为SDK尝试解决的问题创建特定DSL的一种方式。因此,创建SDK(或广义上的API)与创建新语言类似。

如果这恰好是您查看问题的方式,请查看Josh Bloch提供的有关API设计的keynote。他的很多建议也适用于SDK设计。


说到Android的特定情况,您必须记住一件事:部署Deployment on Android sucks。是的,我们正处于过渡到基于gradle的构建系统的阶段,但大多数项目仍然使用Maven或只是Eclipse项目。如果您要为Android提供SDK,则几乎必须支持:

  • 想要使用gradle的人:在这种情况下,您需要以 aar 格式导出项目。有关它的更多信息here
  • 仍在使用Maven的人。在这种情况下,您必须使用Maven android插件在Maven存储库上部署项目。更多信息here
  • 希望将SDK作为库包含在Eclipse中的人。这与Facebook在Getting Started页面上描述的方式类似。

有一些方法可以避免重复部署通道(使用Maven的aar支持将Maven的apklib作为Eclipse项目解压缩),但是,在构建系统成熟之前,您可能不得不在所有三个部署之间进行调整路径。

提示:您可能不需要涵盖所有三种情况。要了解哪些部署路径可以删除,请查看竞争对手如何提供SDK。

至于文档,需要最少的Javadoc。但是,您可以有创意,并尝试Parse.com's style of API guide,其内容非常好。