框架、库、IDE、API、SDK、工具包之间的区别?

发布于 2024-12-25 14:40:30 字数 1435 浏览 4 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

[浮城] 2025-01-01 14:40:30

IDE 是一个集成开发环境 - 一个升级的文本编辑器,具有对开发(例如表单设计器、资源编辑器等)、编译和调试应用程序的附加支持。例如 Eclipse、Visual Studio。

是一段代码,您可以从自己的代码中调用它,以帮助您更快/更轻松地完成工作。例如,位图处理库将提供用于加载和操作位图图像的工具,从而使您不必自己编写所有代码。通常,库仅提供一个功能领域(处理图像或操作 zip 文件)

API(应用程序编程接口)是一个术语,表示库中您可以调用来询问的函数/方法它为你做事 - 图书馆的界面。

SDK(软件开发工具包)是一个库或一组库(通常带有额外的工具应用程序、数据文件和示例代码),可帮助您开发使用特定系统的代码(例如,使用操作系统的功能 (Windows SDK)、通过特定系统绘制 3D 图形 (DirectX SDK)、编写插件来扩展其他应用程序 (Office SDK),或者编写代码来制作 Arduino 或手机等设备做你想做的事)。 SDK 通常仍具有单一焦点。

工具包就像一个 SDK - 它是一组工具(通常是代码库),您可以使用它们来更轻松地访问设备或系统......尽管可能更专注于提供工具和应用程序而不仅仅是代码库。

框架是一个大型库或一组提供许多服务的库(而不是像大多数库/SDK 那样仅提供一种集中功能)。例如,.NET 提供了一个应用程序框架 - 它使您可以更轻松地使用大多数(如果不是全部)所需的不同服务(例如 Windows、图形、打印、通信等)来编写大量应用程序 - 因此“库”为您需要做的几乎所有事情提供支持。通常,框架提供了一个完整的基础,您可以在此基础上构建自己的代码,而不是构建一个使用库代码来完成其部分工作的应用程序。

当然,有很多例子与这些描述并不完全匹配。

An IDE is an integrated development environment - a suped-up text editor with additional support for developing (such as forms designers, resource editors, etc), compiling and debugging applications. e.g Eclipse, Visual Studio.

A Library is a chunk of code that you can call from your own code, to help you do things more quickly/easily. For example, a Bitmap Processing library will provide facilities for loading and manipulating bitmap images, saving you having to write all that code for yourself. Typically a library will only offer one area of functionality (processing images or operating on zip files)

An API (application programming interface) is a term meaning the functions/methods in a library that you can call to ask it to do things for you - the interface to the library.

An SDK (software development kit) is a library or group of libraries (often with extra tool applications, data files and sample code) that aid you in developing code that uses a particular system (e.g. extension code for using features of an operating system (Windows SDK), drawing 3D graphics via a particular system (DirectX SDK), writing add-ins to extend other applications (Office SDK), or writing code to make a device like an Arduino or a mobile phone do what you want). An SDK will still usually have a single focus.

A toolkit is like an SDK - it's a group of tools (and often code libraries) that you can use to make it easier to access a device or system... Though perhaps with more focus on providing tools and applications than on just code libraries.

A framework is a big library or group of libraries that provides many services (rather than perhaps only one focussed ability as most libraries/SDKs do). For example, .NET provides an application framework - it makes it easier to use most (if not all) of the disparate services you need (e.g. Windows, graphics, printing, communications, etc) to write a vast range of applications - so one "library" provides support for pretty much everything you need to do. Often a framework supplies a complete base on which you build your own code, rather than you building an application that consumes library code to do parts of its work.

There are of course many examples in the wild that won't exactly match these descriptions though.

冷夜 2025-01-01 14:40:30

汽车类比

在此处输入图像描述

IDE: MS 编程办公室。您可以在其中键入代码,并添加一些附加功能,让您成为更快乐的程序员。 (例如Eclipse、Netbeans)。 车身:这是您真正触摸、看到和操作的部分。

库:库是函数的集合,通常分组到多个程序文件中,但打包到单个程序文件中存档文件。这包含其他人创建的程序,因此您不必重新发明轮子。 (例如junit.jar、log4j.jar)。库通常起着关键作用,但它的所有工作都在幕后进行,它没有 GUI。 汽车发动机。

API: 库发布者的文档。 这就是您应该如何使用我的库。(例如log4j API junit API)。 汽车的用户手册 - 是的,汽车也配有一本!


套件

什么是套件?它是许多相关项目的集合,这些项目一起工作以提供特定的服务。当有人说医药箱时,您会得到紧急情况所需的一切:膏药、阿司匹林、纱布和消毒剂等。

输入图片描述这里

SDK麦当劳开心乐园餐。你需要(和不需要)的所有东西都整齐地装在盒子里:主菜、饮料、甜点和奖励玩具。 SDK 是组装成一个包的一堆不同的软件组件,因此它们开箱即用。它通常包括多个库,可以,但不一定包括插件、API 文档,甚至 IDE 本身。 (例如iOS 开发套件)。

