精华内容
下载资源
问答
  • 什么是SDK

    2020-05-31 14:00:33
    什么是SDK 转载自:https://www.jianshu.com/p/fb23ee3066f9 一、SDK(Software Development Kit,软件开发工具包) 1、SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的...

    什么是SDK

    转载自:https://www.jianshu.com/p/fb23ee3066f9
    一、SDK(Software Development Kit,软件开发工具包)
    1、SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

    2、最开始的时候,API的集合我们就称之为SDK,例如mac提供的API集合,就称之为mac SDK。随着时间的演化,现在的SDK指的是以一组Api作为输入,以另外一组Api作为输出的中间件。

    3、例如,新浪微博提供了一组Http请求形式的Api。由于现如今构造Http请求也算是一件麻烦事,所以逐渐就有了“新浪微博iOS SDK”。这个SDK封装新浪微博的Http接口,提供了一组Objective C或者Swift形式接口。

    SDK
    二、系统与SDK
    1、Windows:

    DLL(Dynamic Link Library,动态链接库,格式为.dll)也是一种可执行文件格式,跟.exe文件不同的是,.dll文件不能直接执行,它们通常由.exe在执行时装入,内含有一些资源以及可执行代码(API函数的执行代码)等。为了使用DLL中的API函数,我们必须要有API函数的声明(.H)和其导入库(.LIB),导入库是为了在DLL中找到API的入口点而使用的。

    所以,为了使用API函数,我们就要有跟API所对应的.H和.LIB文件,而SDK正是提供了一整套开发Windows应用程序所需的相关文件、范例和工具的"工具包"。由于SDK包含了使用API的必需资料,所以人们也常把仅使用API来编写Windows应用程序的开发方式叫做"SDK编程"。

    2、IOS(URL Scheme):

    iOS是一个封闭的系统,苹果选择沙盒来保障用户的隐私和安全,App只能访问自己的沙盒,但同时也阻碍了应用间合理的信息共享。沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容。所有的非代码文件都保存在这个地方,比如图片、声音、属性列表和文本文件等。

    应用程序通过各个APP设计的符合苹果的统一规范的URL Scheme,来实现信息的传。URL Scheme是为方便app之间互相调用而设计的。如果一个App需要提供一个供别的App访问的功能或者数据,那么必须在App定义一个相对应的URL Scheme。你可以通过一个类似URL的链接,通过系统的OpenURl来打开该app,并可以传递一些参数。
    (URL Scheme是什么:由于苹果的app都是在沙盒中,相互是不能访问数据的。但是苹果还是给出了一个可以在app之间跳转的方法:URL Scheme。简单的说,URL Scheme就是一个可以让app相互之间可以跳转的协议。每个app的URL Scheme都是不一样的,如果存在一样的URL Scheme,那么系统就会响应先安装那个app的URL Scheme,因为后安装的app的URL Scheme被覆盖掉了,是不能被调用的。
    URL Scheme有什么作用:那么app之间的跳转有什么作用呢?我们所使用的每一个app就相当于一个功能,app的跳转可以使得每个app就像一个功能组件一样,帮助我们完成需要做的事情,比如三方支付,搜索,导航,分享等等。----转载自:https://www.jianshu.com/p/eed01a661186)

    每个URL必须能唯一标识一个APP,如果你设置的URL与别的APP的URL冲突,此时,你的APP不一定会被调用起来,原因是当APP在安装的时候就已经在系统里面注册了此APP的URL Scheme,如果你的url scheme一致,但是是后安装的,那么系统不会调用你的APP,因为你的APP设置的URL scheme被覆盖了,默认调用最新安装的app。

    3、Android:

    在Android平台上开发Android App,我们必须从官网下载Android SDK,然后利用这套SDK提供的API来调用系统能力,比如我通过Android SDK来调用系统屏幕一直「常亮」的功能,如果没有这个工具箱提供的这个工具,那就无法实现这个功能了。

    展开全文
  • 什么是 SDK

    千次阅读 2019-07-20 14:34:12
    转自 https://blog.csdn.net/snowin1994/article/details/80608079 ...1、SDK (Software Development Kit,软件开发工具包) 举个例子: 在这里,一个简单的功能链条我将它分为三个组成部分: 1、客户端组装数据 2...

    转自
    https://blog.csdn.net/snowin1994/article/details/80608079
    https://blog.csdn.net/hx_uestc/article/details/7220625

    1、SDK (Software Development Kit,软件开发工具包)

    举个例子:

    在这里,一个简单的功能链条我将它分为三个组成部分:

    1、客户端组装数据

    2、客户端使用组装的数据来请求服务端(或者操作系统)的 api

    3、服务端(或者操作系统)的 api 处理数据并返回处理结果

    结合这个链条得出结论:

    1、api为细粒度的功能接口

    2、sdk包含第2、3步

    3、sdk为api的集合

    比如需要实现一个获取用户信息的功能

    大王实现一个api(http://api.sunxuefeng.com/user/userinfo),可以通过传递参数(token)来获取用户信息。如果小王要使用这个api,需要写如下代码(php示例):

    function getUserInfo(KaTeX parse error: Expected '}', got 'EOF' at end of input: … if (empty(token)) {
    throw new \Exception(‘token is empty’);
    }

    $host = 'api.sunxuefeng.com';
    $param = ['token' => $token];
    
    $userInfo = curl($host, $param, 'GET');
    
    return $userInfo;
    }
    

    这样小王就可以使用大王提供的api了。但是小王这人比较懒,要求大王给他提供一个sdk来搞定这个功能。

    然后大王就把上面的代码(sdk)发给小王,让他调用这个函数,传递一个 token 进来就可以获取到用户信息。

    狭义的说法,在实际工作中

    • 如果对方需要你提供一个api,是指一个工程提供给另外一个工程的接口(一般是基于http协议)。

    • 如果对方需要你提供一个sdk,是指基于对方工程的编程语言,提供一个代码包。在这个代码包中,你可以调用操作系统的接口,可以调用其他系统的接口,或者什么都不调用,都与对方无关。

    2、JDK

    JDK(Java Development Kit,Java开发工具包)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。可以认为jdk只是sdk的一种(子集),因为它是开发java程序的一个平台,开发其他程序的sdk可以没有jdk。

    比如你下载了一个软件开发平台 eclipse-SDK-3.2.2-win32.zip,它本身里面是没有jdk的。但是只要开发java程序就必须使用jdk(javaee和javase)。

    展开全文
  • 什么是SDK

    2007-04-24 19:38:00
    经常会在技术论坛里面看到类似这样的帖子:“什么是 SDK?”,“请高手讲一下 SDK 是什么东东?”…… 其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当...


       
     
    经常会在技术论坛里面看到类似这样的帖子:“什么是 SDK?”,“请高手讲一下 SDK 是什么东东?”……

        其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。

        呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。^_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。

        首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS 操作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。可以这么说,DOS API 是“Thinking in 汇编语言”的,而 Windows API 则是“Thinking in 高级语言”的。DOS API 是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么 Windows API 呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。

        DLL(又是一个缩写,感觉 IT 这个行业里三字头缩写特别多),即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。

        所以,为了使用 API 函数,我们就要有跟 API 所对应的 .H 和 .LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。

        由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数。

    什么是SDK


    经常会在技术论坛里面看到类似这样的帖子:“什么是 SDK?”,“请高手讲一下 SDK 是什么东东?”……
    其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可...
     

    展开全文
  • 什么是SDK?

    2020-08-25 15:47:30
    其实很简单,SDK 就是 Software Development Kit 的缩写,中文...呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接

    其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。
    呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。_,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。
    首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS 操作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。可以这么说,DOS API 是“Thinking in 汇编语言”的,而 Windows API 则是“Thinking in 高级语言”的。DOS API 是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么 Windows API 呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。
    DLL(又是一个缩写,感觉 IT 这个行业里三字头缩写特别多),即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。
    所以,为了使用 API 函数,我们就要有跟 API 所对应的 .H 和 .LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。
    由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数。
    转载自:https://blog.csdn.net/FaithMai/article/details/61202534

    展开全文
  • 什么是SDK什么是CDN

    2019-01-07 22:48:30
    什么是SDK 软件开发工具包(Software Development Kit,即SDK)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。 软件开发工具包,只是简单的为某个程序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,475
精华内容 4,190
关键字:

什么是sdk