Chính xác ý nghĩa của API là gì? [đóng cửa]


164

Tôi đã tìm kiếm định nghĩa của API bằng ngôn ngữ lập trình và tôi vẫn thấy khó hiểu.

Bất cứ ai có thể tư vấn cho tôi trong các điều khoản đơn giản, cư sĩ:

  1. API là gì?
  2. Nó được sử dụng như thế nào?
  3. Khi nào và ở đâu nó được sử dụng?

7
Bạn đã thử FOLDOC trước chưa? Foldoc.org/API Định nghĩa của họ có vẻ khá "cư sĩ" đối với tôi.
Ray Toal

@pst Tôi đã chấp nhận rằng OP đã xem Wikipedia vì ai không kiểm tra Wikipedia? Sai lầm châm biếm về khả năng sử dụng định nghĩa năm 1995 của FOLDOC trước khi kiểm tra Wikipedia. Tôi có nên xóa bình luận?
Ray Toal

Nếu bạn đang tìm kiếm một lời giải thích cho giáo dân, hãy thử: welcomeetosoftware.com/what-is-an-api (từ chối trách nhiệm: Tôi đã viết nó)
Sam Malayek

Câu trả lời:


129

Các tìm kiếm nên bao gồm Wikipedia, điều này tốt đáng ngạc nhiên đối với một số khái niệm / thuật ngữ lập trình, chẳng hạn như Giao diện lập trình ứng dụng :

API là gì?

Giao diện lập trình ứng dụng (API) là một bộ quy tắc cụ thể ('mã') và thông số kỹ thuật mà các chương trình phần mềm có thể tuân theo để giao tiếp với nhau . Nó phục vụ như một giao diện giữa các chương trình phần mềm khác nhau và tạo điều kiện cho sự tương tác của chúng, tương tự như cách giao diện người dùng tạo điều kiện cho sự tương tác giữa con người và máy tính.

Nó được sử dụng như thế nào?

Cùng một cách bất kỳ bộ quy tắc được sử dụng.

Khi nào và ở đâu nó được sử dụng?

Một cách tự nhiên phụ thuộc vào lĩnh vực và API. Hãy xem xét những điều này:

  1. Bộ hướng dẫn x86 (IA-32) (rất hữu ích ;-)
  2. Một cuộc gọi ngắt BIOS
  3. OpenGL thường được trưng bày dưới dạng thư viện C
  4. Các cuộc gọi hệ thống Windows lõi: WinAPI
  5. Các lớp học và phương thức trong thư viện cốt lõi của Ruby
  6. Các Document Object Model tiếp xúc bởi các trình duyệt JavaScript
  7. Các dịch vụ web , chẳng hạn như các dịch vụ được cung cấp bởi API đồ thị của Facebook
  8. Việc triển khai một giao thức như JNI trong Java

Chúc mừng mã hóa.


4
+1 về cách gọi "tốt đáng kinh ngạc". Đối với máy tính, Wikipedia là đỉnh. Một số người có thể nhớ so sánh Wikipedia và Britannica theo Tự nhiên: '' 'Theo Tạp chí Phố Wall: "[Wales] nói rằng ông rất vui vì thiên nhiên đã chọn so sánh các chủ đề liên quan đến khoa học' bởi vì về lịch sử và khoa học xã hội, chúng ta rất nhiều yếu hơn.' Trong các lĩnh vực khác - bao gồm khoa học máy tính và lịch sử của 'Star Trek,' anh nói - Wikipedia là 'cách tốt hơn.' "'' '(Từ Dailybarometer.com/forum/ trộm )
Ray Toal

2
@ user166390 mục wikipedia trên api bây giờ khá tệ ... Tôi viết apis và mục đó thực sự làm tôi bối rối. điều tốt là bạn đã trích dẫn những gì bạn đã làm, vì nó rõ ràng đã trở nên tồi tệ hơn nhiều.
eric

Tôi muốn hỏi là tập tin php được đưa vào url của yêu cầu ajax một API? Hoặc có thể chính yêu cầu ajax đã là API chưa?
Hồi sinh Brownman 20/03/2015

API cũng được sử dụng cho Internet vạn vật phải không? Hoặc làm thế nào để các thiết bị IoT gửi và nhận dữ liệu?
Pathros

57

API là giao diện thông qua đó bạn truy cập mã của ai đó hoặc thông qua đó mã của người khác truy cập vào mã của bạn. Trong thực tế các phương pháp và tính chất công cộng.


4
Câu cuối cùng đó rất đáng chú ý và có thể được mở rộng khi ...
tumultous_rooster

45

1) API là gì?

API là một hợp đồng. Một lời hứa để thực hiện các dịch vụ được mô tả khi được hỏi theo những cách cụ thể.