工具包:GUI。图形用户界面。图形用户界面。当您在编程环境中听到“工具包”时,它通常指的是一组用于 GUI 开发的库。由于工具包以 UI 为中心,因此它们通常附带提供屏幕绘制实用程序的插件(或独立 IDE)。 (例如GWT

框架:虽然不是流行的概念,但框架可以被视为一个套件。它还具有提供特定编码结构和功能的库(或协同工作的库的集合)。模式(因此这个词,框架)。 (例如Spring框架)

The Car Analogy

enter image description here

IDE: The MS Office of Programming. It's where you type your code, plus some added features to make you a happier programmer. (e.g. Eclipse, Netbeans). Car body: It's what you really touch, see and work on.

Library: A library is a collection of functions, often grouped into multiple program files, but packaged into a single archive file. This contains programs created by other folks, so that you don't have to reinvent the wheel. (e.g. junit.jar, log4j.jar). A library generally has a key role, but does all of its work behind the scenes, it doesn't have a GUI. Car's engine.

API: The library publisher's documentation. This is how you should use my library. (e.g. log4j API, junit API). Car's user manual - yes, cars do come with one too!


Kits

What is a kit? It's a collection of many related items that work together to provide a specific service. When someone says medicine kit, you get everything you need for an emergency: plasters, aspirin, gauze and antiseptic, etc.

enter image description here

SDK: McDonald's Happy Meal. You have everything you need (and don't need) boxed neatly: main course, drink, dessert and a bonus toy. An SDK is a bunch of different software components assembled into a package, such that they're "ready-for-action" right out of the box. It often includes multiple libraries and can, but may not necessarily include plugins, API documentation, even an IDE itself. (e.g. iOS Development Kit).

Toolkit: GUI. GUI. GUI. When you hear 'toolkit' in a programming context, it will often refer to a set of libraries intended for GUI development. Since toolkits are UI-centric, they often come with plugins (or standalone IDE's) that provide screen-painting utilities. (e.g. GWT)

Framework: While not the prevalent notion, a framework can be viewed as a kit. It also has a library (or a collection of libraries that work together) that provides a specific coding structure & pattern (thus the word, framework). (e.g. Spring Framework)

梦与时光遇 2025-01-01 14:40:30

考虑 Android 开发:

IDE: Eclipse 等。

库: android.app.Activity 库(包含所有代码的类)

API: 基本上是我们调用

SDK 的所有功能的接口: Android SDK 为您提供构建所需的 API 库和开发人员工具、测试和调试 Android 应用程序
(----工具 - DDMS、模拟器 ----平台 - Android 操作系统版本,----平台工具 - ADB,----API 文档)

ToolKit:可能是 ADT 捆绑

框架:大库,但更多面向架构

Consider Android Development:

IDE: Eclipse etc..

Library: android.app.Activity library (Class with all code)

API: Interface basically all functions with which we call

SDK: The Android SDK provides you the API libraries and developer tools necessary to build, test, and debug apps for Android
(----tools - DDMS,Emulator ----platforms - Android OS versions, ----platform-tools - ADB, ----API docs)

ToolKit: Could be ADT Bundle

Framework: Big library but more of architecture-oriented

凹づ凸ル 2025-01-01 14:40:30

换句话说...

IDE
即使记事本也是一个 IDE(不是 notepad.exe) - 您用来编写/编译代码的软件也是一个 IDE。

图书馆
一堆代码,简化了函数/方法以便快速使用。

API
您使用的功能/配置的编程接口,其用法通常有文档记录。

SDK
额外和/或用于开发/测试目的。

工具包
用于快速使用的小型应用程序,通常是 GUI。

图形用户界面
与 API 不同,具有图形界面的应用程序不需要编程知识。

框架
一堆 API/巨大的库/代码片段包装在命名空间中/或从外部范围封装以进行紧凑处理,而不与其他代码发生冲突。

MVC
一种针对大型应用程序分为模型、视图和控制器的设计模式。它们彼此不依赖,可以更改/改进/替换,而无需处理其他代码。

示例:

汽车(模型)
正在被处理的对象
提出。
IT 示例:HTML 表单。

相机(视图)
能够看到物体(汽车)的东西。
IT 中的示例:使用表单呈现网站的浏览器。

驾驶员(控制者)
驾驶那辆车的人。
IT 中的示例:处理正在提交的表单数据的函数。

片段
只有几行的小代码,可能并不完整,但值得快速分享。

插件
仅适用于指定框架/API/库的专有功能。

附加组件
用于特定 GUI 的附加模块或服务。

In other words...

IDE
Even notepad is an IDE (not notepad.exe) - Software you write/compile code with is an IDE.

Library
A bunch of code which simplifies functions/methods for quick use.

API
A programming interface for functions/configuration which you work with, its usage is often documented.

SDK
Extras and/or for development/testing purposes.

ToolKit
Tiny apps for quick use, often GUIs.

GUI
Apps with a graphical interface, requires no knowledge of programming unlike APIs.

Framework
Bunch of APIs/huge Library/Snippets wrapped in a namespace/or encapsulated from outer scope for compact handling without conflicts with other code.

MVC
A design pattern separated in Models, Views and Controllers for huge applications. They are not dependent on each other and can be changed/improved/replaced without to take care of other code.

Example:

Car (Model)
The object that is being
presented.
Example in IT: A HTML form.

Camera (View)
Something that is able to see the object(car).
Example in IT: Browser that renders a website with the form.

Driver (Controller)
Someone who drives that car.
Example in IT: Functions which handle form data that's being submitted.

Snippets
Small codes of only a few lines, may not be even complete but worth for a quick share.

Plug-ins
Exclusive functions for specified frameworks/APIs/libraries only.

Add-ons
Additional modules or services for specific GUIs.

淡水深流 2025-01-01 14:40:30

SDK代表软件开发工具包,IDE代表集成开发环境。 IDE是用来编写、编译、运行、调试的软件或程序,如Xcode。 SDK是IDE的底层引擎,包括应用程序需要访问的所有平台库。它比 IDE 更基础,因为它通常没有图形工具。

SDK represents to software development kit, and IDE represents to integrated development environment. The IDE is the software or the program is used to write, compile, run, and debug such as Xcode. The SDK is the underlying engine of the IDE, includes all the platform's libraries an app needs to access. It's more basic than an IDE because it doesn't usually have graphical tools.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文