十项经典的技巧构建完美SDK

原创 2016年06月01日 17:16:22

对开发者而言,了解框架知识的重要性已经高于学习算法本身。本文章将介绍十项技巧,希望能够帮助各位打造出完美的SDK。

过去十年以来,SDK的使用已经成为开发生命周期中的重要组成部分。事实上,其在产品中的应用与集成已经非常普遍。甚至对开发者而言,了解框架知识的重要性已经高于学习算法本身。

而在今天的文章中,我们将了解十项技巧,希望它们能帮助各位打造出完美的SDK:

  1. 了解现有成果
    在动手之前,我们首先需要了解竞争对手或者其它企业是否已经完成了各位预期的SDK方案。这类方案可以作为很好的参考点,大家不妨从中选取精华、摒弃糟粕。

  2. 简单性
    简单的代码能够确保成果的易用性。具体来讲,代码的交互方式越少越好,例如只提供一个接口类; 减少方法签名,例如只保留少数输入参数等等。除了初始化之外,一且SDK的使用方式都应尽可能保持简单。要实现这一目标,大家可以提供默认配置及默认实现类,同时允许高级用户对其加以修改。隐藏一切用户不需要使用的类与方法,即只在用户需要时才开放类/方法,否则仅在本地或私有范围内使用。部分IDE能够帮助大家自动实现代码检测与冗余部分清除。说明文档:让文档尽可能易于理解,即提供充分的解释表述但又要注意别啰里啰嗦。另外,内嵌代码示例也是很好的提示方式。

  3. 保证易于上手
    即保证用户能够在5分钟以内学会使用代码。这一点非常重要,特别是考虑到有时候用户会评估我们的产品——如果无法轻松上手,他们很可能直接选择放弃。

  4. 保持简短
    这部分要求对说明文档特别重要,但有时也会体现在用户与SDK代码的交互流程当中。要在说明文档中实现简短效果,大家应当提供代码示例、使用自解释方法名称并提供默认配置。

  5. 整合
    我们必须记住,用户的开发环境往往多种多样。举例来说,如果我们在编写一套Android库,则需要充分考虑要素整合:如果用户使用Android Studio与gradle,则须提供aar artifact并将其发布至远程库; 如果用户使用Eclipse,则需要提供变更AndroidManifest.xml所必需的jar文件以及SDK独立eclipse项目。当然,这部分工作无法一蹴而就,大家可以在项目推进当中听取意见并逐步纳入更多整合元素。

  6. 示例项目
    在GitHub当中创建基础项目,用于模拟客户使用SDK的过程。通过这种方式,我们能够了解客户如何利用产品满足自身需求,又会提出哪些产品整合要求。如果大家打算展示某些高级用法,则应建立另一独立项目。一般来讲,用户会将其作为自己的主要说明文档来源,因此请提供内嵌注释并尽可能以自解释方式编写代码。

  7. 概述
    在说明文档或者README当中提供关于解决方案的总体概述。在这里,我通常会提供一个示例用例以解释SDK的常规使用情况。如果可以,不妨提供简单的图表或者图例,从而帮助那些没时间逐行阅读文本的用户快速掌握其使用方法。

  8. 快速开始
    使用SDK领域中被广泛接受的惯例性方法。我们应尽可能使用常规的负载、构建模式及其它设计思路,从而保证默认配置能够有效帮助用户快速开始项目使用。

  9. 默认配置
    良好的默认配置能够有效提升代码简单性并降低调整难度。我们提供的默认机制(无论是配置方案还是实现方式)都应适用于大部分SDK目标用户。大家可以提供多种重载方法,其中最简单的签名会默认调用更为复杂的方法签名。

  10. 发布
    提供不可编辑的脱机格式——PDF。我们能够轻松创建这类说明资料并将其保存在Dropbox上以备随时更新。

希望这些技巧能够帮助大家构建起自己的完美SDK!

相关文章推荐

创建完美SDK的10个技巧

本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK。文章系国内 ITOM 管理平台 OneAPM 编译呈现。以下为正文。...

\t\t构建成功web应用的十项黄金法则

此文译自Fred Wilson 2010年2月在迈阿密举行的Web未来应用的年会上的演讲谢谢青云推荐了这篇这么好的演说谢谢卓和百忙中抽空帮我review,修改,提出很好的建议谢谢Lily,在我初稿完成...

Android百度地图SDK无法支持64位平台完美解决方案

首先强调下,百度地图早已经处理了对64位平台的支持,而且现在很多手机都用64位处理器了,而且很多应用使用百度地图sdk都没有问题,那么问题就是我们没有使用好百度地图了。 最近开发项目时候遇到一个...

sdk manager打不开闪退问题完美解决2017年最新方法

这几天更新了android studio和sdk,结果sdk manager怎么也打不开,eclipse也不能用了,这个很郁闷,于是到网上找到了以下方法,结果都失败了,具体看看哪些方法,我尝试了 (...

Android之完美退出方法(2.1-2.2-2.3SDK版本均测试通过)

2011年05月09日 星期一 14:26 为什么要写这篇文章? 网上有很多种退出方法,可实际上很多方法都不通用(在某个版本下可用,到了另一个版本就不行),或者方法的实际效果...
  • kkk0526
  • kkk0526
  • 2012年03月04日 19:12
  • 1694

Android之完美退出方法(2.1-2.2-2.3SDK版本测试通过)

为什么要写这篇文章?  因为网上有很多种退出方法,可是实际上很多方法都不通用(在某个版本下可用,到了另一个版本就不行),或者方法的实际效果根本就和其描述不符(也不知道那些发帖的人测没测试过)。 ...

讯飞语音sdk集成语音合成功能超级完美工具类

工具类: public class Voiceplay { private static String TAG = "Voiceplay"; private Context mCo...

iOS开发解决使用融云sdk融云头像问题第二版 (终结了 完美)

上一个博文里面说了融云头像问题,那个是没有经过测试的,我这边测试了以后确实是有bug,经过我三个小时的修改,ok已经完成了,下面给大家贴源码也把逻辑给捋一下; **这个是融云的代理方法吧大家肯定知道*...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十项经典的技巧构建完美SDK
举报原因:
原因补充:

(最多只允许输入30个字)