惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Attack and Defense Labs
Attack and Defense Labs
V2EX - 技术
V2EX - 技术
O
OpenAI News
S
Secure Thoughts
H
Heimdal Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
H
Hacker News: Front Page
S
Security Affairs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
The Register - Security
The Register - Security
GbyAI
GbyAI
Cloudbric
Cloudbric
MongoDB | Blog
MongoDB | Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Y
Y Combinator Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
Hacker News - Newest:
Hacker News - Newest: "LLM"
The Cloudflare Blog
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
Webroot Blog
Webroot Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog
T
Tor Project blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Hacker News: Ask HN
Hacker News: Ask HN
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
I
Intezer
V
V2EX
T
Tailwind CSS Blog
SecWiki News
SecWiki News
NISL@THU
NISL@THU
C
Check Point Blog

博客园 - weiwei~

医学图像——读取和显示.his文件 RPA机器人流程自动化 二维放疗,三维放疗,调强放疗 ,IMRT,VMAT Axure元件库 消息队列MQ APP切换环境 理解Deep Link & URI Schemes & Universal Link & App Link 图片的尺寸 module 和 component 的区别 app基本控件 PaaS是什么? js回调函数(callback)(转载) 多语言 SEO axure rp 8.0 整天看用户埋点数据,知道数据是咋来的吗? 发现恶意ip大量访问 可使用命令进行封禁 阿里云服务器迁移更改IP,导致网站挂掉 阿里云的云盘挂载 Discuz管理员前台正常后台登录不进如何解决
API、SDK、DLL有什么用?
weiwei~ · 2020-07-07 · via 博客园 - weiwei~

https://new.qq.com/omn/20190319/20190319A0O9RK.html?pc

曾经讨论过一个问题:“产品经理需要什么技能?”

  在一圈设计、开发同学沟通下来后,我们发现产品经理是:

  “什么都不会,但什么都要了解”

  “什么都不会,就会说”

  .....

  尤其是在产品工场景下,我们面对的开发知识有一些关键名词我们知晓却不知道背后的区别。今天以SDK、API、DLL3个关键词切入,给产品朋友们带来三者的区别。本文来自华为的产品经理:Simon.Wang 原创支持。

  SDK、API、DLL

  这几个,没有技术背景的产品经理可能比较陌生,或许知道,也未必知道底层的原因。

  这三个其实不是一个层面的东西。

  API(Application Programming Interface):应用程序编程接口

  SDK(Software Development Kit)软件开发包

  DLL(Dynamic Link Library):动态链接库

  API(Application Programming Interface)

  维基百科的对API的定义:是用于构建应用程序软件的一组子程序定义,协议和工具。一般来说,这是一套明确定义的各种软件组件之间的通信方法,晦涩难懂。

  那什么是API呢?

  举个例子:

  比如你想开一家快餐店,你就必须要了解开快餐店要做什么,需要满足一系列标准才能开店,你要提供餐饮服务必须遵守:

  工商管理税法

  公共卫生标准

  食品安全标准

  环境安全标准

  这些标准就是API...由管理部门制订,遵守才能开店。所以API就是要遵守的标准。

  那对于我们现实开发环境来说,API就是接口。满足了接口的要求,就可以请求调用。

  如图:一个医生列表的API

  左侧是医生列表,右侧是该列表的API,列表之所以能显示,就是因为调用了获取医生列表的接口(API),API里定义了每个UITableViewCell里面的参数、类型、是否必选等。用户请求医生列表时,医生列表API被调用,数据就展示出来了,前端的界面就看到了医生的信息。

  OK!API我们或多或少应该有些认知了!

  SDK(Software Development Kit)软件开发包

  那什么是SDK呢?

  举个例子:

  你的快餐店经过一些列的标准都合格了,你终于可以开一家快餐店了,于是你又要开始繁忙了,你需要:

  签约加盟、

  选择店址、

  门店装修、

  培训员工......

  这一套流程就是你快餐店的SDK,就像任务清单一样,它帮助你快速实现你要做的事...

  那对于我们现实开发环境来说,SDK是干什么用的呢?

  比如测肤:

  测肤是一件很难事情,测出用户面部特征,比如肤质、肤色、肤龄、痘痘、黑圆圈、皱纹、黑头情况,技术的投入也非常大,美图开发了测肤功能,美图美妆把测肤变成了商业模式,可见测肤的重要性,如果美图的伙伴公司也想用测肤功能又不想自己单独再次开发,这就需要使用美图提供测肤SDK了,这样就可以快速实现。

  所以SDK就是开发包,是提供给开发人员进行应用程序开发的,这样程序员就可以快速的建立应用软件,而省去了编写硬件代码和基础代码框架的过程。

  OK!SDK我们或多或少应该有些了解了!

  DLL(Dynamic Link Library):动态链接库

  那什么是DLL呢?

  举个例子:

  比如你想吃饭,嫌麻烦没时间自己做饭吃,于是你选择了出去吃,你看了很多快餐店:

  黄焖鸡、

  大娘水饺、

  沙县小吃、

  其他快餐店…

  你可以随便去,这些快餐店就是DLL...提供某种功能实现并且不需要你了解细节...你只管走进去给钱点餐吃饱抹嘴走人...

  那对于我们现实开发环境来说,DLL就是动态链接库。

  其实在Windows环境下含有大量.dll格式文件,这是文件就是动态链接库,也是一种可执行文件格式。跟.exe文件不同的是,.dll文件不能直接执行,他们通过由.exe在执行时装入,内含有一些资源以及可执行代码等。

  那DLL的作用是什么呢?

  就好比一列火车,如果你做成的火车是从头到尾都是不可分割的,这样的话,如果这列火车的中间有一小部分出了问题,也许你就要把整个火车都卸了,但是用了这种动态链接库的话就好比是一节一节的火车,如果中间出了问题,只要把它出问题的那节卸下来修理就行。

  而每一个dll动态链接库就是类似火车中的每一小节,一个比较好的程序都是由多个动态链接库组成,这样做的还有一个好处就是可以减少冗余,如果一个程序中要重复调用一段功能就要将这部分做成动态链接库,就比如windows系统中的user32.dll之类的,应用程序可以通过调用这部分而不必再去特意创建一个类似功能的程序段。

  希望能帮助你们理解分清SDK、API、DLL…