Understanding the difference between an API (Application Programming Interface) and an SDK (Software Development Kit), and knowing when to provide each, is incredibly important for fostering a developer ecosystem. In the modern development landscape, these two tools and the synchronicity between them are the driving force behind web communication and the implementation of third party APIs.
Việc hiểu về sự khác nhau giữa một API (Application Programing Interface) và một SDK (Software Development Kit), và biết được khi nào cung cấp chúng, là thực sự quan trọng cho việc xây dựng một hệ sinh thái phát triển. Trong một bối cảnh phát triển hiện đại, có 2 công cụ và sự đồng bộ giữa chúng là việc đưa vào sau cộng đồng web và sự triển khai APIs bên thứ ba (hơi khó hiểu).
Accordingly, it helps to know what exactly we mean when we talk about APIs and SDKs. In this piece, we will attempt to create an inclusive definition of both concepts. We will give an example of each, explain how they interact with one another, and find how an API provider can effectively implement one or both of these tools to improve their offering and end developer usability.
Theo đó, nó giúp cho bạn hiểu chính xác khái niệm chúng ta nhắc tới khi nói về APIs và SDKs. Trong phần này, chúng ta sẽ cố gắng tạo ra 1 định nghĩa cuối cùng cho cả 2 khái niệm này. Chúng ta sẽ đưa ra 1 ví dụ cho từng khái niệm, giải thích cách chúng liên quan đến cái còn lại, và tìm ra cách một nhà cung cấp API có thể triển khai một cách hiệu quả 1 hoặc cả 2 công cụ này để cải thiện sự cung cấp và giải pháp cho nhà phát triển cuối của họ.
Define: API
An API is simply an interface that allows software to interact with other software. This is part of its name — API, Application Programming Interface — and is core to its functionality. Think of an API as a rosetta stone, a tablet by which two vastly different languages, two different instruction sets, can be translated and transferred for mutual understanding.
Một API thì đơn giản là một giao diện (interface) cho phép phần mềm tương tác với một phần mềm khác. Đây chính là 1 phần của tên gọi Application Programming Interface - và là chức năng chính của nó. Nghĩ về một API như là 1 viên đá rosetta, một bãng chữ bởi 2 ngôn ngữ hoàn toàn khác biệt, 2 bộ cấu trúc khác nhau, có thể được dịch và chuyển để có thể hiểu lẫn nhau.
Một API thì đơn giản là một giao diện (interface) cho phép phần mềm tương tác với một phần mềm khác. Đây chính là 1 phần của tên gọi Application Programming Interface - và là chức năng chính của nó. Nghĩ về một API như là 1 viên đá rosetta, một bãng chữ bởi 2 ngôn ngữ hoàn toàn khác biệt, 2 bộ cấu trúc khác nhau, có thể được dịch và chuyển để có thể hiểu lẫn nhau.
APIs come in many shapes and sizes. The browser that a reader would likely use to peruse the Nordic APIs website uses a variety of API sets in order to convert user commands into usable functions, request data from servers, render that data into a viewable format for the user, and validate the performance of their requests.
APIs thể hiện ở nhiều hình dạng và kích cỡ. Một trình duyệt sẽ thường sử dụng APIs để chuyển những mệnh lệnh của người dùng thành các phương thức sử dụng được, request dữ liệu từ những server, render những dữ liệu đó ra những màn hình cho người dùng, và hợp lệ hiệu năng những request của chúng.
APIs thể hiện ở nhiều hình dạng và kích cỡ. Một trình duyệt sẽ thường sử dụng APIs để chuyển những mệnh lệnh của người dùng thành các phương thức sử dụng được, request dữ liệu từ những server, render những dữ liệu đó ra những màn hình cho người dùng, và hợp lệ hiệu năng những request của chúng.
Even something as simple as copying and pasting on a computer utilizes an API. Copying text converts a keystroke into a command, data is stored into RAM on the clipboard utilizing an API, the data is then carried from one application to another using that same API, and finally, data is rendered when pasting using yet another API.
Ngay cả một vài việc đơn giản như sao chép hoặc dán trên máy tính cũng sử dụng 1 API. Sao chép văn bản chuyển một phím bấm thành một câu lệnh, dữ liệu được lưu trữ vào RAM trên một clipboard sử dụng API, dữ liệu sau đó được mang từ một ứng dụng sang một ứng dụng khác sử dụng cùng một API, cuối cùng, dữ liệu được render khi việc dán sử dụng một API khác.
Ngay cả một vài việc đơn giản như sao chép hoặc dán trên máy tính cũng sử dụng 1 API. Sao chép văn bản chuyển một phím bấm thành một câu lệnh, dữ liệu được lưu trữ vào RAM trên một clipboard sử dụng API, dữ liệu sau đó được mang từ một ứng dụng sang một ứng dụng khác sử dụng cùng một API, cuối cùng, dữ liệu được render khi việc dán sử dụng một API khác.
On the world wide web, the API takes on a slightly different function. Web APIs allow for interaction between disparate systems, often for specific use cases. For instance, when a user interacts on Twitter, they’re utilizing an API to comment, to store their data, to follow a user, to delete tweets, and so forth. Ultimately, a web API is simply a set of instructions, just like the personal computer API, but based in the web space.
Trên thế giới web, API gánh một chức năng hơi khác. Web APIs cho phép sự tương tác giữa những hệ thống khác nhau, thường xuyên cho những trường hợp cụ thể. Ví dụ, khi người dùng tương tác với Twitter, họ đang sử dụng một API để comment, lưu trữ dữ liệu, follow 1 người dùng, xoá tweets, ... Cuối cùng, một web API đơn giản là 1 tập những chỉ dẫn, kiểu như API máy tính cá nhân, nhưng base trên không gian web.
Trên thế giới web, API gánh một chức năng hơi khác. Web APIs cho phép sự tương tác giữa những hệ thống khác nhau, thường xuyên cho những trường hợp cụ thể. Ví dụ, khi người dùng tương tác với Twitter, họ đang sử dụng một API để comment, lưu trữ dữ liệu, follow 1 người dùng, xoá tweets, ... Cuối cùng, một web API đơn giản là 1 tập những chỉ dẫn, kiểu như API máy tính cá nhân, nhưng base trên không gian web.
Perhaps most important is the fact that APIs allow for consistency. In the early years of programming, the computer was a wild west of commands and instructions, loosely coded and rarely documented. With the advent of modern computing, APIs have allowed for consistent coding in stable environments, allowing for replicable functions to be delivered the same every time the request is submitted with reliability and predictability.
Có lẽ điều quan trọng nhất là sự thật thì APIs cho phép sự nhất quán. Những năm đầu của lập trình, máy tính là một miền tây hoang dã của những câu lệnh và chỉ dẫn, những đoạn code lỏng lẻo và ít khi được văn bản hoá. Với sự tiến lên cảu máy tính hiện đại, APIs đã cho phéo những đoạn mã nhất quán trong những môi trường ổn định, cho phép những chức năng có thể mở rộng được để được vận chuyển trong cùng mọi thời điểm yêu cầu được xác nhận với sự tin cậy và dự đoán được.
Define: SDK
SDK stands for “Software Development Kit”, which is a great way to think about it — a kit. Think about putting together a model car or plane. When constructing this model, a whole kit of items is needed, including the kit pieces themselves, the tools needed to put them together, assembly instructions, and so forth.
SDK viết tắt của "Software Development Kit", một cách tuyệt vời để nghĩ về nó - một bộ công cụ. Nghĩ về việc lắp ráp 1 xe mô hình hoặc máy bay. Khi cấu trúc mô hình này, toàn bộ một bộ những items đều cần thiết, bao gồm bộ những mảnh ghép, những công cụ cần thiết để ráp chúng lại, những bộ chỉ dẫn, ...
An SDK or devkit functions in much the same way, providing a set of tools, libraries, relevant documentation, code samples, processes, and or guides that allow developers to create software applications on a specific platform. If an API is a set of building blocks that allows for the creation of something, an SDK is a full-fledged workshop, facilitating creation far outside the scopes of what an API would allow.
Một SDK hay những chức năng devkit khá tương đồng, việc cung cấp một bộ các công cụ, thư viện, văn bản thích hợp, code samples, những quy trình, và hoặc những chỉ dẫn cho phép nhà phát triển tạo ra những ứng dụng trên một nền tảng cụ thể. Nếu một API là một tập những khối cho phép xây dựng nên một thứ gì đó, một SDK là một hội thảo đầy đủ, tạo điều kiện cho việc tạo ra bên ngoài phạm vị của những gì một API cho phép.
SDKs are the origination sources for almost every program a modern user would interact with. From the web browser you work on all the way to the video games you play at the end of the day, many were first built with an SDK, even before an API was used to communicate with other applications.
SDKs là những nguồn gốc của hầu hết mọi chương trình một người dùng hiện đại tương tác với. Từ web browser đến những video game, rất nhiều được xây dựng từ những SDK, kể cả trước khi một API được sử dụng để giao tiếp với những ứng dụng khác.
Squares and Rectangles
Part of the confusion behind the difference between APIs and SDKs is the fact that, more often than not, an SDK contains an API. In geometry, “rectangles” is inclusive of both rectangles and squares, whereas “squares” is inclusive only of squares.
Một phần của sự hoang mang đằng sau sự khác nhau giữa APIs và SDKs là sự thật thì, thường thì, một SDK chứa một API. Trong hình học, hình chữ nhật bao hàm cả hình chữ nhật và hình vuông trong khi hình vuông chỉ bao hàm hình vuông mà thôi.
The same is true with APIs and SDKs. By definition, an SDK is a kit that includes instructions that allows developers to create systems and develop applications. APIs, on the other hand, are purpose built for an express use — to allow communication between applications.
Tương tự với APIs và SDKs. Theo định nghĩa, 1 SDK là một bộ bao gồm những chỉ dẫn cho phép những nhà phát triển tạo ra những hệ thống và phát triển những ứng dụng. APIs, theo 1 cách khác, với mục đích xây dựng để cho phép kết nối giữa những ứng dụng.
It should be no surprise then that, when an SDK is used to create an application that has to communicate to other applications, it includes an API for this functionality. Inversely, an API is used for communication, but cannot be used solely to create a brand new application.
Thường không ngạc nhiên rằng, khi một SDK được sử dụng để tạo nên một ứng dụng liên kết đến một ứng dụng khác, nó bao gồm một API cho chức năng này. Ngược lại, một API được sử dụng cho việc liên kết, nhưng không thể một mình tạo nên một ứng dụng mới được.
Another way to understand this is to think in terms of houses. APIs are telephone lines, allowing for communication in and out of the house. The SDK is the house itself and all of its contents.
Một cách hiểu khác là việc nghĩ về một ngôi nhà. APIs là những đường dây điện thoại cho phép bạn giao tiếp vào và ra của ngôi nhà. SDK là chính ngôi nhà và tất cả các thành phần của nó.
Examples
Luckily, we have a great example of the difference between an API and an SDK in the Facebook suite of solutions. Because this suite provides tools for both active users and developers, it includes both an API and an SDK, each with different functionalities and use cases.
May mắn thay, chúng ta có một ví dụ tuyệt vời về sự khác biệt giữa API và SDK trong bộ giải pháp của Facebook. Bởi vì bộ giải pháp này cung cấp những công cụ cho cả người dùng và nhà phát triển, nó bao gồm cả một API và một SDK, mỗi cái ứng với chức năng và trương hợp sử dụng khác nhau.
Facebook APIs
Used internally and with third party application providers, the Facebook API allows for communication across the wide Facebook social platform, and utilizes the social connections and profile information data points of every Facebook user to conduct application functions.
Được sử dụng nội bộ và cùng với những nhà cung cấp ứng dụng thứ ba, facebook API cho phép cộng đồng sử dụng nền tảng mạng xã hội rộng lớn của mình, và sử dụng những kết nội xã hội, những trạm dữ liệu người dùng của tất cả người dùng Facebook để thao túng những hàm ứng dụng.
Được sử dụng nội bộ và cùng với những nhà cung cấp ứng dụng thứ ba, facebook API cho phép cộng đồng sử dụng nền tảng mạng xã hội rộng lớn của mình, và sử dụng những kết nội xã hội, những trạm dữ liệu người dùng của tất cả người dùng Facebook để thao túng những hàm ứng dụng.
These functions include pushing activity to “news feeds” and “profiles” on the main Facebook site, but also include third party application functions such as registering for external sites and subscribing to media outlets. Page, photo, event, friend, and group data is collected and collated and used to form meaningful and useful connections that increase the extensibility of the service.
Những phương thức bao gồm việc đẩy activity lên news feeds và profiles trên trang chính của Facebook, nhưng cũng bao gồm những phương thức ứng dụng của bên thứ 3 như là đăng ký một trang bên ngoài và theo dõi những đầu ra media. Dữ liệu về Trang, ảnh, Sự kiện, Friend, và group được thu thập và đối chiếu và được sử dụng để định hình những kết nối hữu dụng để tăng sự mở rộng của dịch vụ.
Những phương thức bao gồm việc đẩy activity lên news feeds và profiles trên trang chính của Facebook, nhưng cũng bao gồm những phương thức ứng dụng của bên thứ 3 như là đăng ký một trang bên ngoài và theo dõi những đầu ra media. Dữ liệu về Trang, ảnh, Sự kiện, Friend, và group được thu thập và đối chiếu và được sử dụng để định hình những kết nối hữu dụng để tăng sự mở rộng của dịch vụ.
The API also allows for the limiting of this data sharing on a per user basis, allowing for users to limit their profile content and the use thereof. This integrated security allows for extensive use of multiple data points and resources while still maintaining high privacy and security levels.
API cũng cho phép giới hạn việc chia sẻ dữ liệu trên từng người dùng cơ bản, cho phép những người dùng giới hạn nội dung profile của họ và việc sử dụng nó. Sự bảo vệ được tích hợp này cho phép sử dụng sâu rộng của nhiều điểm dữ liệu và tài nguyên trong khi vẫn đảm bảo những cấp độ bảo vệ và riêng tư cao.
API cũng cho phép giới hạn việc chia sẻ dữ liệu trên từng người dùng cơ bản, cho phép những người dùng giới hạn nội dung profile của họ và việc sử dụng nó. Sự bảo vệ được tích hợp này cho phép sử dụng sâu rộng của nhiều điểm dữ liệu và tài nguyên trong khi vẫn đảm bảo những cấp độ bảo vệ và riêng tư cao.
The functionality of this API extends beyond internal usage, however. One of the greatest strengths of the API is the tie-in to the Graph API Explorer. This service allows for the observation of relational data between users, photos, accounts, feeds, and more. This sort of analytic generation is incredibly powerful — as we’ve previously stated, metrics is one of the most powerful assets an API provider can have.
Những chức năng của API này mở rộng ra bên ngoài việc sử dụng nội bộ. Một trong những sức mạnh lớn nhất của API là gắn chặt với Graph API Explorer. Dịch vụ này cho phép việc lắng nghe dữ liệu liên quan giữa người dùng, ảnh, tài khoản, feed và nhiều hơn nữa. Việc sắp xếp của thế hệ phân tích thì cưc kỳ mạnh như chúng ta đã định hình trước, số liệu là một trong những tài sản mạnh mẹ nhất một nhà cung cấp API có thể cung cấp.
Những chức năng của API này mở rộng ra bên ngoài việc sử dụng nội bộ. Một trong những sức mạnh lớn nhất của API là gắn chặt với Graph API Explorer. Dịch vụ này cho phép việc lắng nghe dữ liệu liên quan giữa người dùng, ảnh, tài khoản, feed và nhiều hơn nữa. Việc sắp xếp của thế hệ phân tích thì cưc kỳ mạnh như chúng ta đã định hình trước, số liệu là một trong những tài sản mạnh mẹ nhất một nhà cung cấp API có thể cung cấp.
Here we see a sample API issuance. In this call, the API is used to request a user’s photo, the URL the photo generates, and all the people tagged in the photo. While this is a rather simple use, consider the possibilities — a restaurant manager or even host could use this API call to generate a list of users in a photo shot at a specific engagement, generating a list of social accounts they can reach out to for further publicity or promotion. Try doing that without the API!
Ở đây chúng ta nhìn 1 ví dụ sử dụng API. Trong việc gọi này, API được sử dụng để yêu cầu một bức ảnh của người dùng, URL của nó, và tất cả people được tag trong ảnh. Trong khi đó chỉ là một ví dụ đơn giản, cân nhắc những khả năng, một quản lý nhà hàng hoặc tổ chức sự kiện có thể sử dụng API này để lấy một danh sách người dùng trong một bức ảnh ở một sự gắn kết cụ thể, lấy ra được một danh sách những tài khoản họ có thể tiếp cận cho việc quảng bá xa hơn. Thử làm điều mà không dùng API.
Ở đây chúng ta nhìn 1 ví dụ sử dụng API. Trong việc gọi này, API được sử dụng để yêu cầu một bức ảnh của người dùng, URL của nó, và tất cả people được tag trong ảnh. Trong khi đó chỉ là một ví dụ đơn giản, cân nhắc những khả năng, một quản lý nhà hàng hoặc tổ chức sự kiện có thể sử dụng API này để lấy một danh sách người dùng trong một bức ảnh ở một sự gắn kết cụ thể, lấy ra được một danh sách những tài khoản họ có thể tiếp cận cho việc quảng bá xa hơn. Thử làm điều mà không dùng API.
Graph API isn’t the only API in town, either. Facebook also provides the Marketing API, designed specifically to allow brands to craft engaging and effective social campaigns for their products.
Graph API không phải chỉ là API đơn giản. Facebook cũng cung cấp API Marketing, được thiết kế đặc biệt cho phép những thương hiệu để đạt được sự gắn kết và những chiến dịch xã hội đầy ảnh hưởng cho sản phẩm của họ.
Graph API không phải chỉ là API đơn giản. Facebook cũng cung cấp API Marketing, được thiết kế đặc biệt cho phép những thương hiệu để đạt được sự gắn kết và những chiến dịch xã hội đầy ảnh hưởng cho sản phẩm của họ.
This API not only shows how powerful the Facebook platform is, but how powerful properly structured API design can be. Because the Marketing API primarily drives advertising campaigns, the structural design reflects this purpose, and is laid out in such a way as to inspire proper campaign design as a secondary benefit.
API này không chỉ biểu thị nền tảng Facebook mạnh thế nào, mà còn là sự mạnh mẽ của việc thiết kế API được cấu trúc có thể làm được. Bởi vì Marketing API cơ bản đưa những chiến dịch quảng cáo, việc thiết kế cấu trúc phản chiếu mục đích này, và được đặt ngoài theo cách để tạo một thiết kế chiến dịch ngon lành hơn như một lợi ích thứ hai.
API này không chỉ biểu thị nền tảng Facebook mạnh thế nào, mà còn là sự mạnh mẽ của việc thiết kế API được cấu trúc có thể làm được. Bởi vì Marketing API cơ bản đưa những chiến dịch quảng cáo, việc thiết kế cấu trúc phản chiếu mục đích này, và được đặt ngoài theo cách để tạo một thiết kế chiến dịch ngon lành hơn như một lợi ích thứ hai.
The benefit of this structure can be seen in how the Marketing API deals with optimized effective CPM. CPM, or “cost per mille”, is a concept wherein actions are given a value and interaction is given a cost. These costs can be best optimized by the advertiser to prioritize marketing goals and deliver ads in the most effective and efficient way possible.
Lợi ích của cấu trúc này có thể nhìn thấy ở việc làm thế nào Marketing API giao kèo với CPM có sức ảnh hưởng được tối ưu (-.-). CPM, hay "cost per mile", là một định nghĩa cho những hành động cho đi 1 giá trị và sự tương tác này có 1 cái giá. Những giá này có thể được tối ưu tốt nhất cho nhà quảng cáo để ưu tiên mục đích marketing và đưa quảng cáo tốt nhất và hiệu quả nhất có thể.
Lợi ích của cấu trúc này có thể nhìn thấy ở việc làm thế nào Marketing API giao kèo với CPM có sức ảnh hưởng được tối ưu (-.-). CPM, hay "cost per mile", là một định nghĩa cho những hành động cho đi 1 giá trị và sự tương tác này có 1 cái giá. Những giá này có thể được tối ưu tốt nhất cho nhà quảng cáo để ưu tiên mục đích marketing và đưa quảng cáo tốt nhất và hiệu quả nhất có thể.
In this example, the Marketing API has created a campaign that can be bid upon under constraints set up by the campaign budget values. This dynamic bidding makes for a very powerfully optimized system that captures the highest-value impressions and establishes a value that makes sure the ROI ratio of input to expense isn’t exceeded.
Trong ví dụ này, Marketing API tạo 1 chiến dịch có thể được trả tới dưới một mức độ được set up bởi những giá trị ngân sách của chiến dịch. Việc trả giá động này tạo ra một hệ thống tối ưu mạnh mẽ, bắt được những sự ấn tương và sự hoàn thành giá trị ở mức cao nhất, đảm bảo cho việc tiêu sài không bị vượt quá.
Trong ví dụ này, Marketing API tạo 1 chiến dịch có thể được trả tới dưới một mức độ được set up bởi những giá trị ngân sách của chiến dịch. Việc trả giá động này tạo ra một hệ thống tối ưu mạnh mẽ, bắt được những sự ấn tương và sự hoàn thành giá trị ở mức cao nhất, đảm bảo cho việc tiêu sài không bị vượt quá.
A dynamic bidding system allows for the best return on the dollar — this is the power of a properly crafted API, allowing for complex interactions and manipulations above and beyond what any portal or internal page could deliver on its own.
Một hệ thống trả giá động cho phép trả lại tốt nhất tiền - đây là sức mạnh của một API sáng tạo tốt hơn, cho phép những tương tác phức tạp và những sự vận dụng ở trên và vượt ra bất cứ cổng hay trang nào có thể chuyển tới trên chính nó.
Một hệ thống trả giá động cho phép trả lại tốt nhất tiền - đây là sức mạnh của một API sáng tạo tốt hơn, cho phép những tương tác phức tạp và những sự vận dụng ở trên và vượt ra bất cứ cổng hay trang nào có thể chuyển tới trên chính nó.
Facebook SDKs
We can see the main difference between SDKs and APIs in their expressed functions. While the previously mentioned APIs are clearly designed for interaction between applications and campaigns or other applications, the SDKs provided by Facebook are clearly designed for the creation of these applications.
Chúng ta có thể nhìn thấy sự khác nhau cơ bản giữa SDKs và APIs trong những chức năng được giải thích của chúng. Trong khi vừa đề cập API được thiết kế 1 cách rõ ràng cho việc tương tác giữa các ứng dụng và chiến dịch, hoặc những ứng dụng khác nhau, những SDK được cung cấp bởi Facebook thì rõ ràng thiết kế cho việc tạo ra những ứng dụng này.
Chúng ta có thể nhìn thấy sự khác nhau cơ bản giữa SDKs và APIs trong những chức năng được giải thích của chúng. Trong khi vừa đề cập API được thiết kế 1 cách rõ ràng cho việc tương tác giữa các ứng dụng và chiến dịch, hoặc những ứng dụng khác nhau, những SDK được cung cấp bởi Facebook thì rõ ràng thiết kế cho việc tạo ra những ứng dụng này.
Let’s look at the Facebook SDK for iOS. Designed specifically to allow for the development of Facebook applications for iOS, the SDK is fully featured, allowing for a multitude of functions to be defined and called.
Chúng ta có thể nhìn vào Facebook SDK cho iOS. Được thiết kế đặc biệt để cho phép việc phát triển những ứng dụng Facebook cho iOS, SDK thì đầy đủ các tính năng, cho phép vô số những chức năng được định nghĩa và gọi tới.
Chúng ta có thể nhìn vào Facebook SDK cho iOS. Được thiết kế đặc biệt để cho phép việc phát triển những ứng dụng Facebook cho iOS, SDK thì đầy đủ các tính năng, cho phép vô số những chức năng được định nghĩa và gọi tới.
As a basic example, the following code snippet is from the SDK reference guide for iOS:
Một ví dụ đơn giản, đoạn code dưới đây được trích từ một tài liệu hướng dẫn sử dụng SDK cho iOS:
Một ví dụ đơn giản, đoạn code dưới đây được trích từ một tài liệu hướng dẫn sử dụng SDK cho iOS:
This example allows for the logging of application activations, and is thus one of the more basic possible examples to provide. Nonetheless, one can see the difference between an API and SDK in the basic structure of the calls. While the API calls existent sources and functions to perform an action already defined, the SDK is used to first define this function and to create a way to call the source and function.
Ví dụ này cho phép việc kích hoạt ứng dụng, và là nhiều ví dụ đơn giản khác nữa. Dù sao, ta có thể nhìn thấy sự khác nhau giữa API và SDK trong cấu trúc cơ bản của những lời gọi tới. Trong khi API gọi tới những nguồn và phương thức cơ bản để thực hiện một hành động đã được định nghĩa, SDK được sử dụng để trước tiên định nghĩa những chức năng này và để tạo ra 1 cách gọi đến nguồn và chức năng.
Ví dụ này cho phép việc kích hoạt ứng dụng, và là nhiều ví dụ đơn giản khác nữa. Dù sao, ta có thể nhìn thấy sự khác nhau giữa API và SDK trong cấu trúc cơ bản của những lời gọi tới. Trong khi API gọi tới những nguồn và phương thức cơ bản để thực hiện một hành động đã được định nghĩa, SDK được sử dụng để trước tiên định nghĩa những chức năng này và để tạo ra 1 cách gọi đến nguồn và chức năng.
The Android SDK is much the same, but translated into the language of the Android OS. Further changes can be seen in the Web SDKs, such as the JavaScript SDK, which utilizes JavaScript to perform the same basic function building as the iOS and Android SDKs.
Android SDK thì tương tự, nhưng được dịch ra ngôn ngữ của hệ điều hành Android. Những thay đổi xa hơn có thể nhìn thấy trong Web SDKs, như là JavaScript SDK, cái mà sử dụng JaveScript để thực hiện việc xây dựng những chức năng cơ bản như iOS và Android SDK.
Android SDK thì tương tự, nhưng được dịch ra ngôn ngữ của hệ điều hành Android. Những thay đổi xa hơn có thể nhìn thấy trong Web SDKs, như là JavaScript SDK, cái mà sử dụng JaveScript để thực hiện việc xây dựng những chức năng cơ bản như iOS và Android SDK.
The SDK is the building blocks of the application, whereas the API is the language of its requests. This is an apt description, “building blocks”, which is made abundantly obvious when one looks at what an SDK contains. Libraries from which to build functionality, code samples for increased understanding and easier implementation, and references for easy linking and explanations — without any of these, an application or service might be functional, but it certainly would be severely hampered.
SDK là những khối xây dựng của ứng dụng, trong khi đó API là ngôn ngữ của những request của nó. Một mô tả thích hợp, "building blocks", nghĩa là tạo ra một cách dồi dào chắc chắn khi nhìn vào cái 1 SDK chứa đựng. Những thư viện từ cái để xây dựng những chức năng, nhưng code samples để tăng sự hiểu và dễ dàng cài đặt, và những references cho việc liên hệ dễ dàng và những định nghĩa - không có bất cứ gì trong số chúng, một ứng dụng hoặc dịch vụ có thể là chức năng, nhưng nó chắc chắn sẽ bị cản trở.
SDK là những khối xây dựng của ứng dụng, trong khi đó API là ngôn ngữ của những request của nó. Một mô tả thích hợp, "building blocks", nghĩa là tạo ra một cách dồi dào chắc chắn khi nhìn vào cái 1 SDK chứa đựng. Những thư viện từ cái để xây dựng những chức năng, nhưng code samples để tăng sự hiểu và dễ dàng cài đặt, và những references cho việc liên hệ dễ dàng và những định nghĩa - không có bất cứ gì trong số chúng, một ứng dụng hoặc dịch vụ có thể là chức năng, nhưng nó chắc chắn sẽ bị cản trở.
Of key interest is the fact that our analogy still holds — the API references existing functions and calls, while the SDK calls the API. See this following example code from the SDK reference guide:
Cái điều thú vị nhất là sự thật rằng sự giống nhau thì vẫn còn đó - API bao gồm những hàm và lời gọi sẵn có, trong khi SDK gọi đến API. Nhìn đoạn code sau trong hướng dẫn sử dụng SDK:
Cái điều thú vị nhất là sự thật rằng sự giống nhau thì vẫn còn đó - API bao gồm những hàm và lời gọi sẵn có, trong khi SDK gọi đến API. Nhìn đoạn code sau trong hướng dẫn sử dụng SDK:
This code creates a share dialog that pops up over the application page when an action is performed, and publishes an Open Graph action which can then be tied into the greater ecosystem and used to generate complex relationships and metric data.
Đoạn code này tạo ra một share dialog hiện lên trang web khi một hành động được thực hiện, và xuất bản một Open Graph action có thể sau đó được gắn chặt vào hệ sinh thái lớn hơn và được sử dụng để sinh ra những mối quan hệ phức tạp và dữ liệu toán học.
Đoạn code này tạo ra một share dialog hiện lên trang web khi một hành động được thực hiện, và xuất bản một Open Graph action có thể sau đó được gắn chặt vào hệ sinh thái lớn hơn và được sử dụng để sinh ra những mối quan hệ phức tạp và dữ liệu toán học.
Apples and Oranges
Realistically, the comparison between API and SDK is often confusing only because of how far they overlap — a problem only complicated with the addition of new methodologies for organization and segmentation, such as Docker containers, which require their own specific API and SDK documentations. To simplify the concept, remember the following:
Thực sự thì, so sánh giữa API và SDK thường xuyên bối rối chỉ vì phạm vi chúng trùng lặp nhau - một vấn đề chỉ phức tạp với sự thêm vào của những phương pháp luần mới cho sự tổ chức và phân đoạn, ví dụ như Docker containers, thứ yêu cầu những văn bản đặc tả API và SDK của chính nó.
Thực sự thì, so sánh giữa API và SDK thường xuyên bối rối chỉ vì phạm vi chúng trùng lặp nhau - một vấn đề chỉ phức tạp với sự thêm vào của những phương pháp luần mới cho sự tổ chức và phân đoạn, ví dụ như Docker containers, thứ yêu cầu những văn bản đặc tả API và SDK của chính nó.
- SDKs usually APIs; no APIs contain SDKs.
- SDKs allow for the creation of applications, as a foundation allows for the creation of a house;
- APIs allow for the functioning of applications within the SDKs defined parameters, like the phone lines of a house.
- SDKs thường chứa APIs, nhưng không APIs nào chứa SDKs.
- SDKs cho phép tạo nên ứng dụng, như 1 nền tảng cho phép tạo ra 1 ngôi nhà.
- APIs cho phép chức năng của những ứng dụng cùng với những parameter được định nghĩa của SDK, như đường dây điện thoại của một ngôi nhà.
With this basic understanding, and a few key code examples, the difference between SDKs and APIs should now be obvious.
Với sự hiểu cơ bản này, và một số đoạn mã ví dụ chính, sự khác biệt giữa SDK và API giờ đã sáng tỏ.
Với sự hiểu cơ bản này, và một số đoạn mã ví dụ chính, sự khác biệt giữa SDK và API giờ đã sáng tỏ.