2) Nó được sử dụng như thế nào?

Theo các quy tắc quy định trong hợp đồng. Toàn bộ quan điểm của API là xác định cách sử dụng.

3) Khi nào và ở đâu nó được sử dụng?

Nó được sử dụng khi 2 hoặc nhiều hệ thống riêng biệt cần phối hợp với nhau để đạt được điều gì đó mà họ không thể làm một mình.


44

Vâng, ngoài tất cả các câu trả lời, tôi chỉ thêm một ví dụ.

Như những người khác nói API stands for Application Programming Interfacequa đó softwares can interact with each other. Lưu ý, không phải là một tương tác của con người.

Nó được sử dụng ở đâu

Một ví dụ: Bạn đang mua một mặt hàng trực tuyến thông qua thẻ tín dụng của bạn. Bạn sẽ cung cấp chi tiết thẻ tín dụng và nhấn nút 'tiếp tục'. Nó sẽ cho bạn biết thông tin của bạn là chính xác hay không. Để cung cấp những kết quả này, có rất nhiều thứ trong nền.

Ứng dụng sẽ gửi chi tiết thẻ tín dụng của bạn đến một ứng dụng từ xa sẽ xác thực thông tin của bạn và gửi lại kết quả cho ứng dụng của bạn. API được sử dụng trong kịch bản này.

Tôi hy vọng nó giúp ích cho những người mới bắt đầu không hiểu API thực sự là gì.

MỘT VI DỤ KHAC

Ứng dụng thời tiết

Không có API - Ứng dụng thời tiết phải mở trang web Weather.com và đọc thông tin chi tiết như con người.

Với API - Ứng dụng thời tiết sẽ gửi tin nhắn đến Weather.com và nhận kết quả và sau đó hiển thị nó.

NGUỒN - Tài nguyên trực tuyến khác nhau


2
Giải thích rõ ràng với ví dụ hàng ngày Thanku rất nhiều sẽ hữu ích cho những người mới như tôi
sai

Vì vậy, trong trường hợp này, API là Weather.com gửi dữ liệu về các yêu cầu của tôi? hoặc API là ứng dụng của tôi gửi yêu cầu, nhận dữ liệu và hiển thị theo cách nào đó? hoặc API là mối quan hệ của cả Weather.com và ứng dụng của tôi?
Paweł

1
API @ Paweł sẽ là ứng dụng yêu cầu dữ liệu
Gibbs

@ Paweł Hãy nghĩ về nó theo cách này: Có hai giao diện cho một ứng dụng. Đầu tiên, UI (giao diện) cho người dùng. Thứ hai, là API (giao diện) cho một chương trình ứng dụng khác. Do đó, API giữa ứng dụng thời tiết và Weather.com là Weather.com.
vpibano

15
  1. API (Giao diện lập trình ứng dụng) là một tập hợp các chức năng và phương thức được xác định để giao tiếp với hệ điều hành cơ bản hoặc một chương trình hoặc dịch vụ khác đang chạy trên máy tính.

  2. Nó thường được sử dụng bằng cách thiết lập một tham chiếu đến thư viện trong phần mềm của bạn hoặc nhập một chức năng từ một dll.

  3. Nó được sử dụng ở dạng này hay dạng khác trong hầu hết tất cả các phần mềm, được gọi rõ ràng trong chương trình của bạn hoặc được trình biên dịch gọi một cách ngầm định.


10

API là viết tắt của Giao diện lập trình ứng dụng, tức là API là cách để ứng dụng tương tác với hệ thống / ứng dụng / thư viện / v.v.

Ví dụ: có API dành cho HĐH (WinAPI), API dành cho các ứng dụng khác (như cơ sở dữ liệu) và cho các thư viện cụ thể (ví dụ: xử lý hình ảnh), v.v.

API thường được phát triển dưới dạng tiêu thụ bởi ứng dụng khách. Đối với các ứng dụng C / C ++, nó là tập tin tiêu đề và thư viện động / tĩnh. Đối với Java - bộ lọ. Và như thế.


API cũng được sử dụng cho Internet vạn vật phải không? Làm thế nào để các thiết bị IoT gửi và nhận dữ liệu?
Pathros

7

Nó là một tập hợp các thành phần phần mềm tương tác với nhau. Nó cung cấp một tập hợp các hàm, biến và các lớp đối tượng để tạo ra một ứng dụng, hệ điều hành hoặc bất kỳ thứ gì khác.


6

Theo cách nói của giáo dân, tôi luôn nói rằng API giống như một người dịch giữa hai người nói các ngôn ngữ khác nhau. Trong phần mềm, dữ liệu có thể được tiêu thụ hoặc phân phối bằng API (hoặc trình dịch) để hai loại phần mềm khác nhau có thể giao tiếp. Phần mềm tốt có trình biên dịch mạnh (API) tuân theo các quy tắc và giao thức để bảo mật và sạch dữ liệu.

