如果我想为Android编写SDK,是否需要遵循任何具体规则?想想Paypal SDK或Facebook SDK。
答案 0 :(得分:6)
我喜欢将SDK视为为SDK尝试解决的问题创建特定DSL的一种方式。因此,创建SDK(或广义上的API)与创建新语言类似。
如果这恰好是您查看问题的方式,请查看Josh Bloch提供的有关API设计的keynote。他的很多建议也适用于SDK设计。
说到Android的特定情况,您必须记住一件事:部署。 Deployment on Android sucks。是的,我们正处于过渡到基于gradle的构建系统的阶段,但大多数项目仍然使用Maven或只是Eclipse项目。如果您要为Android提供SDK,则几乎必须支持:
有一些方法可以避免重复部署通道(使用Maven的aar支持将Maven的apklib作为Eclipse项目解压缩),但是,在构建系统成熟之前,您可能不得不在所有三个部署之间进行调整路径。
提示:您可能不需要涵盖所有三种情况。要了解哪些部署路径可以删除,请查看竞争对手如何提供SDK。
至于文档,需要最少的Javadoc。但是,您可以有创意,并尝试Parse.com's style of API guide,其内容非常好。