浅谈 Sdk 与 Api,你是喜欢 SDK 还是 API? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
scarqin
V2EX    程序员

浅谈 Sdk 与 Api,你是喜欢 SDK 还是 API?

  •  
  •   scarqin 2017-11-16 10:00:51 +08:00 10219 次点击
    这是一个创建于 2885 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前一直没搞懂 sdk 和 api 之间的关系,官方的解释也是似懂非懂。

    在百度百科中,sdk 定义为软件开发工具包(外语首字母缩写:SDK、外语全称:Software Development Kit )一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

    API ( Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    好吧,看到这里我还是一头雾水,这些话语太官方,简直不给新手留一条活路。后面参照了一些文章后才真正理解 sdk 和 api 的意思。

    类比来说,api 可以比作房门钥匙。在一个房子里,每间房间有其不同的用途与资源。而当要获取到相应房间的资源时,我们需要先用钥匙打开房门。譬如我们要从书房里拿书、要去卧室拿枕头,我们都需要先找到相应房间钥匙,继而进入房间拿书、拿枕头。调用 api 的过程,就是用钥匙开门的过程。

    而 sdk 则是把这些钥匙串在一块儿,将 api 集成在一块儿。拥有 sdk,你便可以在该房子里畅通无阻,想要获得哪个房间里的资源,用手中的钥匙打开房门,进去拿取即可。

    Api 又分为 open api 和私有 api。Open api 顾名思义,即是向所有人公开的接口,允许任何人调用它并获取到它背后的数据。它就好比于图书馆,你只需要进行相应的身份认证,就可以进入里面获取到相应的图书及资源,而身份认证便是你获取资源的钥匙。

    现在很多公司都开放自己的 open api,并为了用户调用方便,他们大多采用 sdk 文档方式打包。用户在调用时只需要下载该 sdk 文档,根据相应规范进行调用即可。这样就省去了重写函数去封装 http、https 等请求的工作,节省更多时间去做更有价值的事情。

    后来经前辈推荐,说让是试试 eolinker,发现 eolinker 企业版支持 sdk 文档一键化生成,特地用了一下,界面风格我还挺喜欢的。它集接口文档管理、测试、sdk 文档生成于一体,在这里,我可以编写管理我的接口文档,编写完后还可以进行测试,而另外更意外的是它还可以根据我所编写的接口信息自动化生成 sdk 文档,从开发到测试再到调用全都替我想好了,这大大节省了在开发过程中繁琐而又无意义的工作时间,让我可以做更多更有价值的工作,更加专注于产品本身。

    不过这 sdk 文档生成有个局限,现在只支持生成 php 和 Javascript 的 sdk 文档,像现在比较热门的 IOS 和 Andiod sdk 还不支持。要是能完善这两种语言的 sdk,估计会更受欢迎。

    你更加喜欢 API 还是 SDK 呢?

    10 条回复    2017-11-17 09:44:27 +08:00
    Shura
        1
    Shura  
       2017-11-16 10:07:04 +08:00 via Android
    Shura
        2
    Shura  
       2017-11-16 10:11:33 +08:00 via Android   1
    还有,你搜索一下 Android sdk,你就会发现你错的离谱了。
    Shura
        3
    Shura  
       2017-11-16 10:12:14 +08:00 via Android   6
    最后,我回复一个广告回复的那么认真,也是醉了。
    CoderXiaode
        4
    CoderXiaode  
       2017-11-16 10:23:53 +08:00
    @Shura 就欣赏你这股程序员的认真劲
    GeruzoniAnsasu
        5
    GeruzoniAnsasu  
       2017-11-16 10:29:39 +08:00
    恕我直言 mdzz
    oh
        6
    oh  
       2017-11-16 13:35:03 +08:00
    @Shura 帮你召唤一波管理员 @Livid,楼主这帐号全是广告
    scarqin
        7
    scarqin  
    OP
       2017-11-16 15:36:23 +08:00
    @oh 一没网址,二没链接。。。过分了,老铁
    scarqin
        8
    scarqin  
    OP
       2017-11-16 15:37:10 +08:00
    @Shura 感谢 我回去好好看看学习一下。。。。
    scarqin
        9
    scarqin  
    OP
       2017-11-16 15:37:39 +08:00
    @GeruzoniAnsasu。。。
    Charlesling
        10
    Charlesling  
       2017-11-17 09:44:27 +08:00
    我选择 API
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2974 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 12:09 PVG 20:09 LAX 05:09 JFK 08:09
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86