Tôi là một Marketer, không phải là một lập trình viên. Tất cả điều này có thể không hoàn toàn đúng, nhưng đó là những gì tôi đã cố gắng thể hiện trong khoảng 10 năm nay ...


5

API là một tập hợp các lệnh, chức năng và giao thức mà các lập trình viên có thể sử dụng khi xây dựng phần mềm cho một hệ điều hành cụ thể hoặc bất kỳ phần mềm nào khác. API cho phép lập trình viên sử dụng các chức năng được xác định trước để tương tác với hệ điều hành, thay vì viết chúng từ đầu. Tất cả các hệ điều hành máy tính, như Windows, Unix và Mac OS và ngôn ngữ như Java cung cấp giao diện chương trình ứng dụng cho các lập trình viên.

Nguồn


5

Trả lời tình huống này:

Mark và Lisa bí mật là một cặp vợ chồng, và vì chênh lệch tuổi tác, họ không được phép ở bên nhau. Mark và Lisa gặp nhau mỗi đêm khi không ai xem. Họ đã thiết lập các quy tắc riêng của họ làm thế nào để hài hước khi thời gian đến. Anh đứng trong vườn của cô và ném hòn đá nhỏ vào cửa sổ của cô. Lisa biết rằng đã đến lúc và trả lời bằng cách vẫy tay từ cửa sổ và mở nó sau đó để Mark có thể trèo vào. Đó là ví dụ về cách API hoạt động. Đá là yêu cầu ban đầu để kết thúc khác. Một sóng kết thúc khác, mở ra cửa sổ có nghĩa cơ bản là "Chào mừng bạn đến!".

API gần giống như ngôn ngữ của con người nhưng dành cho máy tính.


3

API xác định các giao diện mà một phần mềm giao tiếp với nhau ở cấp nguồn. Nó cung cấp sự trừu tượng hóa bằng cách cung cấp một bộ giao diện tiêu chuẩn - thường là các chức năng - mà một phần mềm (thường là một phần cấp cao hơn) có thể gọi từ một phần mềm khác (thường là một phần mềm cấp thấp hơn).

Ví dụ: API có thể trừu tượng hóa khái niệm vẽ văn bản trên màn hình thông qua một nhóm các hàm cung cấp mọi thứ cần thiết để vẽ văn bản. API chỉ xác định giao diện; phần mềm thực sự cung cấp API được gọi là triển khai API.

Người ta thường gọi API là "hợp đồng". Điều này không đúng, ít nhất là theo nghĩa pháp lý của thuật ngữ này, vì API không phải là thỏa thuận hai chiều. Người dùng API (nói chung, phần mềm cấp cao hơn) không có đầu vào vào API và việc triển khai API. Nó có thể sử dụng API nguyên trạng hoặc hoàn toàn không sử dụng API: lấy nó hoặc bỏ nó!

Một ví dụ thực tế về API là các giao diện được xác định bởi tiêu chuẩn C và được thư viện C chuẩn thực hiện. API này xác định một nhóm các chức năng cơ bản và thiết yếu, chẳng hạn như quản lý bộ nhớ và các thói quen thao tác chuỗi.


0

Hãy nói rằng bạn đang phát triển một trò chơi và bạn muốn người dùng trò chơi đăng nhập hồ sơ facebook của họ (để lấy thông tin hồ sơ của bạn) trước khi chơi, vậy trò chơi của bạn sẽ truy cập facebook như thế nào? Bây giờ đến đây API.Facebook đã viết chương trình (API) để bạn thực hiện, bạn chỉ cần sử dụng các chương trình đó trong ứng dụng trò chơi của mình. Sử dụng Facebook-API bạn có thể sử dụng dịch vụ của họ trong ứng dụng của mình. và xem chi tiết về API ... http://money.how wareworks.com/business-cransiances/how-to-leenses-an-api-for-conferences1.htm


3
Và Bạn không thực sự nói là nó ...:} Và nó không giống như một chương trình, nhưng chỉ cần một giao diện. Cách đối phó với một số chương trình.
Kamiccolo

-1

Giao diện chương trình ứng dụng (API) là một tập hợp các thói quen, giao thức và công cụ để xây dựng các ứng dụng phần mềm. API chỉ định cách các thành phần phần mềm nên tương tác và API được sử dụng khi lập trình các thành phần giao diện người dùng đồ họa (GUI). Một API tốt giúp phát triển chương trình dễ dàng hơn bằng cách cung cấp tất cả các khối xây dựng. Một lập trình viên sau đó đặt các khối lại với nhau.

nguồn: http://www.webopedia.com/TERM/A/API.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.