API là gì?

Mục lục:

API là gì?
API là gì?

Video: API là gì?

Video: API là gì?
Video: Installing the Full Kubuntu Desktop in Ubuntu 18 04 - YouTube 2024, Tháng tư
Anonim
Bạn có thể thấy thuật ngữ “API” xuất hiện. Hệ điều hành, trình duyệt web và cập nhật ứng dụng thường công bố các API mới cho nhà phát triển. Nhưng API là gì?
Bạn có thể thấy thuật ngữ “API” xuất hiện. Hệ điều hành, trình duyệt web và cập nhật ứng dụng thường công bố các API mới cho nhà phát triển. Nhưng API là gì?

Giao diện lập trình ứng dụng

Thuật ngữ API là từ viết tắt và là viết tắt của “Giao diện lập trình ứng dụng”.

Hãy nghĩ về một API như một thực đơn trong một nhà hàng. Thực đơn cung cấp một danh sách các món ăn bạn có thể đặt hàng, cùng với một mô tả của từng món ăn. Khi bạn chỉ định các mục menu bạn muốn, nhà bếp của nhà hàng sẽ thực hiện công việc và cung cấp cho bạn một số món ăn đã hoàn thành. Bạn không biết chính xác cách thức nhà hàng chuẩn bị thức ăn đó và bạn không thực sự cần.

Tương tự, một API liệt kê một loạt các hoạt động mà các nhà phát triển có thể sử dụng, cùng với một mô tả về những gì họ làm. Nhà phát triển không nhất thiết phải biết cách, ví dụ: hệ điều hành xây dựng và trình bày hộp thoại “Lưu dưới dạng”. Họ chỉ cần biết rằng nó có sẵn để sử dụng trong ứng dụng của họ.

Đây không phải là ẩn dụ hoàn hảo, vì nhà phát triển có thể phải cung cấp dữ liệu của riêng họ cho API để có kết quả, vì vậy có lẽ nó giống như một nhà hàng ưa thích nơi bạn có thể cung cấp một số nguyên liệu của riêng mình mà nhà bếp sẽ làm việc.

Nhưng nó hoàn toàn chính xác. API cho phép nhà phát triển tiết kiệm thời gian bằng cách tận dụng lợi thế của việc triển khai nền tảng để thực hiện công việc nitty-gritty. Điều này giúp giảm số lượng nhà phát triển mã cần tạo và cũng giúp tạo sự nhất quán hơn trên các ứng dụng cho cùng một nền tảng. API có thể kiểm soát quyền truy cập vào tài nguyên phần cứng và phần mềm.

API giúp cuộc sống dễ dàng hơn cho nhà phát triển

Giả sử bạn muốn phát triển ứng dụng cho iPhone. Hệ điều hành iOS của Apple cung cấp một số lượng lớn các API - như mọi hệ điều hành khác đều làm - để làm cho điều này dễ dàng hơn đối với bạn.

Ví dụ: nếu bạn muốn nhúng trình duyệt web để hiển thị một hoặc nhiều trang web, bạn không phải lập trình trình duyệt web của riêng bạn từ đầu cho ứng dụng của bạn. Bạn sử dụng API WKWebView để nhúng đối tượng trình duyệt WebKit (Safari) vào ứng dụng của bạn.

Nếu bạn muốn chụp ảnh hoặc quay video từ máy ảnh của iPhone, bạn không phải viết giao diện máy ảnh của riêng mình. Bạn sử dụng API camera để nhúng máy ảnh tích hợp của iPhone trong ứng dụng của bạn. Nếu các API không tồn tại để thực hiện điều này dễ dàng, nhà phát triển ứng dụng sẽ phải tạo phần mềm máy ảnh của riêng họ và giải thích các yếu tố đầu vào của phần cứng máy ảnh. Nhưng các nhà phát triển hệ điều hành của Apple đã thực hiện tất cả công việc khó khăn này để các nhà phát triển chỉ có thể sử dụng API camera để nhúng máy ảnh và sau đó tiếp tục xây dựng ứng dụng của họ. Và, khi Apple cải thiện API camera, tất cả các ứng dụng dựa vào nó sẽ tận dụng lợi thế của cải tiến đó một cách tự động.

Điều này áp dụng cho mọi nền tảng. Ví dụ, bạn có muốn tạo một hộp thoại trên Windows không? Có một API cho điều đó. Bạn muốn hỗ trợ xác thực vân tay trên Android? Có một API cho điều đó, vì vậy bạn không phải kiểm tra mọi cảm biến vân tay của nhà sản xuất Android khác nhau. Các nhà phát triển không phải sáng tạo lại bánh xe.

API Kiểm soát quyền truy cập vào tài nguyên

Các API cũng được sử dụng để kiểm soát quyền truy cập vào các thiết bị phần cứng và các chức năng phần mềm mà một ứng dụng có thể không nhất thiết có quyền sử dụng. Đó là lý do tại sao các API thường đóng một vai trò lớn trong an ninh.

Ví dụ: nếu bạn đã từng truy cập trang web và thấy thông báo trong trình duyệt của mình rằng trang web đang yêu cầu xem vị trí chính xác của bạn, trang web đó đang cố sử dụng API vị trí địa lý trong trình duyệt web của bạn. Trình duyệt web hiển thị các API như thế này để giúp nhà phát triển web dễ dàng truy cập vị trí của bạn - họ chỉ có thể hỏi “bạn ở đâu?” Và trình duyệt thực hiện công việc khó khăn khi truy cập GPS hoặc mạng Wi-Fi lân cận để tìm vị trí thực của bạn.

Tuy nhiên, trình duyệt cũng hiển thị thông tin này qua API vì có thể kiểm soát quyền truy cập vào API. Khi một trang web muốn truy cập vào vị trí thực tế chính xác của bạn, cách duy nhất họ có thể truy cập là thông qua API vị trí. Và, khi một trang web cố gắng sử dụng nó, bạn - người dùng - có thể chọn cho phép hoặc từ chối yêu cầu này. Cách duy nhất để truy cập các tài nguyên phần cứng như cảm biến GPS là thông qua API, do đó trình duyệt có thể kiểm soát quyền truy cập vào phần cứng và giới hạn những ứng dụng có thể thực hiện.
Tuy nhiên, trình duyệt cũng hiển thị thông tin này qua API vì có thể kiểm soát quyền truy cập vào API. Khi một trang web muốn truy cập vào vị trí thực tế chính xác của bạn, cách duy nhất họ có thể truy cập là thông qua API vị trí. Và, khi một trang web cố gắng sử dụng nó, bạn - người dùng - có thể chọn cho phép hoặc từ chối yêu cầu này. Cách duy nhất để truy cập các tài nguyên phần cứng như cảm biến GPS là thông qua API, do đó trình duyệt có thể kiểm soát quyền truy cập vào phần cứng và giới hạn những ứng dụng có thể thực hiện.

Nguyên tắc tương tự này được sử dụng trên các hệ điều hành di động hiện đại như iOS và Android, nơi ứng dụng dành cho thiết bị di động có quyền có thể được thực thi bằng cách kiểm soát quyền truy cập vào API. Ví dụ: nếu nhà phát triển cố truy cập máy ảnh qua API máy ảnh, bạn có thể từ chối yêu cầu cấp quyền và ứng dụng không có cách nào để truy cập vào máy ảnh của thiết bị của bạn.

Các hệ thống tệp sử dụng quyền - như chúng thực hiện trên Windows, Mac và Linux - có các quyền đó được API hệ thống tệp thực thi. Một ứng dụng điển hình không có quyền truy cập trực tiếp vào đĩa cứng vật lý thô. Thay vào đó, ứng dụng phải truy cập các tệp thông qua API.

API được sử dụng để liên lạc giữa các dịch vụ

API cũng được sử dụng cho tất cả các loại lý do khác. Ví dụ: nếu bạn đã từng thấy đối tượng Google Maps được nhúng trên trang web, trang web đó đang sử dụng API Google Maps để nhúng bản đồ đó. Google trưng ra các API như thế này cho các nhà phát triển web, những người có thể sử dụng các API để cắt các đối tượng phức tạp ngay trên trang web của họ. Nếu các API như thế này không tồn tại, các nhà phát triển có thể phải tạo bản đồ của riêng mình và cung cấp dữ liệu bản đồ của riêng mình để đặt một bản đồ tương tác nhỏ trên trang web.

Và bởi vì đó là một API, Google có thể kiểm soát quyền truy cập vào Google Maps trên các trang web của bên thứ ba, đảm bảo họ sử dụng nó một cách nhất quán thay vì cố gắng nhúng một khung hiển thị trang web Google Maps một cách lộn xộn.

Điều này áp dụng cho nhiều dịch vụ trực tuyến khác nhau. Có các API để yêu cầu dịch văn bản từ Google Dịch hoặc nhúng nhận xét hoặc tweet trên Facebook từ Twitter trên một trang web.

Tiêu chuẩn OAuth cũng xác định một số API cho phép bạn đăng nhập vào trang web bằng dịch vụ khác - ví dụ: sử dụng tài khoản Facebook, Google hoặc Twitter để đăng nhập vào trang web mới mà không cần tạo tài khoản người dùng mới cho trang web đó. API là các hợp đồng tiêu chuẩn xác định cách các nhà phát triển giao tiếp với một dịch vụ và loại đầu ra mà các nhà phát triển mong đợi sẽ nhận được.

Nếu bạn đã vượt qua điều này, bạn sẽ có ý tưởng tốt hơn về API là gì. Cuối cùng, bạn không thực sự cần biết API là gì trừ khi bạn là nhà phát triển. Tuy nhiên, nếu bạn thấy một nền tảng phần mềm hoặc dịch vụ đã thêm các API mới cho các phần cứng hoặc dịch vụ khác nhau, các nhà phát triển sẽ dễ dàng tận dụng các tính năng như vậy.

Đề xuất: